See Copyright and Usage Notice
We Are Not Alone: Artificial Life Growing on the Internet
Living things are so much part of the inspiration of our language, philosophy, science, art and very thought patterns that they were bound to be represented in Cyberspace. We are part of the Earth's biosphere, so by putting ourselves into Cyberspace as avatars, we are introducing a small representation of the Earth's biota into digital space. But what happens when we introduce a little more of that biota? In this section we will review some of the forms of digital biota emerging in Cyberspace. Much of these biota are actually pretty simple mathematical rule sets that mimic living processes. But perhaps real life is just an matter of the scale of complexity. As these simple forms grow into more complex systems feeding off computer resources and our attention spans, perhaps we will some day see something really "alive" and really digital.
In this section we will look at several life simulator systems you can find online:
- Mathematical Life Models
- Synthetic Ecosystems: the Virtual Terrarium
Mathematical Life Models
John Conway's Game of Life
Figure 13.4.1: conlif1.jpg
The Great Grandaddy of Artificial Life: Conway's Game of Life in action on the Web
The Game of Life was invented by John Conway back in the 1960s and has been described and implemented thousands of times since. Billions and billions of iterations of Conway's life have been played in the past three decades, even hosting competitions to generate familiar patterns like spaceships. The above image is from Alan Hensel's great Java Game of Life available at the website address listed below. The recent arrival of the Java programming language on the World Wide Web has lead to an entire ecosystem of approaches to Conway's life all playable by you with your Java enabled Web browser. The following description of Conway's Game of Life rules is courtesy Paul Callahan (whose great web pages on Conway's Life are listed below).
The game is played on a field of cells, each of which has eight neighbors (adjacent cells). A cell is either occupied (by an organism) or not. The rules for deriving a generation from the previous one are these:
- Death: If an occupied cell has 0, 1, 4, 5, 6, 7, or 8 occupied neighbors, the organism dies (0, 1: of loneliness; 4 thru 8: of overcrowding).
- Survival: If an occupied cell has two or three neighbors, the organism survives to the next generation.
- Birth: If an unoccupied cell has three occupied neighbors, it becomes occupied.
See Paul's Pages full of Conway's A-Life at: http://www.cs.jhu.edu/~callahan/lifepage.html and Alan Hensel's fast and powerful Life Java applet at: http://users.vnet.net/alanh/life/.
Self Reproducing Cellular Automata Loops
Figure 13.4.2: bi4c.jpg
Cellular Automata growin on the Web
In the same vein as Conway's Game of Life, are a whole slew of Cellular Automata (CA) programs available through the Web. The one shown here is by Chris Osborn of Softrise Limited. It is a configurable CA program written in Java and runs inside your Web browser (Netscape Navigator 3.01 or Internet Explorer 3.0). Like Conway's Game of Life, cellular automata are like tiny organisms that check the state of adjacent cells (or pixels in this case) to decide whether to grow there.
The CAs shown here remind my of Chris Langton's first "Artificial Life" programs he created fifteen years ago on an old Apple II computer. See Steven Levy's book Artificial Life listed in our Bibliography for a great description of the beginnings of the A-Life movement.
Drive the cellular automata loops yourself at: http://ourworld.compuserve.com/homepages/cdosborn/
Robert Silverman's Live Artificial Life Page
Figure 13.4.3: swarm2.jpg
Composite of Swarm images from Live Artificial Life Page
Robert Silverman has pulled together a first class set of Mathematical Life Models on his homepage at: http://alife.fusebox.com/cb/alife.html. This is a very complete compendium of running demonstrations, including Swarm (pictured above) which allows you to select the number and size of critters that then attempt to find each other and swarm together and fly off. Planet Wa-Tor, another Silverman simulation, pits rabidly hungry sharks against rapidly reproducing fish as seen in the following figure. Schools of green fish soon give way to marauding sharks which then starve and the fish return. These kind of sustainable cycles are common in on-line A-life ecosystems which can literally go on forever.
Figure 13.4.4: wator1.jpg
Planet Wa-Tor with its fish and sharks in competition
Craig Reynold's Boids
Figure 13.4.5: boids1.jpg
Boids flocking together through Craig Reynold's great Java applet
Craig Reynolds has been fascinated with coordinated animal motion such as bird flocks and fish schools. Since 1986 he has been creating models of this behavior in software he calls Boids. Boids has been used as an inspiration and starting point for lifelike special effects, particularly the bat swarms in the feature motion pictures Batman Returns and Cliffhanger as well as the wildebeest stampede in The Lion King.
In his on-line Boids simulation, the following three simple rules drive the behavior of each individual in the flock:
- Steer to avoid getting to close to neighbors.
- Steer to keep on the average heading of the flock.
- Steer to stay near the average position of the neighbor.
See how Boids runs with these simple rules and read about the theory and thinking behind it at: http://hmt.com/cwr/boids.html.
Craig tells us that flocking is a particularly evocative example of emergence: where complex global behavior can arise from the interaction of simple local rules.
Many Artificial Life researchers, especially those concerned with learning and adaptation, endow their organisms with a neural network which serves as an artificial brain. Neural networks can function as learning algorithms and may be trained. A typical task of neural networks is to recognize and correlate images such as human handwriting.
A neural network is composed of a collection of input-output devices, called neurons, which are organized in well connected network. In this network, there is an input layer which receives sensory input, a number of hidden layers which perform computations, and an output layer through which the results of these computations are reported. Neural networks can be trained by adjusting the strengths of the connections between neurons (so that they can carry different levels of signal or symbols).
The Nerves project described in the section The Synthetic Ecosystems of Biota.org later in this chapter is an effort to provide neural networks for virtual worlds and avatars. Neural networks are also used in the PolyWorld system described in the next section.
Synthetic Ecosystems: the Virtual Terrarium
Synthetic ecosystems are where mathematical life models like those described in the previous section are put to the test in a large scale. Imagine thousands or millions of simple forms based on cellular automata or neural networks going at it in a shared virtual world full of food, predators and other hazards. Also imagine that these forms mate and mutate, like creatures in a real world colony. You will then have what we call a virtual terrarium (or aquarium, for that matter). We will describe two such terraria below. A third terrarium, Nerve Garden, will be shown in the next section in this chapter The Synthetic Ecosystems of Biota.org.
Tom Ray's Tierra
Figure 13.4.6: tierra1.jpg
ALmond interface showing Tierra in Operation
The Tierra Synthetic Life program developed by Tom Ray and the Artificial Life Monitor (ALmond) program by Marc Cygnus simulate creatures in digital primordial soup. Tierra is run inside a virtual computer in order to protect the real computers it is running on from a hypothetical infection. The ecosystem of Tierra is a memory space filled by strings representing genomes, which seek to copy themselves, mutating in the process. The preceding figure shows us a view of this space, with each creature represented as a colored bar. In this scene, immune hosts are engaged in a battle with parasites, driving them into the top of the memory space.
Tom Ray has been working to run Tierra on thousands of machines throughout the Internet, creating a "digital biodiversity preserve". The goal of this preserve is to create a large environment for digital biota to evolve diverse and complex forms. Recently Tierra has also been represented in 3D using VRML.
Find the Tierra homepage at: http://www.hip.atr.co.jp/~ray/tierra/tierra.html and the VRML versions of Tierra at: http://www.construct.net/tierra/.
Figure 13.4.7: polyw1.jpg
Larry Yaeger of Apple Computer developed PolyWorld, a fully featured synthetic ecosystem in the early 1990s which is today still one of the most compelling examples of this medium. PolyWorld was featured along with Tierra in Steven Levy's book Artificial Life (listed in our Bibliography). Larry has kindly agreed to give us this description of his work:
PolyWorld is a computational ecology that I developed to explore issues in Artificial Life. Simulated organisms reproduce sexually, fight and kill and eat each other, eat the food that grows throughout the world, and either develop successful strategies for survival or die. An organism's entire behavioral suite (move, turn, attack, eat, mate, light) is controlled by its neural network "brain". Each brain's architecture--it's neural wiring diagram--is determined from its genetic code, in terms of number, size, and composition of neural clusters (excitatory and inhibitory neurons) and the types of connections between those clusters (connection density and topological mapping). Synaptic efficacy is modulated via Hebbian learning, so, in principle, the organisms have the ability to learn during the course of their lifetimes. The organisms perceive their world through a sense of vision, provided by a computer graphic rendering of the world from each organism's point of view. The organisms' physiologies are also encoded genetically, so both brain and body, and thus all components of behavior, evolve over multiple generations. A variety of "species", with varying individual and group survival strategies have emerged in various simulations, displaying such complex ethological behaviors as swarming/flocking, foraging, and attack avoidance.
You can download and try the PolyWorld Artificial Life System and Computational Ecology
see the http://pobox.com/~larryy/polyworld.html. You must have a Silicon Graphics workstation to run PolyWorld in its original form, though a pointer to an early version of a Macintosh port is provided on Larry's web site. Source code and executables are provided.
Will avatars venture here?
Both Tierra and PolyWorld would probably be very confusing places for human beings to venture. This is the realm of basic high speed and highly complex life processes. Future immersive video games may entice avatars into such worlds, where you are playing the role of mutator or mutated. More exciting is the prospect that these synthetic ecosystems could provide the very backbone of virtual worlds. Please find more on this in the section The Synthetic Ecosystems of Biota.org later in this chapter.
Some More Live Links
There is so much "A-Life" to explore on the Internet. These links provide a few more peeks.
Figure 13.4.8: bi4a.jpg
Sea Monkeys in their element
Sea Monkeys features a fluid drag and semi-realistic physics system containing 30 sea monkey models moving about with random motion. See it in the preceding figure and run it at: http://k2.scl.cwru.edu/~gaunt/java/SeaMonkeys/SeaMonkeys.html
Create your own beastie and follow its life cycle at Technosphere: http://tdg.linst.ac.uk/technosphere/index.html.
Morgan Media's Fish Tank is found at: http://morganmedia.com/m2/shock.html. You must have a Macromedia Shockwave plug-in installed in your Web browser to see this. Clicking on models of fish sends them into the tank. Some fish are carnivorous, and they eat the other fish. This is a very simple simulated 'ecosystem' but gives you a quick experience through the Web of something biologically inspired.
Artificial Life Online from the Santa Fe Institute is the Web companion to MIT's Artificial Life Journal. This extensive site lists events, publications and hordes of artificial life software for the Mac, PCs and Unix. Find it at: http://alife.santafe.edu/alife/
Amoebic Lifeforms - Amoeba simulations using Shockwave can be witnessed at: http://www.csad.coventry.ac.uk/~mep/amoebic.lifeforms/start.htm.
Rudy Rucker's Boppers, an inspired genetic algorithm system, is available from: http://www.mathcs.sjsu.edu/faculty/rucker/boppers.htm
Alife Garden from Japan at: http://alifegarden.com/ allows you to pick an organism and mutate it right on a Web page without special software other than your Web browser.
Find Craig Reynold's Artificial Life Links at: http://hmt.com/cwr/alife.html
Marco Maddenings Artificial Life Page is a great and updated links page at: http://www.wi.LeidenUniv.nl/home/mvdweg/alife.html.
Steven Rooke has provided us with one of the best reference sections to the people, ideas and further reading in the area of Artificial Life and Digital Biota at: http://www.concentric.net/~srooke/references.html.
University of Toronto Computer Scientist Demetri Terzopoulos has researched and published just about every topic in computer modeling, simulation, artificial life (including artificial fishes!). Taste a good slice of his work at: http://www.cs.utoronto.ca/~dt/.
A website in support of the Artificial Life newsgroups comp.ai.genetic and comp.ai.alife is at http://www.krl.caltech.edu/~brown/alife/.