Professional Documents
Culture Documents
Introduction To Cellular Automata: Seminar "Organic Computing" SS2006
Introduction To Cellular Automata: Seminar "Organic Computing" SS2006
Harald Niesche
haraldn@cs.tu-berlin.de
1 Introduction
This paper should give a short overview of what cellular automata are, how they
work and what they can be used for.
The next section starts with the history, how cellular automata were invented
and briefly discusses some of their properties. Following that, in Sect. 3, some
applications are discussed. In the last section variations and extensions to the
standard model are described and it is argued whether the extended models
should be called cellular automata or not.
The rules for Conway’s Game of Life and a formal definition of cellular au-
tomata are presented in the appendix.
The input for the local rule is the neighborhood of the cell, which is usually a
small number of cells surrounding the cell. All the cells use the same local rule.
All the cells switch from their current state to the next state at the same time,
the space is synchronous.
These simple rules allow complex behaviour to emerge; the resulting com-
plexity is what makes cellular automata so interesting. Certain cellular automata
reduce entropy and create complex ordered systems.
Some researchers have argued that the “apparent self-organization of CAs is
an artifact of the synchronization of clocks” ([1], citing [2]).
Cell A single element of a cellular space, the smallest unit of the space.
Cellular Space A lattice space made up of cells, each of which is in one of
several predefined states. This is what most people nowadays call a Cellular
Automaton, but I find the distinction useful.
Cellular Automaton A structure built in a cellular space, an automaton built
out of cells. The term is often used as a synonym for Cellular Space, but to
be clearer, I’ll try not use it that way. “CA” is an abbreviation that is often
used for these terms.
Cellular Automata Plural of Cellular Automaton, sometimes used instead of
the singular form.
Local Rule The rule governing the transition between states. The definition
of a cell’s finite state machine. It’s called “local”, because it only uses the
Neighborhood as it’s input.
Neighborhood The cells surrounding a cell, that influence it’s next state. The
choice of neighborhood influences the behaviour of the cellular space.
Configuration A snapshot of all cell states, representing a single point in time.
When we talk about a configuration, it’s usually the starting point or a result
of running a cellular space.
Generation One step in the evolution of a cellular space, an intermediate con-
figuration. Passage of time in a cellular space is measured in generations.
The distinction between Cellular Space and Cellular Automaton seems less
interesting when one views the contents (the original meaning of “cellular au-
tomata”) of the space as something that evolves, more or less by accident. As
you will see, when the terms were created, the contents of the space were de-
signed for a certain purpose, while nowadays most researchers just gather up
things that develop all by themselves in the cellular space. At least, that’s my
best guess why the terms have converged to the point where the term “Cellular
Space” is hardly ever used.
For definitions of what these terms mean exactly, see Appendix B
2 History
On a quest to figure out where the complexity in nature comes from, Stephen
Wolfram encountered cellular automata (a colleague told him to have a look and
look he did). In constrast to Codd, who thought that “exhaustive search is out
of the question” ([5]), he wanted to do an exhaustive survey of possible cellular
automata (or spaces, as Codd would have called them). But there are too many
2-dimensional cellular spaces – so he simplified the model even further. Wolfram
looked at the simplest possible cellular automata: 1-dimensional automata with
two states and a three cell neighborhood. Since there are eight possible input
configurations of three cells with two possible states, there are 256 possible local
rules for these cellular automata.
Of these 256 possible rules, only 32 are legal under the restrictions he used
in his initial survey ([12]).
As a result of his experiments, he grouped the rules into three three classes –
the first class that evolves from arbitrary initial conditions into a static pattern,
like rules numbers 0 or 4; the second class that evolves into simple crystalline
structures and the third class that evolves into complex self-similar patterns.
Wolfram refined his classification scheme later into four classes, splitting the
class of rules with complex behaviour into complex and chaotic rules. The rules
with chaotic behaviour can be used to generate randomness, while some of the
rules with complex behaviour are computation universal.
Although he derived the classifications from experiments with very simple
cellular spaces, it is believed that the results can be generalized to other spaces.
Wolfram also proposed “harvesting” rules that can solve interesting problems,
so instead of writing programs to solve those programs, we’d generate all possible
programs and pick out the ones that work well. This is very similar to what
evolutionary programming does.
3 Applications
Several applications have been proposed for cellular automata, ranging from se-
rious algorithmic applications (routing, pattern recognition) to the playful game
of life.
Two very interesting applications are simulation of particle systems and cryp-
tography, where the inherent parallelism can improve the runtime of algorithms
considerably.
But there is something else that drives applications: the ability to implement
models efficiently.
The general principle of operation for pattern classification systems using cellular
automata is called “multiple attractor cellular automaton”. An attractor in a
cellular space is an end configuration that is reached from several different initial
configuration after some finite number of generations.
Wuensche has mapped out the attractor basins of many one-dimensional
cellular spaces in [23], the most common type of cellular space seems to have
not several separate attractor states but a single loop of states that form an
attractor – for classification purposes these can’t be used. What is needed is a
cellular space that converges on one of several attractor configuration depending
on the input configuration.
Mitchel and Crutchfield [16] genetically evolved local rules for r = 3 1-
dimensional cellular spaces / cellular automata to solve the p=1/2 classification
problem (deciding whether the amount of ones in a configuration is about one
half of all the cells). Unfortunately, the problem is hard for a cellular automaton
and the resulting automata were not very good at solving this problem. Others
have used evolutionary algorithms to evolve “hybrid CA” (with inhomogenous
cells) to solve the classification problem, reportedly with better success [1].
Pattern classification schemes have been used for circuit diagnosis and BIST
(built-in self test) circuitry in VLSI (very large scale integration) chip design.5
Maji et.al. describe this in [24], more on the subject can be found at Maji’s web-
page [25] or Ganguly’s webpage [26]. Maji and Ganguly also use chaotic cellular
spaces to generate random numbers as stimuli for their diagnostic circuitry.
Here we describe some common variations and extensions of the original defi-
nition of “cellular space”. Most of these variations were already mentioned in
Sect. 3.
4.1 Variations
There are some variations to the standard model for cellular spaces that I can’t
cover in depth.
Finite vs. Infinite Spaces Throughout this paper, we have ignored the issue
of how large a cellular space is. Von Neumann imagined his spaces as infinite,
but in simulations it is often more practical to have a bounded space. Finite
cellular spaces can either have boundaries with special treatment for the cells
at those boundaries or they can be folded back into themselves. E.g. when the
left and right sides and the top and bottom sides of a rectangle are connected,
a torus results. The space is finite but has no borders.
4.2 Extensions
Some changes to the standard model of cellular automata lead to radically dif-
ferent things that I think shouldn’t be called cellular automata (although they
usually are). Some of them are listed here.
Asynchronous operation One problem for hardware implementations of cel-
lular spaces is the synchronous operation that can limit the size of spaces that
can be simulated efficiently. Several approaches have been used to reduce the
problem. In an adaptation of the model for route-finding in a robotics applica-
tion ([29]) a fully asynchronous model was used with a set of rules that yield the
same results whether used with synchronous or asynchronous updating. Most
local rules behave differently when the updating strategy is changed, and most
emergent behaviour will not emerge when the cells are updated asynchronously
([1]).
A variation of asynchronous operation is the asynchronous block operation
– the cellular space is divided into large sub-spaces. Cells within the same sub-
space block are then updated synchronously while the communication between
the blocks is asynchronous. This organization would allow much larger cellular
spaces while avoiding the loss of self-organization or emergent behaviour.
Continuous state-space Replacing the discrete states of the finite state ma-
chine with a continuous representation of space and the transition rules by a
function, we get a very interesting construction that can simulate processes in
gases and fluids ([11]).
The resulting structure is often called a “Lattice Gas” or “Lattice Boltz-
mann”.
For some interesting uses see [30] or [31], the applet at [32] is probably also
made using this technique.
5 Conclusion
The original model of cellular spaces as it was conceived by Stanislaw Ulam and
John von Neumann has been very successful. Not only did von Neumann succeed
in devising a self-replicating automaton in his cellular space, he also created a
whole new field of research.
There is an enormous amount of literature about cellular automata and the
model has been adapted for many areas of computer science, but real-world
applications don’t seem to exist, yet. Maybe we just don’t know about them – if
the chips in your computer used cellular automata for self-diagnosis, would you
know?
References
1. Sipper, M., Tomassini, M., Capcarrere, M.S.: Evolving asynchronous and scalable
non-uniform cellular automata. In Smith, G.D., Steele, N.C., Albrecht, R.F., eds.:
Proceedings of International Conference on Artificial Neural Networks and Genetic
Algorithms (ICANNGA97), Springer-Verlag (1997) pp. 66–70. Available from:
http://www.leitl.org/docs/icannga97.ps.gz
2. Ingerson, T.E., Buvel, R.L.: Structure in asynchronous cellular automata. Physica
D Nonlinear Phenomena 10 (1984) 59–68. doi:10.1016/0167-2789(84)90249-5
3. Wolfram, S.: A New Kind of Science. online edn. Wolfram Media (2002). Available
from: http://www.wolframscience.com/nksonline/toc.html
4. Signorini, J.: How a simd machine can implement a complex cellular automata? a
case study: von neumann’s 29-state cellular automaton. In: Supercomputing ’89:
Proceedings of the 1989 ACM/IEEE conference on Supercomputing, New York,
NY, USA, ACM Press (1989) 175–186. Available from: http://doi.acm.org/
10.1145/76263.76282 http://dx.doi.org/http://doi.acm.org/10.1145/76263.76282
doi:http://doi.acm.org/10.1145/76263.76282
5. Codd, E.F.: Cellular Automata. ACM Monograph Series. Academic Press, Inc.
New York and London (1968)
6. Sarkar, P.: A brief history of cellular automata. ACM Comput. Surv.
32(1) (2000) 80–107. Available from: http://doi.acm.org/10.1145/
349194.349202 http://dx.doi.org/http://doi.acm.org/10.1145/349194.349202
doi:http://doi.acm.org/10.1145/349194.349202
7. Arbib, M.A.: Simple self-reproducing universal automata. Information and Control
9(2) (1966) 177–189
8. Zuse, K.: Rechnender raum. Elektronische Datenverarbeitung 8 (1967) 336–344.
Available from: ftp://ftp.idsia.ch/pub/juergen/zuse67scan.pdf
9. Zuse, K.: Rechnender Raum. Vieweg Sohn (1969)
10. Fredkin, E.: Finite nature. online (1992). Available from: http://www.
digitalphilosophy.org/finite nature.htm [cited 2006-08-09]
11. Ganguly, N., Sikdar, B.K., Deutsch, A., Canright, G., Chaudhuri, P.P.: A survey
on cellular automata. Technical report, Centre for High Performance Computing,
Dresden University of Technology (2003). Available from: http://www.facweb.
iitkgp.ernet.in/∼niloy/PAPER/CAsurvey.pdf [cited 2006-08-13]
12. Wolfram, S.: Cellular automata as simple self-organizing systems. Caltech
preprint CALT-68-938 (1982). Available from: http://www.stephenwolfram.com/
publications/articles/ca/82-cellular/
13. Schmidhuber, J. Lecture Notes in Computer Science. In: A Computer Scientist’s
View of Life, the Universe, and Everything. Springer (1997) 201–208. Available
from: http://www.idsia.ch/∼juergen/everything/ [cited 2006-08-09]
14. Rath, O.: (Autopoiesis) Presentation given during the Seminar Organic Computing
at TU Berlin in the summer of 2006. Available from: http://kbs.cs.tu-berlin.
de/teaching/sose2006/oc/folien/AutopoiesisSlides.pdf
15. Eck, D.J. The edge of chaos [online, cited 2006-08-09]. Available from: http:
//math.hws.edu/xJava/CA/EdgeOfChaos.html
16. Crutchfield, J.P., Mitchell, M.: The evolution of emergent computation. Proceed-
ings of the National Academy of Sciences 92:23 (1995) 10742–10746. Available
from: http://www.santafe.edu/projects/evca/Papers/EvEmComp.html
17. Mitchell, M., Crutchfield, J.P., Peter T. Hraber, V..: Dynamics, computation,
and the ’edge of chaos’: A re-examination. In Cowan, G.A., Pines, D., Meltzer, D.,
eds.: Complexity: Metaphors, Models, and Reality. Volume 19 of Santa Fe Institute
Studies in the Sciences of Complexity, Proceedings., Addison-Wesley (1994) 497–
513
18. de Garis, H., Korkin, M.: The cam-brain machine (cbm) an fpga based hardware
tool which evolves a 1000 neuron net circuit module in seconds and updates a 75
million neuron artificial brain for real time robot control. Neurocomputing journal
(2002). Available from: http://www.cs.usu.edu/∼degaris/papers/evolnrlsys.
pdf [cited 2006-08-10]
19. Pérez-Uribe, A., Sanchez, E.: (Fpga implementation of an adaptable-size neural
network). Available from: citeseer.ist.psu.edu/116304.html
20. Hartka, T.R.: Cellular automata for structural optimization on recongfigurable
computers. Master’s thesis, Virginia Polytechnic Institute and State University
(2004)
21. Burstedde, C., Kirchner, A., Klauck, K., Schadschneider, A., Zittartz, J.: Cellular
automaton approach to pedestrian dynamics - applications (2001). Available from:
http://www.citebase.org/abstract?id=oai:arXiv.org:cond-mat/0112119
22. Fey, D., Schmidt, D.: Marching-pixels: A new organic computing paradigm for
smart sensor processor arrays. In: Proceedings ACM International Conference on
Computing Frontiers 2005, ACM (2005) 1–7
23. Wuensche, A., M.J.Lesser: ”The Global Dynamics of Cellular Automata; An Atlas
of Basin of Attraction Fields of One-Dimensional Cellular Automata”. Santa Fe
Institute Studies in the Sciences of Complexity. Addison-Wesley, Reading, MA
(1992). Available from: ftp://ftp.cogs.susx.ac.uk/pub/users/andywu/papers/
global dynamics of CA.pdf
24. Maji, P., Shaw, C., Ganguly, N., Sikdar, B.K., Chaudhuri, P.P.: Theory and appli-
cation of cellular automata for pattern classification. Fundam. Inf. 58(3-4) (2003)
321–354. Available from: http://www.facweb.iitkgp.ernet.in/∼niloy/PAPER/
MACAAPPLICATION.pdf [cited 2006-08-12]
25. Publication of pradipta maji [online]. Available from: http://www.isical.ac.in/
∼pmaji/paper.html
A.1 Rules
The rules for the Game of Life are “totalistic”. That means, the new state of
a cell depends only on the number of neighbors which are in a certain state, it
does not depend on which neighbors are in a certain state.
In the case of the Game of Life, we have cells with two possible states (dead
and alive), that depend on a Moore neighborhood, which consists of the eight
cells surrounding the cell. The rules are called “Game of Life”, because they
are usually explained with the assumption that a cell symbolizes some living
organism that needs it’s neighbors to survive:
– Cells with less than two neighbors die of loneliness.
– Cells with two neighbors stay alive, if they already are alive.
– Cells with three neighbors become alive if they aren’t already. Alive cells
stay alive.
– Cells with more than three neighbors die of overcrowding.
Let’s have a look at some configurations in the cellular space of the Game of
Life.
The Blinker Probably the smallest pattern that can stay alive on its own –
the blinker consists of exactly three cells and alternates between two states.
The Glider These Gliders are the simplest moving structures in the Game of
Life universe. There are larger structures that are usually called “spaceships”.
For more structures like these see [33] and Eppstein’s website [34].
Uniformity All the cells work according to the same rules. There is only one
“local rule” or rule-set for all the cells in the space.
Local interaction A proper cellular space is much larger than the neighbor-
hoods influencing a single cell. This is an important property if cellular spaces
are used to parallelize a task.
Infinite Size Von Neumann and Codd assume their spaces to be infinite in size.
Conway, Wolfram and Langton have also looked at finite cellular spaces.
In Sect. 4 we looked at these properties and saw what happens when the
restrictions are lifted.