Difference between revisions of "Predator prey"

From FBSwiki
Jump to: navigation, search
(Continuous Time Model)
(Discrete Time Model)
Line 67: Line 67:
 
qualitatively similar trends and hence we can use the model to
 
qualitatively similar trends and hence we can use the model to
 
help explore the dynamics of the system.
 
help explore the dynamics of the system.
 +
 +
MATLAB files for the discrete time model:
 +
* {{matlabfile|modeling|predprey_discrete.m}} - discrete time simulation of predator prey model
  
 
==== Continuous Time Model ====
 
==== Continuous Time Model ====

Revision as of 16:35, 21 October 2012

This page contains a description predator prey model that is used as a running example throughout the text. A detailed description of the dynamics of this system is presented in Chapter 3 - Examples and these dynamics are analyzed in Chapter 4 - Dynamic Behavior. A state space feedback controller is designed in Chapter 6 - State Feedback. This page brings together this material into a single place, to illustrate the application of analysis and design tools for this system. Links to MATLAB scripts are included that generate the analysis and figures described here.

System Description

The predator-prey problem refers to an ecological system in which we have two species, one of which feeds on the other. This type of system has been studied for decades and is known to exhibit interesting dynamics. The figure below shows a historical record taken over 90 years for a population of lynxes versus a population of hares (MacLulich, 1937).

  Predprey-photo.png   Predprey-graph.png  

Figure 2.6: Predator versus prey. The photograph on the left shows a Canadian lynx and a snowshoe hare, the lynx’s primary prey. The graph on the right shows the populations of hares and lynxes between 1845 and 1935 in a section of the Canadian Rockies (MacLuluch, 1937). The data were collected on an annual basis over a period of 90 years. (Photograph copyright Tom and Pat Leeson.)

Discrete Time Model

A simple model for this situation can be constructed using a discrete-time model by keeping track of the rate of births and deaths of each species. Letting math represent the population of hares and math represent the population of lynxes, we can describe the state in terms of the populations at discrete periods of time. Letting math be the discrete-time index (e.g., the day or month number), we can write

math

(2.13)

where math is the hare birth rate per unit period and as a function of the food supply math, math is the lynx mortality rate and math and math are the interaction coefficients. The interaction term math models the rate of predation, which is assumed to be proportional to the rate at which predators and prey meet and is hence given by the product of the population sizes. The interaction term math in the lynx dynamics has a similar form and represents the rate of growth of the lynx population. This model makes many simplifying assumptions -- such as the fact that hares decrease in number only through predation by lynxes -- but it often is sufficient to answer basic questions about the system.

To illustrate the use of this system, we can compute the number of lynxes and hares at each time point from some initial population. This is done by starting with math and then using equation (2.13) to compute the populations in the following period. By iterating this procedure, we can generate the population over time. The output of this process for a specific choice of parameters and initial conditions is shown below:

Predprey-discrete.png

Using the parameters math, math and math in equation~\eqref{eq:modeling:predprey} with daily updates, the period and magnitude of the lynx and hare population cycles approximately match the data in Figure 2.4. While the details of the simulation are different from the experimental data (to be expected given the simplicity of our assumptions), we see qualitatively similar trends and hence we can use the model to help explore the dynamics of the system.

MATLAB files for the discrete time model:

Continuous Time Model

We now replace the difference equation model used there with a more sophisticated differential equation model. Let math represent the number of hares (prey) and let math represent the number of lynxes (predator). The dynamics of the system are modeled as

math

(3.31)

In the first equation, math represents the growth rate of the hares, math represents the maximum population of the hares (in the absence of lynxes),\index{carrying capacity, in population models} math represents the interaction term that describes how the hares are diminished as a function of the lynx population and math controls the prey consumption rate for low hare population. In the second equation, math represents the growth coefficient of the lynxes and math represents the mortality rate of the lynxes. Note that the hare dynamics include a term that resembles the logistic growth model (3.30) in Chapter 3 - Examples.

Of particular interest are the values at which the population values remain constant, called equilibrium points. The equilibrium points for this system can be determined by setting the right-hand side of the above equations to zero. Letting math and math represent the equilibrium state, from the second equation we have

math

(3.32)

Substituting this into the first equation, we have that for math either math or math. For math, we obtain

math

(3.33)

Thus, we have three possible equilibrium points math:

math

where math and math are given in equations (3.32) and (3.33). Note that the equilibrium populations may be negative for some parameter values, corresponding to a nonachievable equilibrium point.

Figure 3.20 shows a simulation of the dynamics starting from a set of population values near the nonzero equilibrium values.

Predprey-sim.png   Predprey-pp.png

Figure 3.20: Simulation of the predator--prey system. The figure on the left shows a simulation of the two populations as a function of time. The figure on the right shows the populations plotted against each other, starting from different values of the population. The oscillation seen in both figures is an example of a limit cycle. The parameter values used for the simulations are math, math, math, math, math and math.}

We see that for this choice of parameters, the simulation predicts an oscillatory population count for each species, reminiscent of the data shown in Figure 2.6.