Artificial Life relates to Biology in much the same fashion that Artificial Intelligence relates to Psychology. The goal of artificial life, or ALife, is to provide a different focus for researchers in biology. Rather than emphasize an analytic approach - attempting to understand the complex phenomena of life by breaking them down into simpler units - ALife offers a synthetic perspective - it begins with simple rules and concepts, and combines them to see what complex phenomena are produced. What is surprising, and what has helped legitimize ALife as a research pursuit, is how accurately computer models developed through this methodology have reflected our observations of biological life. An example may help clarify what it is we mean when we talk about combining simple rules in computer simulation to acheive life-like results.
In 1986, Craig Reynolds developed a computer
program which, while not the first of its kind, became nonetheless an immensely
popular example of ALife. His program was a simulation of a flock of birds,
though it has been adapted to look like a herd of zebra, or a school of fish,
as well. Each bird was guided by a few very simple rules:
Using these four intuitive rules, Reynolds created the bird/zebra/fish creatures, which he called 'Boids'. What makes the boids so appealing to ALife researchers though, is that the behaviour generated is strikingly lifelike. In order to see this for yourself, we have provided links to Java applets which recreate the boids program, as well as movies made by ALife researchers, of actual animal groups engaged in similar flocking/schooling behaviour. ALife researchers point to these similarities as a proof that ALife can produce meaningful results. It allows science to ask whether biological animals are indeed following similar rules and if so, conventional biology can begin looking for the origins of this behaviour.
As a further interesting note, the same flocking ideas were used by Disney animators in the making of their hit movie: The Lion King. Early in the story, a wildebeest stampede kills the old king. This stampede was computer animated, and each of the wildebeests followed Reynolds' four rules.
We have seen now that ALife can provide interesting and potentially fruitful models of animal behaviour through computer simulation. An area that may prove equally fruitful though, is the reverse process - applying biological principles to computers. ALife researchers have been the ones to develop this reverse concept known now as Evolutionary Computing, and the related discipline of Genetic Algorithms (GA), which uses evolutionary principles to build smarter computer programs. Researchers observed that in the realm of biology, individuals develop very complex and successful structures and behaviours with only the rule of Survival of the Fittest to guide them. They reasoned that perhaps a similar process could be applied to computers, where programs or simulations are allowed to mutate and breed, and the best individual traits combine to form more and more successful individuals. Like the boids, a simple idea has spawned some complex, and exciting results.
A very straightforward example of this idea is some work done by Jeffrey Vantrella in his Sexual Swimmers project. Here he was not using Evolutionary computing to solve a real world problem, his work is more a demonstration that simulating evolution is possible. He created a simulated pond and in it placed a bunch of randomly generated creatures made up simply of several lines and the ability to move them. Food was scattered through the pond, and the creatures had to acquire it in order to gain the necessary energy to move, live and reproduce. This simple environment would thus favour creatures that could move efficiently, since they would find more food sources and mates, and waste less energy. Indeed, Vantrella found that the poorly designed swimmers died off quickly, and after several generations, the swimmers were sleek and efficient. The article itself covers a lot of material that may not be of interest to casual readers, but Section 7 (if link fails, click here for local copy) details the evolution of the swimmers, including several helpful illustrations.
A real-world example of this is the work done by Peter Senecal at the University of Wisconsin. His work centered around the job of developing a better design for an internal combustion engine. Such engines have thousands of variables that can be manipulated, and finding a better combination of factors has until recently been a very time consuming and complex enterprise. What Senecal did was extract 6 key features of an engine's design, and put evolutionary computing to work in finding a good combination. Just like Vantrella did with his swimmers, Senecal developed a simulated engine, and did extensive tests to ensure that the simulation matched the performance of a real world engine closely. He started with 5 individuals (where Ventrella's initial populations were in the hundreds), 4 of which had just been given random values for the 6 factors, and the 5th of which was a representation of the best current engine design available. Using his simulation, he then evaluated the five, and allowed the best two to 'breed', combining their values, and producing offspring that resembled their parents, with some mutations introduced as well. The process was then repeated with the new population, and then again with their offspring, and so on. Just as in biological evolution, each population was tested, the fittest surviving, the failures dying off. What makes the results so impressive is that after running this evolution of engines simulation for just a few weeks, it produced an engine that "reduced nitric oxide emissions by three-fold and soot emissions by 50 percent over the best available technology. At the same time, the model reduced fuel consumption by 15 percent." Evolutionary computing is no computer scientist's toy, it is a powerful way to find good solutions. For an article describing Senecal's work, click here (if link fails, click here for local copy).