Artificial Life

Artificial life - or "A-life" - is a relatively new branch of science that melds the highest levels of computing and biology. For some programmers, the goal is to come up with a superior form of AI by building software models of the smartest computer currently known, the brain, and seeing if those models can learn and adapt their behaviour as we can. Others approach it in a different way believing that computers can be useful for simulating biology.

MacFormat - November 1996

The first ever manifestation of artificial life was John Horton Conway's Game of Life in which the life or death cells in a grid were controlled a few simple rules:

  • if a cell has less than two neighbours or more than three it dies
  • if a cell has two neighbours it survives
  • if a cell has three neighbours it lives

May interesting patterns have been seen over the years but to model a single-celled creature with these rules would require a grid measuring an estimated one million by one million cells. Systems which use this grid and rule approach are called cellular automata. SimCity falls into this category although it uses far more complicated rules than the Game of Life.

Cellular automata can seem far removed from the real world but other are much closer to home. Neural networks promise better artificial intelligence by borrowing from the structure of the organic brain. An individual neurons act on signals from other neurons, either firing or not firing. Each neuron can either excite or inhibit other neurons. Stable patterns of activity appear in response to input given from outside the system. These patterns represent memories recorded as the connections between neurons. New memories may be laid down by changing the strengths of connections between neurons. New input patterns will be associated with similar input patterns the network has been taught in the past. This allows neural networks to generalise from past experience and cope with unique situations.

The theory of evolution has also provided a suitable crop of ideas. Imagine a computer which starts empty except for a single small program. The program, called the Ancestor, is 80 bytes long and can do one thing, make copies of itself. Soon the limited memory is full with Ancestors all producing more copies so, to free up space, the computer occasionally destroys older programs or those that cause errors. The operation of the computer is not perfect and sometimes copying goes wrong and a new program appears. This computer is not fiction, it is called Tierra. When it was first switched on the population grew and changed. The Ancestor program was soon ousted by a faster program with only 78 bytes. Later a program with 48 bytes appear which survived by parasiting the code of its neighbours. On a later occasion Tierra threw up an individual which could survive independently with an amazing 22 bytes. Built safely as a simulation inside another computer, there is fortunately no danger of an escape.

Here are some other artificial life resources available on the web: