Presentation on theme: "Pacman as an evolving organism. A 2D world of moving “animals” ala Pacman eating “plants”. Graphically represented Different zoom levels Run status."— Presentation transcript:
Pacman as an evolving organism
A 2D world of moving “animals” ala Pacman eating “plants”. Graphically represented Different zoom levels Run status Extra info Torus topology (no boundaries)
Size of the world Initial population Max attainable energy per grown plant Value of growing plants (vs grown) One metabolic parameter Graphic, background or analysis mode Loading of previous run Switching on or off evolution (mutation)
2 variants Growing – dark green, will turn into a grown plant after a given time Grown – green, can seed growing plants into unoccupied neighbor areas. Eaten by the “animals”, who can focus their digestion on either grown or growing plants
Moves about in the world. Eat plants Can multiply Has a number of characteristics attached to them 1) Phenotype 2) Fixed status (ID, birth time, death time, parent) 3) Dynamic states: energy, location, direction of movement, activity, age Mutations directly on the phenotype (genotype=phenotype). Almost no pleiotropy (Diagonal G matrix)
Sensory parameter Sense of touch Behavioral parameters Probability of going straight, turning left, turning right or sitting down and trying to eat Probability of eating growing and grown plants (conditioned on touch) Probability of using memory to start in the same direction as one stopped. Physiological parameters Speed Turning speed Coloration (neutral) Size/mass Reproduction parameters Energy level for reproduction (*mass) Mutation rate Metabolic parameters Specialization for eating grown or growing plants. Mass
Energy is consumed by Creature maintenance (proportional to mass) Movement Proportional to mass*speed 2 Starting after having stopped costs more than just maintaining a speed. Reproducing Parent looses energy proportional to its mass, then splits the energy in half between it and its child. Energy 0 means death.
Energy is gained by eating plants (either stopping randomly and trying to eat, or by sensing a plant and deciding to stop ). Digestion is divided into that for grown plants, D o, growing plants, D g, and unused digestive capabilities (D u =1-D o -D g ). Eating grown plants yields energy E o =D o b -constant (b is a metabolic run parameter). Eating grown plants yields energy E g =D g b -constant.
Phenotypes for which I know in which direction they should go, actually do go that way. Sense of touch as a function of time Unused digestion (x-axis) as a function of time. Coloration indicates probability of eating a growing plant, if you can feel it.
The energy limit for reproduction has increases as a function of time, here. r
Without evolution (no variation for selection to act on): With evolution: (Simulation run for 8 times the time as for no evolution, and still no extinction for two simulations) Size of population Extinction Size of population Digest grown phenotype
Looks like specialization on digesting grown plants is preferred: But then the animals “change their minds”:
If we start with the same run conditions and the same animals, we don’t get exactly the same evolutionary trajectory. Digest grown, two runs Number of animals, two runs time
While we may see evolution in the changing mean, the variance may also be changing:
The division into growing and grown plants was an easy extension to allow for speciation. Speciation only seen for one run with extremely fine-tuned digestion setup and a huge world.
With contingency and (pseudo)randomness, there’s always a chance that the population will dwindle and disappear. Eventually all such populations will go extinct. However, that doesn’t need to happen in a ludicrously long time. Histogram of number of animals for non- evolving population given a little more energy per plant. time ( a huge amount of it ) #animals
If I pump too much energy into each plant (or increase the hunting efficiency) then extinction by over-grazing becomes a near certainty.
Same run parameters, but world area x100:
Large world, mutations switched on: It might look like the population size is getting more noisy with time… But it’s really predator-prey cycles. With evolution switched off, the population would crash, or with slightly higher energy levels, stabilize. #animals time
Lotka-Volterra: With low k and c, the deterministic (without noise) system will stabilize to a single value. With stochasticity, the process will nevertheless reach a stable distribution. Catchment efficiency Advantage of catching each prey #animals time
In the start, the system remains deterministically stable, but quickly becomes stochastically cyclic. After a while, cycles even without noise. Cycles become more and more extreme. Population under considerable extinction risk. time #animals
For a particular run option, a non-evolving system seem to work stably. The corresponding evolving system develops gradually more extreme predator-prey-cycles until the plants are wiped out. The animals then starve to death. It’s entirely possible for a species to adapt itself to death! * time ( a huge amount of it ) #animals time #animals, #plants * Colleen Webb (2005): A Complete Classification of Darwinian Extinction in Ecological Interactions, The American Naturalist 161(2), DOI: /345858
Poor starting phenotype (low sense of touch/digestive capabilities) means either immediate extinction due to inefficiency (low plant energy) or later Darwinian extinction (high plant energy). Can’t start off with having too much evolutionary potential, that is. Darwinian extinction seems somewhat softened by world size.
Did 15 runs with under the same run conditions. A histogram of time to system crash shows stochasticity. Not an exponential distribution, though. Phenotype at end also varies a little (about 7% for important phenotypic characters). For some runs, the phenotype was almost stable for a long time before the crash. => You don’t get a specific phenotype, then die. You get near a specific phenotype and then come under increasing risk. Survival curve suggesting increasing hazard (risk). 3 of the 15 runs ended with a green world. t end
Suggests constant hazard for non- evolving organisms. Decreasing hazard for young to moderately old. Increasing hazard for really old organisms? ( Surviving until evolution catches up to them?)
Source code can be found in my library named hydrasub: For Linux (64 bit RedHat) users at CEES, the exectuable is found at ~trondr/prog/evol12 Presentation: