![]() ![]() |
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).
"...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 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 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.
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