Cellular Automata

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
ck
da
kk

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