160 likes | 352 Views
Alexa M. Silverman. A Cellular Automata Approach to Population Modeling. Purpose. To use cellular automata to model population growth and change To observe the effects of temperature on the behavior of populations
E N D
Alexa M. Silverman A Cellular Automata Approach to Population Modeling
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
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
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:
Sources and Background • http://www.kevlindev.com • http://ccl.northwestern.edu/netlogo/ • http://psoup.math.wisc.edu/mcell/ • Individual-Based Artificial Ecosystems for Design and Optimization bySrinivasa Shivakar Vulli and Sanjeev Agarwal • 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