Artificial Life: A Programmer’s Perspective

By ai-depot | August 23, 2002

ALife and Life

ALife and Life

John von Neumann, the father of cellular automata, was the first to propose a system that could replicate itself. He wanted to produce life like results from simple rules. His cellular automaton was an infinite grid with a starting pattern covering 200,000 cells. There were 29 possible states for each cell, different combinations of which determined the complete behavior of the system. The pattern can also be viewed as a fully defined organism containing sub-organisms to carry out specific tasks. For example, the “factory” received input from the environment and formatted them according to input from other sub-organisms; the “duplicator” copied instructions; and a control system to monitor the process. More abstractly, the system has a universal constructor and a supervisory unit, with the blue print – set of directions to construct the universal constructor and the supervisory unit - being completely embedded into the system itself. Following the blue print, the universal constructor builds a copy of the universal constructor-cum-supervisory unit, and then the supervisory unit simply copies the blue print (like data) onto the new system.

Self replicating system

Von Neumann’s self-reproducing cellular automaton is itself suggestive of the fact that building even the elemental blocks of real life processes are too difficult in a cellular automaton. We should first have some representation of the fundamental processes before we move on to create complex artificial life forms. These representations will mostly be the emergent objects or some combination of the objects. For this section, we will first have a look at some common Life objects and then try to find what Life is capable of.

Life objects can be broadly divided into two categories – still objects and moving objects (oscillators).

Still Objects

These objects stay the same generation after generation. Let’s look at a few of them.

The Block is a 2X2 solid square and is the most common still life object. Each cell in the square has three neighbors and so all of them survive. Boats, loafs, tubs, and beehives are some other examples of small still life objects.

The Eater is a very interesting still life object. It has the ability to destroy (eat) some types of objects and then repair itself to come back to its original structure. Two eaters positioned to attack each other will result in a tie - no one can destroy the other. The Block can also destroy some types of objects. An eater cannot “digest” a block

The R-pentomino was the first pattern found by Conway that couldn’t be simulated by hand. The R-pentomino stabilizes in 1103 generations, into rubble of other stable objects. Its stabilization may be hinting that all other stable objects are potentially existing in it but not evident.

Oscillators

These are objects that repeat themselves after a certain period.

A blinker is the simplest oscillator. It consists of three cells and rotates about the centre one. The toad is another simple oscillator.

The galaxy is a simple geometrical construct transforming into a flower, then into a spiral galaxy, and then reverting back to its original form.

The Clock II shows us how object interactions can be used. The blocks surrounding the clock restricts its growth at the edges.

A glider is a translating oscillator. Any intermediate stage of the glider is repeated after every four generation but with a diagonal shift of one cell. Emergent behavior (movement in this case) is very well demonstrated by the glider.

More objects

Queen Bee Shuttle

Combinations of still objects and oscillators can give rise to more complex objects.

The Queen Bee Shuttle is capable of taking a reverse turn after moving a few steps to the front. The shuttle produces a beehive at its point of return. By combining the shuttle with two blocks we can create a shuttle moving back and forth indefinitely.

The Glider Gun comprises of two queen bee shuttles. When two shuttles collide, they produce a glider. Two queen bee shuttles and two blocks can be put together to form a continuously firing glider gun.

Queen Bee Shuttle

The Puffer Train is another object that has the movement attribute, but is more complex than the glider. It is a bigger object than the glider and leaves a trail of debris as it moves forward, like the smoke from a train.

Life objects suggest that intelligent behaviors are just outcomes of simple rules. They also show that the more involved a phenomenon is, the more complex the objects in it are. Studying Life patterns and objects can help us understand complicated phenomena better. But before we can do that, we should be able to model the problem environment to comply with the Life environment. This is not an easy task, though there has been a tremendous amount of development in the area. Glider guns can be modified to represent any incoming source of input to a system. The presence or absence of gliders can act as the two Boolean bits 1 and 0. In that manner, streams of gliders can be used to represent information. Different oscillators can be assembled such that information passes through them only at certain intervals, just like a clock. Researchers have been able to build logic gates, adders, counters, and even specialized computers like the one that generates prime numbers. In short, all the building blocks of a Universal Turing Machine can be successfully implemented in the Life grid. A universal computer is not impractical too.

The more fascinating factors of Life are the similarities its patterns have with biological processes. By introducing more randomness into the system - mutations and resource struggling - it may be possible to create complete self-reproducing patterns too. A universal constructor is not impossible in Life. Although no such pattern has been found yet, there exists no theory proving that it’s not possible to do so.

Every pattern in Life is predictable, meaning the next configuration can be derived from the current one. However, the complexity is not predictable. Let’s take a psychological example in this regard. Parents are unprejudiced towards their children - something that is expected from them (or predictable). But not all children of the same parents grow the same way. The genial growth is highly unpredictable. Too much of attention will tend to make the child too dependent on its parents, whereas too less of it may result in too much freedom for it. Similarly, too constrained rules in Life will result in more static or over-growing populations, while too loose ones will prevent the system from producing any patterns or structures. In spite of the balanced rules of Life, stable populations are sensitive to small changes in the environment. Life has correspondence to real life in this regard, in the sense that real life too is ordered as well as chaotic.

Life can also serve as an aid in the study of intelligent behavior, computer viruses, hereditary malfunctions, and network interactions. There is much more to “Life” than what can be said. In the final section we will have a programmer’s viewpoint on how Core Wars warriors and computer viruses resemble artificial life forms.

Pages: 1 2 3 4

Tags: none
Category: essay |

Comments