At the forefront of Artificial Intelligence
  Home Articles Reviews Interviews JDK Glossary Features Discussion Search
Home » Articles » Artificial Life » Beginner

An Introduction to Artificial Life

Artificial Life, or ALife, is the attempt to get computers to accurately model the ways and practises of nature. As you can tell from this definition, not only is ALife a large domain, it overlaps very much with Artificial Intelligence. So much so, in fact, that ALife deals with various aspects of AI (such as genetic algorithms), and AI deals with various aspects of Alife (such as flocking).

Introduction to ALife

Alife and AI coexist together very well. ALife looks at algorithms that can mimic nature and it ways -- cellular automata, simulation of group behaviour (ants, for example) -- whereas AI tends to look at mimicking (creating?) human intelligence.

Cellular Automata

A prime area of ALife is that of Cellular Automata (CA). The best definition of CA I've found so far is as follows:
"...A regular spatial lattice of "cells", each of which can have any one of a finite number of states. The state of all cells in the lattice are updated simultaneously and the state of the entire lattice advances in discrete time steps. The state of each cell in the lattice is updated according to a local rule which may depend on the state of the cell and its neighbors at the previous time step..." From FOLDOC.
There are two very good examples of CAs. Wolfram's 1D CA, and Conway's Life, a 2D CA.

Wolfram's 1D-CA

Wolfram was a genius for his age, and he showed how incredible complexity could come out of a simple rules and simple structures. Wolfram created a program where each of the cells were either on or off (dead or alive). It started off with an initial configuration (either one cell, or a random stream of them), then the cells beneath the initial line are determined by the previous line. There are eight possible combinations for Line A that will determine Line B - 000, 001, 010, 011, 100, 101, 110, 111. The results are dependent on the rule set (there are 256 possiblities).

Recently (23/8/99), I created a Windows 95 program that allows you to create your own 1D CAs. The program can generate some very interesting results, and can generate results both from a point and a line. This program replaced the old Wolfram Pascal program I'd created.

Conway's Life

A good example of ALife is the classic program, Conway's life. The Life system will eventually stabilize, either by dying out completely, or by an equilibrium point being established.

Conway's Life has a few more interesting aspects to it though. There is a certain pattern of cells called a glider. Gliders are cells that will, after a few life-cycles, repeat themselves, but in a different position. The most common glider is shown to the left. Enter this pattern into the Multilife program and you will see the recurring pattern. What's so important about gliders? They do math! The explanation behind all of this is rather complicated, and beyond the scope of this essay. But gliders can be aligned in such a way that they can perform bit-wise operators like AND, OR, NOT, XOR etc. More complicated functions often take very complicated aligning etc, but they are possible. So, a simulation following extremely simple rules can yield incredibly complicated results. This is the ALife equvalent to Turing Machines.

For an interactive Java simulation of life, check out Multilife.


Another area Alife covers it that of animal behaviours. Finding mathematical formulas behind behaviour. The most famous study of behaviour was Craig Reynolds' Boids - a program that simulated flocking to an incredibly realistic extent. Again, the program used 3 very simple rules, yet yielded incredibly realistic behaviour. The rules were:
  • Separation: Steer to avoid crowding local flockmates.
  • Alignment: Steer towards the average heading of local flockmates.
  • Cohesion: Steer to move towards average position of local flockmates.
You can find an more complicated example of flocking based on Boids here.

The Philosophies

Just where does ALife begin and Artificial Intelligence end? Will Artificial Intelligence come naturally if Artificial Life is successfully created? Does Artificial Intelligence constitute Artificial Life? These are three questions that have been with ALife and AI since they were first conceived.

Will Artificial Intelligence come naturally if ALife is created? Perhaps, perhaps not. Successfull is so subjective, and the question of intelligence has been a philosophical question that has plagued AI since its foundations.

The question of whether AI is ALife is interesting. Imagine an artificially intelligent program the doesn't simulate any of the natural processes of life, yet shows the ability to cognitively understand human speech, make completely autonomous decisions, possibilty even simulate emotions - would that constitute life? Some would say yes, some no. These areas in Alife are where ALife/AI meet morals, ethics and politics.

Last Updated: 24/02/2000

Article content copyright © James Matthews, 2000.
 Article Toolbar
BibTeX entry


Latest News
- The Latest (03/04/2012)
- Generation5 10-year Anniversary (03/09/2008)
- New Generation5 Design! (09/04/2007)
- Happy New Year 2007 (02/01/2007)
- Where has Generation5 Gone?! (04/11/2005)

What's New?
- Back-propagation using the Generation5 JDK (07/04/2008)
- Hough Transforms (02/01/2008)
- Kohonen-based Image Analysis using the Generation5 JDK (11/12/2007)
- Modelling Bacterium using the JDK (19/03/2007)
- Modelling Bacterium using the JDK (19/03/2007)

All content copyright © 1998-2007, Generation5 unless otherwise noted.
- Privacy Policy - Legal - Terms of Use -