cellular automata martijn van den heuvel models of computation june 21st, 2011
TRANSCRIPT
Cellular Automata
Martijn van den HeuvelModels of ComputationJune 21st, 2011
Overview
History Formal description Elementary CA Example of a CA Turing completeness Lindenmayer Systems
History
1940s Von Neumann - self-replicating machines
1970s Conway – Game of Life
1980s Wolfram – Investigating properties
2000s Cook – Proves Turing completeness
Use
Visualizing processes Simple components complex behavior
Fluid dynamicsBiological pattern formationTraffic modelsArtifical life
Formal description
Cellular space Lattice/grid of N identical
cells Cell i at time t has a state si
t
Cell i at time t has a neighborhood ni
t
Transition rules r(ni
t) updates cell i to next state si
t+1 Size of rule set: |R|=|s||n|
23=8 Simultaneous updating
0 0 0 0 0 0 0
0 0 0 1 0 0 0
0 0 0 0 0 0 0
Rule 000 1
Elementary CA
Simplest form of CA One-dimensional Binary states {0,1} 2 neighbors
23=8 possible configurations 28=256 different elementary CAs
out 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1
s 111 110 101 100 011 010 001 000
Example
nit 111 110 101 100 011 010 001 000
sit+1 0 1 0 1 1 0 1 0
Example Java Applet
Turing completeness
Matthew Cook Rule 110 Emulation of Post Tag System
Gliders/Spaceships interacting Structures representing:
Infinite data string Infinitely repeating set of production rules Output
nit 111 110 101 100 011 010 001 000
sit+1 0 1 1 0 1 1 1 0
Turing completeness
Lindenmayer systems
Extensions
States: { a,b,c,d,k }
Rules: a cbc
b dad
c k
d a
k k
aacbccbckdadkkdadkkacbcakkacbcakkcbckdadkcbckkcbckdadkcbck
L-systems vs CA
Both: Loop until no rule is applicable States for data storage Transition rules for modification Use simultaneous rule application
Differences: L-system usually has non-binary states L-system rewrites multiple states in one step
CA updates only cell i
L-systems vs CA
Possible solutions:Abstract L-system
Allow same rules as CA
Extend CA multiple states Rule table grows fast
CA could write sequentially what L-system does in one step
L-systems vs CA
ButlerSimulate D(m,n)L-system on a 1-dim CAUses registers (m per cell) containing:
Direction or ‘unprocessed’ states
ButlerCA:
L-system to be simulated:
Axiom: 1Rules:
0 00
1 101
1
101
10100101
10100101000010100101
Butler
Using registers as neighborhoodStill 1-dimensional?
Extending CA beyond original properties? Very simple L-system
L-system is an extended CA
Conclusion
CA and L-system function in nearly the same way Using states & transition rules
Both can simulate a TM (indirectly) CA becomes complex and hard to interpret
Both apply rules as long as possible, then stop. Both apply rules simultaneously L-system could be seen as an extended 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