Cellular Automata - Piozum

rucksackbulgeAI and Robotics

Dec 1, 2013 (3 years and 9 months ago)

65 views

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


0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

Rule

0
0
0


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

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

n
i
t

111

110

101

100

011

010

001

000

s
i
t+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

n
i
t

111

110

101

100

011

010

001

000

s
i
t+1

0

1

1

0

1

1

1

0

Turing completeness


Lindenmayer systems


Extensions



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

Rules:

a


换c



b


摡d



c


k






a






k

a

cbc

kdadk

kacbcak

kcbckdadkcbck

F


F[
-
F]F[+F][F]

L
-
systems vs CA


Intuitively very similar


Example:


Context sensitive L
-
system


<m,n>L
-
system

<a
1
,..,a
m
,
b
,c
1
…,c
n
>

z


<1,1>L
-
system with binary alphabet


<a,
b
,c>


d


Same as CA table:

read

rewrite

111

0

110

1

101

1

100

0

011

1

010

1

001

1

000

0

n
i
t

111

110

101

100

011

010

001

000

s
i
t+1

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

CA:

L
-
system to be simulated:

Axiom: 1

Rules:

0


00

1


101

1

101

10100101

10100101000010100101

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