Cellular Automata
Martijn van den Heuvel
Models of Computation
June 21st, 2011
Overview
History
Formal description
Elementary CA
Example of a CA
Turing completeness
Lindenmayer Systems
Conclusion
History
1940s
Von
Neumann - self-replicating machines
1970s
Conway
1980s
Wolfram
– Game of Life
– Investigating properties
2000s
Cook
– Proves Turing completeness
Use
Visualizing processes
Simple components complex behavior
Fluid
dynamics
Biological pattern formation
Traffic models
Artifical life
Formal description
Cellular space
Lattice/grid of N identical
cells
Cell i at time t has a state sit
Cell i at time t has a
neighborhood nit
Transition rules
r(nit) updates cell i to next
state sit+1
Size of rule set: |R|=|s||n|
23=8
Simultaneous updating
0 0 0 0
0 0 0
0 0 0 0
0 0 0
Rule
000 1
0 0 0 1
0 0 0
Elementary CA
Simplest form of CA
One-dimensional
Binary
states {0,1}
2 neighbors (n=3)
23=8 possible configurations
28=256 different elementary CAs
s
111 110 101 100 011 010 001 000
out
0,1
0,1
0,1
0,1
0,1
0,1
0,1
0,1
Example
nit
sit+1
111
0
110 101 100 011 010 001 000
1
Example Java Applet
0
1
1
0
1
0
Turing completeness
Matthew Cook nit 111 110 101
sit+1
0
1
1
Rule 110
Emulation of Post Tag System
100
011
0
1
Gliders/Spaceships
interacting
Structures representing:
Infinite data string
Infinitely repeating set of production rules
Output
010 001 000
1
1
0
Turing completeness
Lindenmayer systems
States: { a,b,c,d,k }
Rules: a cbc
b dad
ck
da
kk
a
cbc
kdadk
kacbcak
kcbckdadkcbck
Extensions
F F[-F]F[+F][F]
L-systems vs CA
read
rewrite
111
0
110
1
101
1
100
0
011
1
010
1
<a,b,c> d
001
1
Same as CA table:
000
0
Intuitively very similar
Example:
Context
sensitive L-system
<1,1>L-system
<a1,..,am,b,c1…,cn>z
<m,n>L-system
ni t
sit+1
with binary alphabet
111
110
101
100
011
010
001
000
0
1
1
0
1
1
1
0
L-systems vs CA
Butler
Simulate
D(m,n)L-system on a 1-dim CA
Uses registers (m per cell) containing:
Direction or
‘unprocessed’ states
Butler
L-system to be simulated:
Axiom: 1
Rules:
0 00
1 101
1
101
10100101
10100101000010100101
CA:
Butler
Using registers as neighborhood
Extending CA beyond original properties?
Very simple L-system
L-system is an extended CA
Conclusion
CA and L-systems are very alike
Both:
Loop until no rule is applicable
States for data storage
Transition rules for modification
Use simultaneous rule application
Have the same computing power
Differences:
L-system usually has non-binary states
L-system rewrites multiple states in one step
Complex to interpret
CA updates only cell i
‘Inserting cells’
L-system == extended (elementary) CA
Reading
Wolfram's publications
Simulation of TM on a CA
Universality
in Elementary Cellular Automata
Matthew Cook; Complex Systems 15 (2004) p.1-40
© Copyright 2026 Paperzz