Description of the model.

advertisement
Predator-Prey Systems
A predator-prey system is one type of system where populations of two species are coupled: an increase
in the number of predators will cause a decrease in the number of prey (more die by being eaten) but an
increase in the number of prey can cause the number of predators to increase (more food available, so
fewer predators starve). The other two types of interaction are competition whereby an increase in
numbers of either species causes a decrease in numbers of the other (for example because a limited and
fixed food supply is needed by both) or mutualism, whereby an increase in numbers of either species
causes an increase in numbers of the other (suggesting some kind of cooperation).
We can solve such systems computationally, by including a variable representing the number of each
species as a function of time. The rate of change of either species depends both on its own number and the
number of the other species. Iteration allows us to solve for the dynamics of the two populations in just
the same way as in a multiple species chemical system (see buffering).
Lotka-Volterra Model
The Lotka-Volterra model has historical significance as the first model demonstrating that oscillations can
arise via predator-prey interactions. It was published in the 1920s (way before the use of computers) and
designed to be analytically tractable. It is far too simple to be relevant, but as a starting approach for
simulation is useful. Once we know what we are doing, we can include more realistic terms in the
simulations.
Giving the number of prey as N and the number of predators as P, the Lotka-Volterra model is:
dN
 N(a  bP)
dt
dP
 P(cN  d)
dt
where a,b,c,d are constants with the following meanings:
a is the growth rate of the prey population in the absence of predator (birth rate - natural death rate). bP
is the probability per unit time of a prey being eaten by predator, increasing linearly with numbers of
predators. d is the natural rate of decay of predator population in the absence of prey to eat (starvation
rate –birth rate). cN is the reduction in starvation rate plus increase in birth rate if predators as more
food is available, for simplicity assumed linear in number of prey.
The code lotka_volterra.m implements these equations, plotting N and P against time, t, and also plots P
against N (the latter is a phase-plane plot). You can investigate the system by changing parameters a-d or
(importantly) trying different starting values N(0) or P(0).
More Realistic Predator-Prey Systems
The first simplification of the Lotka-Volterra model, easily to be corrected, is the growth without bound of
the prey population in the absence of predators. Any environment has a carrying capacity, K, here
denoting the number of prey that can exist before they run out of food. Including such a term, the rate of
growth of prey without predator (the first term) becomes:
 N 
Na1  which approaches zero as N approached the carrying capacity, K.
 K 

Similarly, the rate of prey eaten by predators (NbP in the Lotka-Volterra model) is a simplification that
(among other things) omits saturation of N at fixed P: eventually the predators get full, so adding more
and more prey does not mean they eat more. This rate enters both dN/dt directly (each prey eaten
reduces the number of prey) and dP/dt indirectly (each prey eaten extends the life of the predator). It is
reasonable to assume the term increases linearly with the number of predators. One fix is to replace bNP
with bP
eN
which is equal to bNP at small N but saturates at eP for large N, suggesting e is the
bN  e
maximum number of prey a predator would eat per unit time.

In the code, we define the variable eaten_rate_per_prey = (be)/(bN+e) which replaces b in the original
model.
A similar alteration to the predator’s term, cNP, leads to the replacement of c with (ce)/(bN+e):
  N  bPe 
dN
 N a1 

dt
  K  bN  e 
 cNe

dP
 P
 d
bN  e

dt
There are already 5 parameters a-e to be fixed in this model. Their values will determine the behavior of
the system (see codes predator_prey.m and predator_prey_rand2DQB_Euler.m).

Computationally this is still a simple problem, and functions such as the dependence of number of prey
eaten per year on total number of predator and prey --- and how lifespan of predator depends on number
of prey eaten could be made more realistic by including empirical data. One role of computer modeling in
a system such as this is to test what parameters are important and how sensitive the outcome is to
different changes in parameters or function. This would suggest what observations are most valuable “out
in the field” to obtain more data. The second role is to “tune” the model to be more and more predictive as
more detailed empirical data is made available. Predicting the future of ecosystems, environments and
climate as a whole depends on these iterative refinements and improvements of models that always begin
in a highly simplified manner.
If you have time, you can try different functions for different qualitative features or phenomena that may
occur in nature.
Think about separating adults (who can reproduce) from children (who can’t).
You could include two types of predators (or prey) with different attributes (such as need for food,
natural longevity and reproduction rates, to see which one dominates).
Feel free to implement any ideas you have!
Download