Title: Cellular Automata
1Cellular Automata
Various credits for these slides Ajit
Narayanan, Rod Hunt, several more.
2Cellular Automata
- A CA is a spatial lattice of N cells, each of
which is one of k states at time t. - Each cell follows the same simple rule for
updating its state. - The cell's state s at time t1 depends on its own
state and the states of some number of
neighbouring cells at t. - For one-dimensional CAs, the neighbourhood of a
cell consists of the cell itself and r neighbours
on either side. Hence, k and r are the parameters
of the CA. - CAs are often described as discrete dynamical
systems with the capability to model various
kinds of natural discrete or continuous dynamical
systems
3Example of 1-D cellular automaton
- For a binary input N long, are there more 1s than
0s? - Set k2 and r1 with the following rule
000 001 010 011 100 101 110 111
0 0 0 1 0 1 1 1
Cell 2 neighbours
Result
That is, the value of a cell at time t1 will
depend on its value and the values of its two
immediate neighbours at time t. This is a form of
majority voting between all three cells.
4Density classification
- In the above example, we have assumed
wrap-around, and r1. - In this case, the CA has reached a limit point
from which no escape is possible. - CAs have been used for simulating fluid dynamics,
chemical oscillations, crystal growth, galaxy
formation, stellar accretion disks, fractal
patterns on mollusc shells, parallel formal
language recognition, plant growth, traffic flow,
urban segregation, image processing tasks, etc
5Types of neighbourhood
Many more neighbourhood techniques exist - see
http//cell-auto.com and follow the link to
neighbourhood survey
6Classes of cellular automata (Wolfram)
Class 1 after a finite number of time steps, the
CA tends to achieve a unique state from nearly
all possible starting conditions (limit
points) Class 2 the CA creates patterns that
repeat periodically or are stable (limit cycles)
probably equivalent to a regular grammar/finite
state automaton Class 3 from nearly all starting
conditions, the CA leads to aperiodic-chaotic
patterns, where the statistical properties of
these patterns are almost identical (after a
sufficient period of time) to the starting
patterns (self-similar fractal curves) computes
irregular problems Class 4 after a finite
number of steps, the CA usually dies, but there
are a few stable (periodic) patterns possible
(e.g. Game of Life) - Class 4 CA are believed to
be capable of universal computation
7John Conways Game of Life
- 2D cellular automata system.
- Each cell has 8 neighbors - 4 adjacent
orthogonally, 4 adjacent diagonally. This is
called the Moore Neighborhood.
8Simple rules, executed at each time step
- A live cell with 2 or 3 live neighbors survives
to the next round. - A live cell with 4 or more neighbors dies of
overpopulation. - A live cell with 1 or 0 neighbors dies of
isolation. - An empty cell with exactly 3 neighbors becomes a
live cell in the next round.
9Is it alive?
- http//www.bitstorm.org/gameoflife/
- Compare it to the definitions
10Glider
11Sequences
12More
Sequence leading to Blinkers Clock Barbers pole
13A Glider Gun
14Loops
- Assumptions
- Computation universality not required
- Characteristics
- 8 states, 2D Cellular automata
- Needed CA grid of 100 cells
- Self Reproduction into identical copy
- Input tape with data and instructions
- Concept of Death
- Significance Could be modeled through computer
programs
15Langtons Loop
0 Background cell state 3, 5, 6 Phases of
reproduction 1 Core cell state 4 Turning arm
left by 90 degrees 2 Sheath cell state
state 7 Arm extending forward cell state
16Loop Reproduction
17Loop Death
18Langtons Loops
Chris Langton formulated a much simpler form of
self-rep structure - Langton's loops - with only
a few different states, and only small starting
structures.
19Example
- Modelling Sharks and Fish
- Predator/Prey Relationships
- Bill Madden, Nancy Ricca and Jonathan Rizzo
- Graduate Students, Computer Science Department
- Research Project using Departments 20-CPU
Cluster
20- This project modeled a predator/prey relationship
- Begins with a randomly distributed population of
fish, sharks, and empty cells in a 1000x2000 cell
grid (2 million cells) - Initially,
- 50 of the cells are occupied by fish
- 25 are occupied by sharks
- 25 are empty
21Heres the number 2 million
- Fish red sharks yellow empty black
22Rules
- A dozen or so rules describe life in each cell
- birth, longevity and death of a fish or shark
- breeding of fish and sharks
- over- and under-population
- fish/shark interaction
- Important what happens in each cell is
determined only by rules that apply locally, yet
which often yield long-term large-scale patterns.
23Do a LOT of computation!
- Apply a dozen rules to each cell
- Do this for 2 million cells in the grid
- Do this for 20,000 generations
- Well over a trillion calculations per run!
- Do this as quickly as you can
24Do a LOT of computation!
- We used a 20-CPU cluster in the Computer Science
Department (Galaxy) - Gal is the smaller of two clusters run by the
Department (larger one has 64 CPUs) - 15x faster than a single PC
- Longest runs still took about 45 minutes
- GO PARALLEL !!!
25Rules in detail Initial Conditions
- Initially cells contain fish, sharks or are empty
- Empty cells 0 (black pixel)
- Fish 1 (red pixel)
- Sharks 1 (yellow pixel)
26Rules in detail Breeding Rule
- Breeding rule if the current cell is empty
- If there are gt 4 neighbors of one species, and
gt 3 of them are of breeding age, - Fish breeding age gt 2,
- Shark breeding age gt3,
- and there are lt4 of the other species
- then create a species of that type
- 1 baby fish (age 1 at birth)
- -1 baby shark (age -1 at birth)
27Breeding Rule Before
EMPTY
28Breeding Rule After
29Rules in Detail Fish Rules
- If the current cell contains a fish
- Fish live for 10 generations
- If gt5 neighbors are sharks, fish dies (shark
food) - If all 8 neighbors are fish, fish dies
(overpopulation) - If a fish does not die, increment age
30Rules in Detail Shark Rules
- If the current cell contains a shark
- Sharks live for 20 generations
- If gt6 neighbors are sharks and fish neighbors
0, the shark dies (starvation) - A shark has a 1/32 (.031) chance of dying due to
random causes - If a shark does not die, increment age
31Shark Random Death Before
I Sure Hope that the random number chosen is
gt.031
32Shark Random Death After
YES IT IS!!! I LIVE ?
33Sample Code (C) Breeding
34Results
- Next several screens show behavior over a span of
10,000 generations
35Generation 0
36Generation 100
37Generation 500
38Generation 1,000
39Generation 2,000
40Generation 4,000
41Generation 8,000
42Generation 10,500
43Long-term trends
- Borders tended to harden along vertical,
horizontal and diagonal lines - Borders of empty cells form between like species
- Clumps of fish tend to coalesce and form convex
shapes or communities
44Variations of Initial Conditions
- Still using randomly distributed populations
- Medium-sized population. Fish/sharks
occupy 1/16th of total grid Fish 62,703
Sharks 31,301 - Very small population. Fish/sharks
occupy 1/800th of total grid Initial
population Fish 1,298 Sharks 609
45Medium-sized population (1/16 of grid)
Generation 100
2000
1000
4000
8000
46Very Small Populations
- Random placement of very small populations can
favor one species over another - Fish favored sharks die out
- Sharks favored sharks predominate, but fish
survive in stable small numbers
47Very Small Populations
Gen. 100
4000
6000
1500
8000
10,000
12,000
14,000
Ultimate welfare of sharks depends on initial
random placement of fish and sharks
48Very small populations
- Fish can live in stable isolated communities as
small as 20-30 - A community of less than 200 sharks tends not to
be viable
49Community image
This is what a community of virtual plants looks
like
Contrasting tones show patches of resource
depletion
50CSR type, frame 1
This is a single propagule of a virtual plant
It is about to grow in a resource-rich above- and
below-ground environment
51 ditto f. 2
52 ditto f. 3
53 ditto f. 4
54 ditto f. 5
55 ditto f. 6
56 ditto f. 7
57 ditto f. 8
58 ditto f. 9
59 ditto f. 10
60 ditto f. 11
61 ditto f. 12
62 ditto f. 13
63 ditto f. 14
64 ditto f. 15
65 ditto f. 16
66 ditto f. 17
67 ditto f. 18
68 ditto f. 19
69 ditto f. 20
The plant has produced abundant growth above- and
below-ground
and zones of resource depletion have appeared
70See Rod Hunt at http//www.ex.ac.uk/rh203/for
lots more about the plant life CA and its uses