A Cellular Automata Approach to Population Modeling

overwhelmedblueearthΤεχνίτη Νοημοσύνη και Ρομποτική

1 Δεκ 2013 (πριν από 3 χρόνια και 7 μήνες)

56 εμφανίσεις

A Cellular Automata Approach to
Population Modeling

Alexa M. Silverman

Purpose


To use cellular automata to model
population growth and change


To observe the effects of temperature
on the behavior of populations


To determine whether a cellular
-
based
model of population is valid and
realistically predicts the behavior of
individuals in a population

Cellular Automata


A cellular automaton is
a ‘cell’ on a grid which
determines its state
(‘live’ or ‘dead’) based
on the states of
neighboring cells.


2D cellular automata
consider all eight
neighboring cells.

2D cells with live neighbor counts


Agent
-
Based Modeling


Uses individual ‘agents’ with simple instructions to
observe emergent behavior


Based on interactions between agents


More variable results than mathematical models

Agent
-
Based Modeling

Some well known models, in NetLogo:

Daisyworld

Lovelock & Watson

Rabbits Grass Weeds
(Predator/Prey)

U. Wilensky

Altruism

Mitteldorf & Wilson

Life


“Life” notation is written s/b, where numbers on the right
side of the slash represent neighbor counts needed to
survive and numbers on the left side of the slash
represent neighbor counts needed for cell birth.

“34 Life” (34/34)

“Conway’s Game of Life” (23/3)

CA Modeling


The field of cellular automata modeling is still relatively
new, but several models have been created.

“Rumor Mill”


models spread of a rumor

“Urban Suite


Cells”

models growth of cities

14/3 Population Model


For this model, the rule 14/3
was chosen because it
causes cells to grow and
move in a pattern
resembling the spread of a
species (starts localized and
becomes more widespread).


14/3 automata suggest two
types of individuals:
“antisocial” (survives with 1
neighbor) and “social”
(survives with 4 neighbors).

Code and Testing


This program was created in NetLogo because the
NetLogo graphics window allows for ‘real time’ view of
population growth and change. NetLogo code is
object
-
based, which is ideal for a model where each cell
must “know” its state, and the states of its eight
surrounding cells.


In test runs, cell population and temperature are
graphed. Cell ‘birth rate’ (likelihood of a ‘dead’ cell to
come to life) varies quadratically with temperature and
temperature varies linearly with changes in population.
A highly variable population, therefore, will cause
frequent changes in temperature.

Code and Testing

Population varies as

100
-

.25(temperature
-

21)^2

Temperature varies as

current temp + (1/20)(pop.
-

last pop.)

made using equationgrapher.com

NetLogo Interface

Walls

The “make
-
wall” button
allows the user to draw
“walls” around segments
of the population. The
cells cannot cross these
walls.

Code Sample

Methods to ‘birth’ and ‘kill’ cells

Methods to check if a cell will
‘survive’ or be ‘born’ the next turn

Results


High initial density
causes quick decline
in populations,
isolation of groups

Results


Ideal initial density
seems to be around
55%

Results


With default settings for temperature (21 degrees Celsius) and population
density (55%), population and temperature eventually drop off.


Does this model global warming?

Results

The nature of cellular automata causes each test run to be
slightly different even with the same initial parameters.
Here are the results of five test runs with default settings:

1
13
25
37
49
61
73
85
97
5
9
17
21
29
33
41
45
53
57
65
69
77
81
89
93
101
105
109
113
117
121
125
129
133
137
141
145
149
153
157
161
165
169
173
177
181
185
189
193
197
201
205
209
213
217
221
225
229
233
237
241
245
249
253
257
261
265
269
273
277
281
285
289
293
297
301
305
309
313
317
321
325
329
333
337
341
345
0
500
1000
1500
2000
2500
Java Program


Will extend
capabilities of model
due to Java’s object
-
oriented nature


Difficulties of Java
programming with
CA


Extensions

virus
spread modeling?

Java Program

CellDriver

CellPanel

JPanel

extends

Cell

Timer

Grid

ActionListener

Graphics

BufferedImage

class hierarchy

Sources and Background



Individual
-
Based Artificial Ecosystems for Design and
Optimization
by

Srinivasa Shivakar Vulli and Sanjeev Agarwal


Using a Genetic Algorithm to Evolve Behavior in Multi
-
Dimensional Cellular Automata

by R. Brukelaar and Th. Back


A Hybrid Agent
-
Cellular Space Modeling Approach for Fire
Spread and Suprression Simulation
by Xiolin Hu, Alexandre
Muzy, Lewis Ntaimo


Pattern
-
Oriented Modeling of Agent
-
Based Complex Systems:
Lessons from Ecology
by Grimm, Revilla, et al.


Seeing Around Corners

by Jonathan Rauch


A Brief History of Cellular Automata

by Palash Sarkar


Image Sources on the Web

http://www.anl.gov

http://www.kevlindev.com

http://ccl.northwestern.edu/netlogo/

http://psoup.math.wisc.edu/mcell/

http://i.cnn.net