A Three Trophic-Level Ecosystem Simulator
[In Java, running on your browser...]
Author: William Harms e-mail
Predator-Prey
cycles have a tendency to amplify, leading to the crash of one or both. There are a number
of mechanisms which may damp these destructive oscillations. This simulator is a tool
(sort of a toy system) to explore some of them.
Prey are Blue, Predators are Yellow, and Resource is Green.
Resource level in each patch is indicated by the level of green. Predators and prey both
move between patches with the same probability at each cycle (the "Movement
Rate"). Prey consume the renewable resource. Both prey and predators have metabolisms
of 1 resource unit per cycle. If they reach their reproductive level they reproduce. Both
parent and offspring are left with half of what remains of the reproductive level
resource after reproductive costs are assessed.
Individuals randomly bump into others in the patches. If predator bumps into prey, then
the prey gets consumed according to the Predator Efficiency. Predators get the prey's
resource times the Assimilation Efficiency.
Movement rate (which affects the encounter rate) is probably the most critical
variable. Barriers and edges help a lot. Barriers come in random and grid. (Or you can
click on patches to create your own.) Different topologies have different amounts of
edges. Edges can be turned into cliffs with "Edge Kill". Bigger grids can help,
but not always.
Just click on the image of the simulator to start it in your browser.
It will start in a new window. Note that Java applets have no access to your files. They
run on a "virtual machine" inside your browser. This simulator is not
recommended for older Macintosh's. Seems Java's approach to multi-tasking
("threads") ran into trouble with memory protection. I have heard that this
problem has been corrected with newer browsers and operating systems. In general, the
faster your machine the better, but I wrote this on my old Pentium 166. The download files
are less than 25k (about the size of the .gif to the right.) Java needs to be
enabled on your browser, of course.
Notes on the controls :
- "Reset Simulator", "Stop" and "Run are self-explanatory.
- Ordinarily the simulator will redraw the grid every 100 cycles. "Draw"
toggles drawing every cycle on and off.
- "Step Draw" causes the grid to be drawn once, and if the
simulator is stopped, will step through cycles as well.
- "Patches" gives the proportion of patches that are currently growing resource.
(See "Seed Rate".)
- "Prey" and "Pred" give running totals, which are output every 20
cycles, and every cycle if "Draw" is on.
Controllable Variables: Use the list box
to see the value of the variable. To change it, just type the new value and hit the
button. Variables marked by the * won't change until the simulator
is reset and the grid rebuilt.
- Movement Rate: Rates over about 0.1 are bad news for prey, at least in
the absence of barriers (which slows down movement). 0.05 allows stabilization via lethal
edges and barriers.
- Predator Life Cycle
- Predator Efficiency: the probability that the prey will be eaten when
matched with a predator.
- Assimilation Efficiency: the proportion of a prey's resource that
transfers to the predator
- Predator Reproductive Level: the amount of resource units necessary for
reproduction. Prey reproductive level is set to 150, which is also the predator default.
- Predator Reproductive Delay: dormancy period for predator offspring
after reproduction. I have heard that this can have a stabilizing effect. Sleeping
Predators are colored red.
- Reproductive Cost: Applies to both predators and prey. Set between zero
and one:
Reproductive Level *(1- Reproductive Cost) = new parent resource level + new offspring
resource level.
- Physical Features
- Height* of the grid.
- Width* of the grid.
- Topology*: (what happens when an individual wanders off an edge? The
standard practice is to wrap top to bottom and left to right, creating a topological
torus. variable settings are: 0=torus; 1=ring; 2=box.
- Edge Kill: if set to 1, individuals leaving the grid are terminated.
Note that toruses have no edges, rings only have top and bottom edges.
- Gradients: Gradients can cause localization of predators, creating refuges for Prey.
Type 1 gradients create increasing chance of random mortality as the edges of the grid are
approached. The per cycle risk at the outer periphery is set by the "Maximum Risk
Level". Gradients are in here mostly because they work quite well to stabilize
evolution of cooperation models, which sometimes seem like predator prey models.
- Gradient Type: 0=Patch Extinction; 1=Individual Mortality Risk;
3=Metabolic Gradient; 4= None.
- Maximum Risk Level: Risk level at the outer periphery for Gradient
Types 0 and 1.
- Seed Rate: Per cycle rate of reseeding patches over-foraged by prey.
Resource grows logistically by a factor of 2 each cycle, approaching a maximum of 100
units. Prey each consume up to 5 resource units per cycle.
- Barriers: one of the more effective ways to damp predator prey oscillations is by
dividing up the space.
- Wall Mode*: 0=None; 1=Random; 2=Grid with doors.
- Wall Grid Size*: Grid size for Wall Mode 2.
- Random Wall Density*: Barrier Density for Wall Mode 1.