Cellular Automata & Its Applications
Cellular Automata & Its Applications
Its Applications
Introduction to Automata
2
Automation Examples
Coke machine
Inputs:
coins, bills, return
button, choice buttons
State:
money entered so far,…
Outputs:
coke, sprite,
returned coins
3
Cellular Automata
4
What is Cellular
Automata ??
A CA is an array of identically programmed
automata or cells, which interact in one another
in neighborhood and have definite state.
6
Communication
Rule
7
Cellular Automata
Cellular
automata can be used to
model complex systems using simple
rules.
Key features
divide problem space into cells
each cell can be in one of several finite
states
cells are affected by neighbors according
to rules
all cells are affected simultaneously in a
generation 8
One-Dimensional (1-D) CA
Each cell has at most two neighbors
All cells identical
Cell can be initialized to different
states
Example: 1D CA operating through
time under “Rule 90” Time T = 1
Time T = 2
9
“Rule 90” = One of 28 Elementary
1D CA
90 =( 01011010)_base 2 = 0*27+1*26+0*25+1*24+1*23+0*22+1*21+0*20
10
Rule 90
11
2-Dimensional CA
Each cell can have two or more
neighbors.
12
Neighborhood of 2-D CA
13
Famous 2D CA Example:
The Game of Life
Objective: To make a CA 'game' as
unpredictable as possible using the simplest
possible CA rule.
2D grid of squares on a (possibly infinite) plane.
Each square can be alive (black) or dead (white).
Dead cells can come alive, and alive cells can die,
depending on their neighbors.
Each cell has 8 alive or dead neighbors (pasted
edges assumed), 4 adjacent orthogonally and 4
adjacent diagonally.
So Game of Life assumes Moore Neighborhoods.
14
The “Rules of Life”
Ifan alive (black) cell has fewer than 2 alive
neighbors, it dies (turns white) – loneliness.
In
the initial generation at T=1, a finite
number of cells are alive
16
Example
17
This is the Glider pattern. It is shown here moving on
the board as it evolves. This picture is adequate for
usage in Conway's Game of Life article, because it
follows the same graphic standard used in the pictures
there. T)
18
Applications
Biological Systems
Iterative Arrays – parallel computer
hardware
Artificial Societies
Art & Design
Computer Graphics
Image Processing
Games
19
Simulation Goals using CA
Avoid extremes: patterns that grow too
quickly (unlimited) or patterns that die
quickly
Desirable behaviors:
No initial patterns where unlimited growth is
obvious through simple proof
Should discover initial patterns for which this occurs
Simple initial patterns should grow and change
before ending by:
fading away completely
stabilizing the configuration
oscillating between 2 or more stable configurations
Behavior of population should be relatively
20
unpredictable
Cellular Automata
Formalism
An important component of a Cellular Automaton is
its interconnection graph, G.
This graph is, typically, an n-dimensional grid.
But it can be other grid,.
Or slightly irregular
Or irregular
21
Cellular Automata
Formalism
A configuration, x, of a CA is a mapping from the
graph to the state set, which assigns a state from the
state set Q to each node in the graph T , i.e.
x: T Q
x(i) = q, where I € T and q € Q
22
Cellular Automata
Formalism
The computation of CAs, though, is a local
process. The next state of each cell depends
on its current state, and the states of its
closest neighbors only.
Thus,
we need to define the concept of a cell
neighborhood.
G - interconnection graph,
Q - set of states
N - neighborhood (e.g. von
Neumann, etc.)
d - local dynamics
25
Cellular Automata
Formalism: Global Dynamics
The
local dynamics, d, of a CA describes the
computation occurring locally at each cell.
Chaos Theory
Chaotic Behavior of
Dynamical Systems
28
Dynamical Systems
A Discrete Dynamical System is an iterated
function over some domain, i.e.
F: D D
Example 1: F(x) = x
29
Dynamical Systems
A Discrete Dynamical System is an iterated
function over some domain, i.e.
F: D D
Example 1: F(x) = x
x=0, F(0) = 0, F(F(0)) = F2(0) = 0, … ,
Fn(0) = 0 …
30
Dynamical Systems
A Discrete Dynamical System is an iterated
function over some domain, i.e.
F: D D
Example 1: F(x) = x
x=0, F(0) = 0, F(F(0)) = F2(0) = 0, … ,
Fn(0) = 0 …
31
Dynamical Systems
A Discrete Dynamical System is an iterated
function over some domain, i.e.
F: D D
Example 1: F(x) = x
x=0, F(0) = 0, F(F(0)) = F2(0) = 0, … ,
Fn(0) = 0 …
Example 2: F(x) = -x
33
Dynamical Systems
Example 2: F(x) = -x
34
Dynamical Systems
Boring life, push
Example and pull regularity
2: F(x) = -x
A point, x, in the
domain of a dynamical
system, F, is a periodic
point iff Fn(x) = x
A point, x, in the
domain of a dynamical
system, F, is eventually
periodic if Fm+n(x)=Fm(x)
Life becomes more interesting
36
Dynamical Systems A point in the
state space ,
Sometimes certain think about a
points in the domain ball in
mountain like
of some dynamical terrain
systems exhibit very
interesting properties:
A point, x, in the
domain of F is called
an attractor iff there is A different
a neighborhood of x representation of
such that any point in state space
that neighborhood, (branching from a
under iteration of F, point now
tends to approach x possible).
A point, x, in the
domain of F is called a
repeller iff there is a
neighborhood of x
such that any point in
that neighborhood,
under iteration of F, 37
Interesting Research
Questions
Our goals, when studying a dynamical system
are:
To predict the long-term, asymptotic
behavior of the system given some initial
point, x,
42
BIST Pattern Generator
43
Current Pattern
Generators - LFSR
Linear Feedback Shift Register
Chain of flip flops with feedback taps
High auto-correlation
Non-local feedback
44
Cellular Automata as Pattern
Generators
Each CA cell is a flip flop with its input
based only on its local neighbors
Regular/local design allows compact
layout
Better pseudo-random patterns
without auto-correlation
45
Cellular Automata Cells
Each CA cell consists of a Xc-1(t) Xc+1(t)
flip flop and an XOR gate Left
Neighbor
Right
Neighbor Xc(t)
to determine its next
state
27 26 25 24 23 22 21 20
111 110 101 100 011 010 001 000 Rule
#
Xc-1(t) Xc+1(t) 0 1 0 1 1 0 1 0 90
47
Characterization of CA
48
Matrix Characterization of
CA
Such a matrix is called a characteristic
matrix or CA matrix
0, otherwise
49
Example CA Matrix
4 Cell CA 1 1 1 0
1 1 0 0
T = 11 11 11 00
0 1 0 1
0 0 1 1
50
State Transitions Using
CA Matrix
If the current state of the CA is
ft(x), ft+1(x) = T·ft(x):
Addition operator is XOR
T ft(x) ft+1(x)
1 1 0 0 11 0
1 1 1 0 11 0
=
00
0 1 0 1 1
0
0 0 1 1 0 0
T T+xI
1 1 0 0 1+x 1 0 0
1 1 1 0 1 1+x 1 0
0 1 0 1 0 1 x 1
0 0 1 1 0 0 1 1+x
52
Group CA
Ifthe CA characterized by T forms a cyclic
group, then:
Tm = I (identity matrix)
53
Maximum Length Group
CA
A Group CA can be classified as
maximum-length by the presence of a
cycle of length 2n-1 with all non-zero
states
54
Non-Maximum Length Group
CA
Multiple cycles
55
References
http://en.wikipedia.org/wiki/Cellular_automata
http://en.wikipedia.org/wiki/Conway%27s_Game_of_Lif
e
http://www.cs.washington.edu/homes/ladner/ca/info/M
athday_presentation.pdf
http://www.econ.iastate.edu/classes/econ308
/tesfatsion/CellularAutomataIntro.LT.pdf
56
Thank You !!!!
57