Ant hills are an unlikely source of inspiration, but some large organisations are developing biologically-based techniques in the drive to deliver a competitive edge to IT systems in cut-throat markets. Danny Bradbury reports on how nature can supply some new answers to old problems
You might wonder what IT could gain from emulating nature. Yet large corporations in the UK are already investing in research into biological computing to enhance their IT systems. Royal Mail is looking at immune systems as a way to highlight anomalies and detect fraud, while BT sees studying the behaviour of ants as a source of routing algorithms.
Using biological characteristics found in the natural world as a means of enhancing software has existed as a concept since the 1940s, when neural networks were proposed as the basis for artificial intelligence. It is only in the last few years, however, that links between algorithms found in nature and computer software have fuelled commercial interest.
Most of these techniques exhibit similar traits at an abstract level, explains Ken Lodding, a scientist who is designing biological algorithms for fault-tolerant computing at Nasa. "In certain cases you need a mathematical calculation to the nth degree, but when you are doing searches or certain other actions you basically need a good enough answer," he says. "That is what we do as human beings, and that is what I believe will come out of biological models. They are not hard-core logic."
Instead, the logic in biological computing systems is decidedly fuzzy.
Lodding hopes that one day he will be able to apply his software to the next generation of Mars rovers, to avoid events such as the malfunction of the Java-based operating software on the Pathfinder Mars rover. Debugging a program on a machine 35 million miles away can cause major headaches. Lodding wants to build machines that can correct their own faults, by dividing functions into cellular software components which can take on certain functions, guided by in-built software "genomes".
The concept is similar to the development of an embryo, explains Lodding. "You start with a stem cell and then as the body grows your cells take on different tasks because they have the appropriate gene structure. We are emulating that in the software," he says.
If one or more cells responsible for a particular function fail, others can take over, making the machine more autonomous.
This approach resonates with developmental algorithms, which are Richard Tateson's core area. Tateson, a senior researcher in BT's Pervasive ICT Research laboratory and a doctor in developmental biology, says biological computing is finding real-world applications in commercial fields.
Ant algorithms are particularly promising, he says. Also known as stigmergy, it works by letting agents affect their environment rather than communicating with each other directly. "Real ants leave a pheromone trail that can be followed by others. The more ants that follow it, the stronger the trail. They head directly back to the nest when they find it so the trail gets stronger," he explains. "This is very interesting to telecoms companies because of the path-finding and routing algorithms that you can apply them to."
Likewise, evolutionary computing, at the simplest level, attempts to solve problems by testing many randomly-generated solutions and scoring them based on their success. The solutions that get the best scores stay in the game while those that fail are killed off, in a process similar to Darwin's natural selection. Solutions that survive are bred together, creating newer, stronger solutions, until a handful of final candidates remain. In this way, it progresses to quality output.
This, along with other biological algorithms, lies at the heart of Galapagos, the aptly-named optimisation tool from UK-based start-up CodeFarm. Managing director Jeremy Mabbitt explains that the product is divided into two parts: a Java 2 Enterprise Edition-based server set up to optimise a grid of client PCs; and a workbench product designed to create evaluation scenarios. Investment house KBC Financial Products has been using the evolutionary algorithm software to evaluate potential portfolio mixes of convertible and derivative financial products. Previously it used a manual approach in which combinations of numbers were crunched in an Excel spreadsheet.
Another promising area in which biological computing techniques are being applied is in the detection of fraud. Visa has been using neural networks to identify credit card fraud since 1994, when it created its Cardholder Risk Identification Service. This service was replaced late last year with the Falcon neural networking product from US company Fair Isaac, which offered a better neural networking model tailored for credit card fraud. Rebranded as Visor, the product is already proving three-and-a-half times more effective than its predecessor, says the credit card company.
Robert Littas, senior vice-president in fraud management for Visa, explains that neural networks train themselves using high-volume data to enhance accuracy, but it can only ever be used as an indicator for further investigation. "For us, what is important is to identify a particular transaction. The neural network will not tell you that something is absolutely a fraud," he says. "Instead, it scores an input, and the higher the number the greater the chance. The banks receive the score and then take appropriate action."
Royal Mail has taken a different approach to fraud detection, concentrating on a much newer biological computing theory called computational immunology pioneered by Stephanie Forrest, a professor in computer science at the University of New Mexico. This uses software to mimic the characteristics of the human immune system. Mary Wilde, a security researcher at Royal Mail, has applied the techniques to sifting through the large amounts of transactional data from branch post offices to highlight anomalies using the software equivalent of white blood cells.
Richard Overill, senior lecturer in computer science at King's College London, was heavily involved in building the system. The underlying concept focuses on the idea of self, he explains. The system has to learn what "self" is by analysing data that is known to be non-fraudulent. When a good stable representation of self is achieved, you can start introducing transactional data with a mixture of good and bad behaviour, and hope that the software agents programmed into the system will recognise that some of these events are not in its self profile.
If anything, the trial of the system produced too many results, says Wilde, and many of them are false positives. "Translating them into business-speak and business transactions is tricky. We have to do a lot of work on assessing the results so that the interesting ones float to the top."
Nevertheless, Overill eschewed the neural network concept in favour of immunology because he wanted more detail in his results. "We know that banks detect fraud with neural networks but they don't explain to you which transaction it was or what was wrong with it," he explains. "Neural networks are no good for auditing and forensic analysis."
The biggest tension for IT professionals lies in moving from formal computing, in which the steps leading up to a result are intimately prescribed and understood, to biological algorithms that work in the realm of logical "fuzziness" and probabilities. Lodding dreams of a time when tiny computational cells built into the wing of an aeroplane can make localised decisions using developmental biological algorithms.
Nature's role in the world of IT may be relatively limited now but the commercial world is always looking for something new to give it the competitive edge.
Autonomic computing - learning from the body to self-heal
IBM's autonomic computing initiative is still in its early stages, but it takes some ideas from the natural world and puts them into hardware and software form. Drawing on the idea of the central nervous system, which passes data about the condition of the body to the brain, autonomic systems will be self-healing, self-optimising and self-protecting, say IBM researchers. But it is unlikely that autonomic computing will do away with the need for human intervention. "The autonomic idea comes from the body. There are certain things the body can take care of itself, but you have to go to the doctor for other things," says Adel Fahmy, programme director for autonomic computing core technologies at IBM.
Hackers find a natural source for viruses
Viruses and worms are at the centre of the map when it comes to biological algorithms. The concept of reproduction and replication that mirrors biological viruses has been a mainstay of computer viruses since the first one appeared for the Apple II in 1982. Since then, virus writers have embraced the biological metaphor with increasing enthusiasm, creating polymorphic viruses that mutate their own code. Pete Simpson, threatlab manager of content security company ClearSwift, draws attention to Serotonin, a type of worm written by a Czech virus writer in late 2002 which uses genetic techniques. The worm uses a theoretical peer-to-peer network called "wormnet" to exchange code with other copies of itself online, mutating pairs of code into new, single forms. The worm, which is currently available as source code but has not yet been deployed in the wild, also evolves in new environments. Copies of itself die out if their mutated code cannot spread, leaving survivors to replicate themselves onto new networks.