When software takes its cues from nature
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.
For natural computing, evolution offers another mechanism – this time for ideas or solutions to “breed” through software.