6/10/2009
Cellular Automata
CS6800 Summer I 2009
Thap Panitanarak
Cellular Automata
Definition
Discrete dynamic system
Discrete in space, time and state
“Cells” in space
“States” in time
Current states of all its neighborhoods (may including
itself) defines next state of that cell
State changed according to “Local rule”
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
1
6/10/2009
Cellular Automata
Formal Definition
Cellular Automaton C = <S, s0, G, d, f>
S is finite set of states
s0 is initial state, s0 in S
G is cellular neighborhood
d – dimension
f: Sn S is local rule
C(t) is configuration at time t
G = {i, i+r1, i+r2, …, i+rn} where n is neighborhood size
C(t) = (s0(t), s1(t), …, sN(t)) where N is finite size of CA & si(t) is
state of cell i at time t
Global mapping, F
F: C(t) C(t+1)
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
Cellular Automata
Varieties of Cellular Automata
Dimension
Shape
Color
Neighborhood
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
2
6/10/2009
Cellular Automata
Dimension
one-dimensional
two-dimensional
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
Cellular Automata
Shape
square
hexagon
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
3
6/10/2009
Cellular Automata
Color
2 colors
3 colors
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
Cellular Automata
Neighborhood
Moore
von Neumann
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
4
6/10/2009
Cellular Automata
Theoretically, space is defined infinitely
Practically, space is bounded
How to handle cells along the edges?
Keep them static
Differently defined neighborhoods
Wrap-around: torus
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
Cellular Automata
Elementary Cellular Automata (ECA)
Simplest
Dimension: one
Shape: square
Color: two (binary)
Neighborhood: nearest
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
5
6/10/2009
Cellular Automata
ECA Properties
Next state can be derived by current states of itself & its
two neighborhoods (left & right)
Neighborhood: 3 cells 2 x 2 x 2 = 8 possible patterns
of states
Total rules = 28 = 256 rules
Rule’s number represented in binary
Rule 30 = 111102
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
Cellular Automata
ECA with rule 30
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
6
6/10/2009
Cellular Automata
ECA more examples
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
Cellular Automata
ECA more examples
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
7
6/10/2009
Cellular Automata
Totalistic Cellular Automata (TCA)
Dimension: one
Shape: square
Color: k
Neighborhood: nearest
Use average of cells in neighborhood to derive next state
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
Cellular Automata
TCA Properties
Next state can be derived by “average” of current states
of itself & its two neighborhoods (left & right)
Neighborhood consists of three cells, itself, left & right
cells
With k = 3, all possible averages (sums) are
0, 1, 2, 3, 4, 5, 6 7 possible sets of states
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
8
6/10/2009
Cellular Automata
TCA Properties
Indexed with (3k – 2)-digit k-ary number called “code”
With k = 3 7-digit 3-ary number
Code 777 = 10012103
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
Cellular Automata
TCA with code 777
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
9
6/10/2009
Cellular Automata
TCA with code 777
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
Cellular Automata
TCA more examples
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
10
6/10/2009
Cellular Automata
Conway's Game of Life (Life)
Dimension: two
Shape: square
Color: two (binary)
Neighborhood: Moore/nearest (without itself)
Use average of cells in neighborhood to derive next state
It can view as 2-dimensional, binary totalistic cellular
automata
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
Cellular Automata
Life’s Rule
Count – summation of its neighborhoods
Use 3 rules; death, survival, birth
Death – on cell changed to off if count < 2 or count > 3
Survival – on cell left unchanged if count = 2 or count = 3
Birth – off cell changed to on if count = 3
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
11
6/10/2009
Cellular Automata
Life – Simple Example
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
Cellular Automata
Life – Still Life
Special Patterns that their states do not change on time
No death & no birth, only survival
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
12
6/10/2009
Cellular Automata
Life – More Examples
2D Cellular Automata
http://www.math.com/students/wonders/life/life.html
http://psoup.math.wisc.edu/mcell/mjcell/mjcell.html
3D Cellular Automata
Visions of Chaos
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
Cellular Automata
Universal Cellular Automata
Capability of simulating any cellular automata or Turing
machine
It had been proved that ECA (with rule 110) [Cook 2004] &
Life [Berlekamp, Conway & Guy1982][Gardner 1983] are
universal
In 2002, Wolfram had proved that one-dimensional, two-color
cellular automata with nearest neighbor rules is sufficient to
exhibit universality
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
13
6/10/2009
Cellular Automata
Conclusion
Three fundamental properties of CA
Parallelism : each cell updates independently
Locality : new state derived from previous states of
neighborhoods
Homogeneity : use local rule, common for all cells
Simple systems more complex, dynamic systems
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
Cellular Automata
References
http://mathworld.wolfram.com/CellularAutomaton.html
http://en.wikipedia.org/wiki/Cellular_automata
L. N. de Castro, “fundamentals of natural computing: an
overview”, Physics of Life Reviews, 4 (2007), 1–36.
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
14
6/10/2009
Cellular Automata
Question
Show the first five generations of elementary cellular
automata using rule 30 with a start state that has only
middle cell black
CS6800 Summer I 2009 Thap Panitanarak
6/10/2009
15
© Copyright 2026 Paperzz