ENZYMES, amino acids and genes are not normally in the computer geek’s 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: “If you don’t resort to biological methods then it’s 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 “autonomic” 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’t 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’s idea is to create a range of “software 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 “cells”, each containing a collection of dozens of genes-its “genome”. 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 “shape” 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’s 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. “Instead of evolving a single cell, something more akin to a tissue could be evolved,” he predicts.
