Individual based population modeling George Kampis Basler Chair
Individual based population modeling George Kampis Basler Chair ETSU Spring Semester 2007 12/20/2021 1
Agent based models • Recapitulation (slides from earlier class) • Difference bw individual based and agent based • Simple illustrations of individual based (tokenized) models 12/20/2021 2
Individual based models (Net. Logo) 12/20/2021 3
Insights • Malthusian parameter important • Coupling does not feed back to that but to its effect only (difference in modeling philosophy) • Extreme case: kill-on-demand • Density dependent operations • Interplay bw pop numbers and r 12/20/2021 4
The key is: Species • A species is a set of interbreeding individuals. . . 12/20/2021 • Reproductively isolated from others • (e. g. mechanically, behaviorally, in terms of mating preference, etc. ) 5
12/20/2021 6
Mating preference in an Alife model Finding the „right” mating partner. . . is a matter of fitting together. • … can be modeled as template matching, • which defines a metric (similarity) space • that can be used in any dimensions. 12/20/2021 7
The Model …using Re. Past (http: //repast. sourceforge. net/) 12/20/2021 8
12/20/2021 9
The Model Interaction Change Support Evolution Engine Energy 12/20/2021 10
Evolution Engine • Non-Spatial, Partial Artificial Ecology Evolution Engine Energy 12/20/2021 11
Evolution Engine • …with a single resource. Evolution Engine Energy 12/20/2021 12
Evolution Engine • Gender-less agents with sexual reproduction. Evolution Engine Energy 12/20/2021 13
Evolution Engine • With full life-cycle (reproduction, aging, death)… Evolution Engine (2) Energy Consumption Energy (1) Energy Uptake (3) Reproduction Death 12/20/2021 14
Evolution Engine • … and standard evolutionary operators: mutation, crossing. Evolution Engine over Energy 12/20/2021 15
Evolution Engine • Agent: – Phenotype vector in N-dimensional space. 10 9 15 24 3 23 4 55 64 23 12 54 67 89 25 39 19 51 43 4 12/20/2021 16
Evolution Engine, realization Evolution Engine (2) Energy Consumption (1) Energy Uptake (3) Reproduction Death 12/20/2021 17
Evolution Engine, realization • Quasi-parallel activation regime: each agent acts once per time step (in random order). – (1) energy uptake (and aging), – (2) energy consumption, and – (3) reproduction. 12/20/2021 18
(1) Energy uptake & aging: Evolution Engine (2) Energy Consumption (1) Energy Uptake (3) Reproduction Death 12/20/2021 19
(1) Energy uptake & aging: • Agents seeks Ein units of energy, receives ein units – depending on energy availability. –Usage efficiency decays with age: eaccumulated = eaccumulated + ein (Ediscounting) ^ age, 0 <Ediscounting< 1. 12/20/2021 20
(2) Energy consumption Evolution Engine (2) Energy Consumption (1) Energy Uptake (3) Reproduction Death 12/20/2021 21
(2) Energy consumption • The agent consumes Econsumption units of its accumulated (stored) energy. – If the amount is unavailable, the agent dies. – Surviving agents attempt reproduction with a probability Pencounter. (Every time step produces [part of] an entire new generation). – At the end of every activation round, Eincrease units are added to the energy pool. 12/20/2021 22
(3) Reproduction Evolution Engine (2) Energy Consumption (1) Energy Uptake (3) Reproduction Death 12/20/2021 23
(3) Reproduction • The Reproduction Algorithm: – Similarity is measured by Euclidean distance (d) between the phenotype vectors. The number of offspring is Mconst + (Mlimit - d) Mslope (for d>Mlimit). – New agents inherit the active parent’s phenotype: • except for mutation (Pmutation ), and • crossing over (Pcrossing). – Mutation shifts the value of a gene: • by a random value in [-Vmutation, +Vmutation]. • If the mutated value falls outside the interval [Vmin, Vmax], the offspring is dropped. 12/20/2021 24
Interaction Change Support Evolution Engine 12/20/2021 25
Interaction Change support • A new phenotype dimension is introduced with probability Pchange per offspring in each reproduction event. – A new component is added to the agents’ phenotype vector. – The particular value depends on the used ‘stretch’ method: • The type-based method: – vnew = Vmin + (v Vstretch) mod (Vmax–Vmin+1), where Vstretch>0. • The type-independent method: – a uniform random value from [Vmin, Vmax]. 12/20/2021 26
And finally, Parameters! Vmin 0 Mlimit 15 Vmax 100 Mslope 0 Pencounter 0. 1 Mconst 1 Pcrossing 0. 2 Econsumption 5 Pmutation 0. 1 Ein 10 Vmutation 2 Ediscounting 0. 9 Eincrease 1000 Table 1: Default parameter settings. Meaning explained in paper. 12/20/2021 27
And now… …to the results. 12/20/2021 28
Stability and convergence of the Basic Engine Remember: one resource, one selection constraint From top-left: (10 different random seeds; 6, 000 steps) • default behavior; • effects of varying Pencounter, • effects of Pmutation, • effects of Pcrossing. 12/20/2021 29
- Slides: 29