Cellular Automata. Biologically Inspired Computing Various credits for these slides, which have in part been adapted from slides by: Ajit Narayanan, Rod Hunt, Marek Kopicki. Cellular Automata. A CA is a spatial lattice of N cells, each of which is one of k states at time t .
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Biologically Inspired Computing
Various credits for these slides, which have in part been adapted from slides by: Ajit Narayanan, Rod Hunt, Marek Kopicki.
Suppose we are interested in understanding how a forest fire
spreads. We can do this with a CA as follows.
Start by defining a 2D grid of `cells’, e.g.:
This will be a spatial representation of our forest.
Now we define a suitable set of states. In this case, it makes sense for a cell to be either empty, ok_tree, or fire_tree – meaning:
empty: no tree here
ok_tree: there is a tree here, and it’s healthy
fire_tree: there is a tree here, and it’s on fire.
When we visualise the CA, we will use colours to represent
the states. In these cases; white, green and red seem the right
on fire -- maybe from lightning strikes
Next we define the neighbourhood structure – when we run our CA, cells will change their state under the influence of their neighbours, so we have to define what counts as a “neighbour”.
You’ll see example neighbourhoods in a later slide, but usually you just use a cell’s 8 immediately surrounding neighbours. Let’s do that in this case.
Next we decide what the neighbourhood will be like at the boundaries of the grid.
Now, the main thing: how do we update the states at the next time step? We use sensible rules.
A cell in state X changes to a cell of state Y if certain neighbourhood conditions are satisfied
4 states: Healthy, Infected1, Infected2, Dead
Rule 1 - If an H cell has at least one I1 neighbour, or if has at least 2 I2 neighbours, then it becomes I1. Otherwise, it stays healthy.
Rule 2 – An I1 cell becomes I2 after 4 time steps (simulated weeks). (to operate this the CA maintains a counter associated with each I1 cell).
Rule 3 - An I2 cell becomes D.
Rule 4 – A D cell becomes H, with probability ; I1, with probability ; otherwise, it remains D
A simple 1D CA to illustrate these points:
States 0 and 1:
Wraparound 2D array of 30 cells
Rules: if both neighbours are 1, become 1;
if both neighbours are 0, become 0;
otherwise, stay the same.
Synchronous update: most CAs operate this way. Each cell’s new
state for time t+1 is worked out in parallel based on the situation at t.
T=1 : 110000000001110000010100000001
T=2 : 110000000001110000001000000001
Sometimes applied in preference – it is arguably a more valid way to simulate some systems. Here, at each time step, one cell is chosen at random and updated.
T=1 : 101001000001101000101010010001
T=2 : 101001000001101000101010010001
T=3 : 111001000001101000101010010001
T=4 : 111001000001101000101010000001
T=5 : etc ...
Clearly if there are n cells, then n timesteps in an asynchronous CA
corresponds to the 1 timestep of a synchronous CA.
the cell’s neighbourhood. E.g. this is the Moore neighbourhood:
The common approach in 2D is to
treat the CA surface as a Toroid
This just means wraparound in
the way indicated by the
blue and green neighbourhoods
But what about cells on the edge?
Many more neighbourhood techniques exist - see http://cell-auto.com and follow the link to ‘neighbourhood survey’
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 computationClasses of cellular automata (Wolfram)
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
We’ve seen HIV – here are some more examples.
Modelling Sharks and Fish:
Bill Madden, Nancy Ricca and Jonathan Rizzo
Graduate Students, Computer Science Department
Research Project using Department’s 20-CPU Cluster
A dozen or so rules describe life in each cell:
Initially cells contain fish, sharks or are empty
Breeding rule: if the current cell is empty
and there are <4 of the other species:
then create a species of that type
If the current cell contains a fish:
If the current cell contains a shark:
I Sure Hope that the
chosen is >.031
YES IT IS!!!
Forest Fire Model is a stochastic 3-state cellular automaton defined on a d-dimensional lattice with Ld sites.
Each site is occupied by a tree, a burning tree, or is empty.
During each time step the system is updated according to the rules:
After some time forest reaches the steady state in which the mean number of growing trees equals the mean number of burning trees.
Incidence of primary malignant brain tumours is 8/100,000 p.a.
3D CA, modelling brain tumour growth
Shows that Macroscopic tumour behaviour can be predicted via microscopic parameters
Uses only 4 parameters
Makes predictions that match the biological reality
tumour; the white area
Represents blood leakage
around the tumour
Kansal et al use the Delaunay Tesselation as their lattice – on the right
we see blackened cells representing the tumour, in a simplified 2D version
Not easy to glean from the paper, but: cells are either healthy (empty lattice site) or tumour.
Tumour cells are either proliferative (they divide into additional tumour cells) or not. When a proliferative tumour cell wants to divide, it fills a healthy space with a new tumour cell if it can find one within delta_p of its position. If it can’t find one, it becomes non-proliferative.
Initial tumour is 1000 proliferative cells at centre of lattice
Result seems realistic
The lines are the CA model predictions of tumour radius and
volume against time
The plotted points are measurements from real cases of untreated tumours
See the www site for the:
Influenza CA paper
Tumour CA paper
A Traffic Simulation CA paper
Historic urban growth in the San Francisco bay area CA
Not examinable reading, but recommended