cellular automata martijn van den heuvel models of computation june 21st, 2011

17
Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

Upload: dale-hunt

Post on 03-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

Cellular Automata

Martijn van den HeuvelModels of ComputationJune 21st, 2011

Page 2: 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

Page 3: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

History

1940s Von Neumann - self-replicating machines

1970s Conway – Game of Life

1980s Wolfram – Investigating properties

2000s Cook – Proves Turing completeness

Page 4: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

Use

Visualizing processes Simple components complex behavior

Fluid dynamicsBiological pattern formationTraffic modelsArtifical life

Page 5: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

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

Page 6: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

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

Page 7: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

Example

nit 111 110 101 100 011 010 001 000

sit+1 0 1 0 1 1 0 1 0

Example Java Applet

Page 8: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

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

Page 9: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

Turing completeness

Page 10: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

Lindenmayer systems

Extensions

States: { a,b,c,d,k }

Rules: a cbc

b dad

c k

d a

k k

aacbccbckdadkkdadkkacbcakkacbcakkcbckdadkcbckkcbckdadkcbck

Page 11: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

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

Page 12: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

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

Page 13: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

L-systems vs CA

ButlerSimulate D(m,n)L-system on a 1-dim CAUses registers (m per cell) containing:

Direction or ‘unprocessed’ states

Page 14: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

ButlerCA:

L-system to be simulated:

Axiom: 1Rules:

0 00

1 101

1

101

10100101

10100101000010100101

Page 15: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

Butler

Using registers as neighborhoodStill 1-dimensional?

Extending CA beyond original properties? Very simple L-system

L-system is an extended CA

Page 16: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

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

Page 17: Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011

Reading

Wolfram's publications Simulation of TM on a CA

Universality in Elementary Cellular Automata Matthew Cook; Complex Systems 15 (2004) p.1-40