When software takes its cue from nature

Date: 04 Feb 2013


by Claire O'Connell, The Irish Times

How can foraging ants inform computer searches? How could the human immune system provide the means to spot money-laundering activities? And how could the mechanics of evolution stop phone signals being dropped or help someone to design a bridge? Through natural computing, that’s how, where software takes its cues from nature.

“Natural computing involves the use of inspiration from natural phenomena to design software which we can apply to solve dynamic and real-world problems,” explains Prof Anthony Brabazon, who co-directs the Natural Computing Research and Applications Group at University College Dublin.

“Over the last 10 to 15 years, natural computing really has matured, and with the growth of computer power you are now seeing the relatively wide application of these techniques to industrial problems.”

Not immune to recognising patterns 

One area where software can learn a few tips from biology is in how the immune system recognises patterns of “self” and “non-self” and has a memory of previous threats, explains Brabazon, who is also professor of accountancy at UCD’s School of Business and a principal investigator on the Science Foundation Ireland-funded Financial Mathematics and Computing Cluster (FMC2).

“We can take some of the workings of the immune system to design software that can distinguish good and bad credit risks,” he says.

“So if someone is coming to a bank looking for a loan, are the financial criteria they are presenting similar to loans which have been repaid fully in the past, or are they sufficiently different from previous good loans that the bank should be a wary about extending credit.”

The immune system model’s ability to recognise patterns of “non-self” or threat is also handy when people are trying to foil it, as in the case of money laundering or unleashing computer viruses, notes Brabazon.

“You could expect that novel ways of engaging with money-laundering or novel attack mechanisms by computer viruses will emerge over time as the people who design these things will try to design around your existing defences,” he says.

“So your system can’t simply respond to known threats, it also has to have a capability to adaptively learn and respond to potential threats.”

Leaving a trail 

Another model borrowed by natural computing is the “swarm”, where an individual entity may not have enormous intelligence but when signals are communicated to the collective the right way, the result can be powerful. Brabazon cites ants as an example.

“Each ant has a relatively limited cognitive processing ability, yet if you look at the behaviour of ant colonies they are incredibly intricate . . . you have emergent behaviour that arises from the interaction of individual ants with each other.”

Through their foraging behaviours, ants can lend a few pointers to search software, he notes.

“When ants leave the initially they search relatively randomly. But if they find a very strong food source, when they are carrying a bit of that back to the they deposit chemical signal on their inward track, then when subsequent ants leave the mound, they are more likely to follow chemical trails laid by previous ants.”

Great, but how do you use that to solve a more human problem? If you are looking for a strong source of information, you could have hypothetical software “ants” searching and leaving trails when something useful is found.

“ is somewhat random but is probabilistically going to go along trails that have worked well in the past and explore those,” says Brabazon.

Evolution solution 

For natural computing, evolution offers another mechanism – this time for ideas or solutions to “breed” through software.

“By harnessing the essence of evolution in software, we can effectively breed solutions to problems,” explains Dr Michael O’Neill.

He co-directs the NCRA at UCD, where researchers have been working with companies to apply genetic algorithms to computer game design.

One project sought to “breed” interesting behaviours in characters in games, while another generated more realistic animations of quadrupeds such as horses in games and films, where the individual animals in a crowd don’t look or act too alike.

The evolutionary approach could even be applied to help generate new creative ideas for designing structures such as buildings or bridges, explains O’Neill.

“We are working with colleagues in MIT and UCD to come up with a design tool for architects or engineers to help them create interesting designs,” he says.

“Computer science is often used to optimise solutions to things – so if you have a bridge where you want to optimise the support so it is strong enough to do the job required, but there’s an aesthetic part too.

“So we are creating interactive tools where the artificial evolutionary process automatically breeds structurally feasible designs and then presents these to the designer.”

From these, the designer can select “parent” designs and those designs breed to produce “children” designs and on it goes through the generations, he explains.

“It means the designer interacts with the software driving the aesthetic evolution by using a form of ‘survival of the prettiest’ as the human designer selects designs where they like the appearance, ensuring both aesthetic and functional features are addressed during optimisation.”

Managing energy: The evolution of a more power-friendly network 

As consumers, we expect a network signal to work when we want it to. But for providers, keeping that signal sweet without hogging an enormous amount of expensive energy requires some computational deftness.

In a complex environment such as an office block, the wireless or network signal might be boosted by base stations distributed around the building, but there’s a need to balance their energy use, explains Dr Michael O’Neill , co-director of the Natural Computing Research and Applications Group at University College Dublin.

“Part of the problem is coming up with the software to manage the power in these base stations so they can handle the load that they need to, but they can dynamically minimise the amount of energy they use if there’s no-one around.”

The NCRA is collaborating on the issue with Alcatel-Lucent Bell Laboratories in Blanchardstown. They are using a form of genetic programming called “grammatical evolution”, which evolves the genetic code of a computer program to automatically optimise the power in the base stations according to need.

Optimisation programs 

“Genetic evolution approaches allow not only the optimisation of parameters, but the automatic creation of new computer programs – as a result, these methods can potentially remove the human involvement in the creation of optimisation algorithms and programs,” explains Dr Holger Claussen, who heads the Autonomous Networks and Systems Research Department at Bell Labs Ireland.

He sees a wider application for the genetic programming approach in solving other optimisation problems too.

“Automating the creation of optimisation programs provides much more flexibility and allows products to be better customised to the customer’s demand in a cost-effective way,” he says.

“In the future, such capability could even enable that network components or other products rewrite their own optimisation code, based on the owner’s objectives, while they are deployed and operating.”

 


back to News