ENZYMES, amino acids and genes are not normally in the computer geek鈥檚 vernacular. But that could all change with the start of the next revolution in computer hardware and software-which some scientists say could be a biological one.
The aim is to produce self-managing, self-repairing computers that become smarter by continually evolving their own intelligence centres. They could even end up smarter than their designers.
But why emulate biology to produce more intelligent computers? Computer scientists are beginning to realise that if they want to produce computers anywhere near as complex as the human brain, then copying biology is their best bet, says artificial intelligence expert and author Ray Kurzweil, of Kurzweil Technologies in Massachusetts. Peter Bentley, a computer scientist at University College London, agrees: 鈥淚f you don鈥檛 resort to biological methods then it鈥檚 like proceeding blindfold with both hands tied behind your back.鈥
Advertisement
So research teams at computer companies and in universities are taking crash courses in biology. Only last week, IBM said it was redoubling its efforts to create 鈥渁utonomic鈥 computers, complex machines capable of 24/7 crash-free operation using biologically inspired self-management processes. But this is very much a wishlist thing: even Big Blue admits it has no answers to autonomic operation just yet.
However, some researchers are making progress. Take Michael Lones and his team at the University of York, who have taken a small step towards computers like this. Mimicking the biochemistry of genes and proteins, his software is able to evolve into an optimum form. The approach is thoroughly Darwinian: elements of the program that work best survive while those that don鈥檛 work are discarded.
In biology, each gene on a strand of DNA produces a different protein. Some of these are enzymes-proteins that have a catalytic function in the working of the cell. Lones鈥檚 idea is to create a range of 鈥渟oftware enzymes鈥, each one coded by its own software gene. Each enzyme functions as a logic gate, like the boolean AND and OR gates that form the building blocks of all microprocessor circuits.
Like biological enzymes, the software enzymes are very choosy about what other parts of the system they interact with. For example, one enzyme might function as an AND gate that only links to other AND gates, while another enzyme might be an AND gate that always links to one AND enzyme and two OR enzymes.
These software enzymes are packaged together in 鈥渃ells鈥, each containing a collection of dozens of genes-its 鈥済enome鈥. Just as in biological systems, only some genes are switched on and able to produce an enzyme.
Lones starts with cells containing randomly generated software genomes. Pairs of cells are allowed to breed together, and the resulting cells are tested to see how well they perform the desired computation. The aim is to end up with a genome that produces a handful of enzymes which link together to perform a basic computational operation such as multiplying two numbers together. The best performers are then repeatedly bred with each other until a perfect arithmetic multiplier emerges.
Lones has other examples of biological analogies. Just as the shape of a real enzyme determines which genes or enzymes it interacts with, so the software enzymes have a 鈥渟hape鈥 that dictates which other enzymes they link up with.
And just as some biological genes can regulate other genes, so some of the software genes can switch other software genes on or off. These characteristics make Lones鈥檚 system different from standard genetic algorithms which lack this ability.
Lones eventually hopes to link his cell-like programs and create more complex evolving programs. 鈥淚nstead of evolving a single cell, something more akin to a tissue could be evolved,鈥 he predicts.
