|
|
|
Introduction to Cellular
Automata ---------------------------------------------------------------------------------------------------- |
Introduction to Cellular automata There is a wealth of literature about cellular automata, as well as many Internet resources (you'll find some of them in the links section). The aim is here much more limited. This site being devoted to laymen, I will content myself with answering both main questions any person discovering cellular automata often ask, generally after a period of intense perplexity :
The answer to these questions is unfortunately
far from being simple. cellular automata are abstract constructions with
quite complex properties not very accessible. The history of cellular automata dates back to
the forties with Stanislas Ulam. This mathematician was interested in
the evolution of graphic constructions generated by simple rules. The
base of his construction was a two-dimensional space divided into "cells",
a sort of grid. Each of these cells could have two states : ON or
OFF. Starting from a given pattern, the following generation was determined
according to neighbourhood rules. For example, if a cell was in contact
with two "ON" cells, it would switch on too ; otherwise
it would switch off. Ulam, who used one of the first computers, quickly
noticed that this mechanism permitted to generate complex and graceful
figures and that these figures could, in some cases, self-reproduce. Extremely
simple rules permitted to build very complex patterns. On that basis,
the following question was asked : can these recursive mechanisms (i.e.
in that case depending on their own previous state) explain the complexity
of the real ? Is this complexity only apparent, the fundamental rules
being themselves simple1 ? As a sideline, John von Neumann, relying on A.
Turing's works, interested himself on the theory of self-reproductive
automata and worked on the conception of a self-reproductive machine,
the "kinematon". Such a machine was supposed to be able to reproduce
any machine described in its programs, including a copy of itself2.
The most famous of his machines is the monolith of the series "2001
Space Odyssey". To change Jupiter into a star, a first monolith
self-reproduces, as well as its descendants, the population so increases
exponentially to quickly reach the size necessary to realize such a gigantic
task. Ulam suggested von Neumann to use what he named "cellular spaces" to build his self-reproductive machine. He could so liberate himself from real physical constraints to work in an extremely simplified universe that was nevertheless able to generate a high complexity. The use of this formal universe led him to notice : "By axiomatizing [self-reproductive automata with cellular automata], one has thrown half of the problem out the window, and it may be the more important half. One has resigned oneself not to explain how these parts are made up of real things, specifically, how these parts are made up of actual elementary particles, or even of higher chemical molecules. [...] The question we hope to answer now [...] is : what are the basic principles which underlie the organization of these elementary parts in living organisms ? My discussion will be limited to that point of vue."3. On this base, he designed an about 200.000 29 states cells , containing a universal replicator, a description of itself and a Turing machine for supervision4. Cellular automata left laboratories in 1970 with
the now famous Game of Life of John Horton Conway. Originally, the Game of Life is presented as a mathematical game. Its description will allow us to materialize and better understand what cellular automata are. Like Ulam's cellular spaces, the game of life
is based a grid constituted of cells, for example : Example of a starting pattern The universe is here limited to a rectangle of 5 by 3. To make the explanation easier, we numbered the cells from 0 to 4 horizontally and from 0 to 2 vertically. Light cells are active ones. In the game of life, any adjoining cell is considered as neighbour, including diagonals. Determination of neighbourhood The graphic above shows the neighbourhood of cell 12. In this case, two cells are active out of the 8 neighbours. The rules of the game of life are quite simple :
We can interpret these rules by considering that a birth supposes a certain gathering of population, (3 in this case), that the cells cannot survive to a too wide isolation (less than two neighbours) and that a too strong concentration will kill them (more than 3 neighbours). Cellular automata work in a discrete manner. That is to say time goes step by step. This means that in our case, for the g generation, each cell examines its environment and determines its future state. When all the cells have fulfil this computation, the transitions occur. We so simulate a simultaneous treatment. Let us illustrate this mechanism starting from the previous pattern :
In the previous pattern, the number of active neighbours is noted for each cell :
For the next generation, only the cells 02,12 and 22 are then active. Second generation We show there the three fundamental properties of cellular automata5 :
The game of life is only one type of cellular automata among an infinity. It is indeed possible to play on the whole rules that govern the universe of cellular automata. The most obvious parameter is the number of dimensions. Indeed, nothing obliges to consider two dimensions environments. The theoretical analysis of cellular automata was mainly made out of one dimension automata. By reducing the number of dimensions, one limits the combinatory explosion, hence the number of possible automata. If we consider the simple case of a three cells neighbourhood, i.e. the concerned cell and its right and left neighbours, in a one dimension and two states automaton, there are only 2 power 23=256 possible rules. With one dimension automata (i.e. one line) we use the second dimension to represent time. For each generation, a new line is added below the former one, we can so visualize the dynamic of this type of automata. Example of a 1 dimension automaton (Pascal's triangle) It is obviously possible to create three (or more) dimensions automata. It is also possible to modify the determination of neighbourhood. If we consider two dimensions automata, the most common neighbourhoods are6 :
For example, Fredkin's automata, that uses a
Moore neighbourhood is based on the parity of neighbourhood. It's a totalistic
automaton, that is to say the state of the cells depends on the sum of
the states of neighbouring cells. In this case there is reproduction only
if there is an odd neighbourhood value. This automata has got the remarkable
property to reproduce nine copies of any basic pattern. Fredkin's rule
can easily be generalized to more than two dimensions7.
It is also possible to modify the number of states. You needn't restrict yourself to both states life/death. Numerous famous automata use more than two states. One of the most famous is Brian's Brains presented by Brian Silverman in 1984. This three states automaton (life, ghost, death) generates a wide diversity of complex gliders within astonishing graphic patterns.
Brian's Brain
More complex rules can be imagined. It's possible, for example, to build stochastic automata whose transition rules integrate a probability function. In a general way, it is possible to build any
type of automata by playing on structural and functional
rules. The first ones define the spatial structure of the automata network,
that is its number of dimensions, the disposition of cells (squares, hexagons,
in a two dimensional automaton) and the type of neighbourhood determination.
The second ones will determine the number of states and the transition
rules8. The choice of these two types
of rules permits to build a universe adapted to the demanded aim.
1- Heudin JC, La Vie Artificielle, Hermès, Paris, 1994, p. 35. 2- This causes a big recursion problem. The machine has to contain a self-description, but in order to be complete this description must be described too... etc... To solve this problem, the machine must be able to interpret the description as a program, a set of instructions, and as a component. The description will then be computed to construct the new machine, and then only copied in order to give the new machine a self-description. This mechanism corresponds to the current interpretation of the functioning of DNA discovered after von Neumann's work. 3- Von Neumann J. et Burks A. ed., Theory of Self-Reproduction Automata, University of Illinois Press, 1966, p. 77, in Ostolaza J.L., Bergareche A.M., La vie artificielle, Seuil, Paris, 1997, pp. 37-38. Translated from French. 5- Rucker R., Walker J., Introduction to CelLab, http://www.fourmilab.ch/cellab/ 6- Shatten A., Cellular Automata, Institute
of General Chemistry Vienna University of Technology, Austria, 1997. 7- Rucker R., Walker J., op.cit. 8- Langlois A., Phipps M., Automates cellulaires. Application à la simulation urbaine. Hermès, Paris, 1997. p. 17. |
Copyright ©rennard.org. 2000,
2001, 2002.
|