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 – Game of Life 1980s Wolfram – 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 s i t Cell i at time t has a neighborhood n i t Transition rules r(n i t ) updates cell i to next state s i t+1 Size of rule set: |R|=|s| |n| 2 3 =8 Simultaneous updating Rule000 1
Elementary CA Simplest form of CA One-dimensional Binary states {0,1} 2 neighbors (n=3) 2 3 =8 possible configurations 2 8 =256 different elementary CAs out0,1 s
Example nitnit s i t 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 nitnit s i t
Turing completeness
Lindenmayer systems Extensions States: { a,b,c,d,k } Rules: a cbc b dad c k d a k k acbckdadkkacbcakkcbckdadkcbck F F[-F]F[+F][F]
L-systems vs CA Intuitively very similar Example: Context sensitive L-system z L-system z L-system with binary alphabet d d Same as CA table: Same as CA table: readrewrite nitnit s i t
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 CA: L-system to be simulated: Axiom: 1 Rules: 0 00 1
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 Complex to interpret Differences: L-system usually has non-binary states L-system rewrites multiple states in one step 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