# Cellular Automata - Piozum

AI and Robotics

Dec 1, 2013 (4 years and 5 months ago)

79 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
)

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

b

c

k

a

k

a

cbc

kacbcak

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:

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

i

‘Inserting cells’

L
-
system == extended (elementary) CA