Lotka-Volterra Model:

This model was given by independently by US Mathematician Alfred Lotka and Italian Mathematician Vito Volterrra to simulate the population variation of a simple predator prey system.

The system is defined by the two equations:

(1)
(2)

F = number of foxes, R = number of rabbits.

The equations can be interpreted as follows:

a) Rabbits are known to multiply rapidly at exponential rates. If the number of foxes is zero, the first equation reduces to being one of exponential growth rate. The underlying assumption is that there is abundant food supply for these nibbling creatures!

b) The presence of predators will lead to a negative contribution to the growth rate. This contribution is taken as proportional to the chance of an encounter between the predator and the prey, which is taken as the product of the populations of the two species. If there is no predator or no prey, the second term becomes zero.

c) The first term of equation 2 is similar to the second term of equation 1 - except for the sign of course! The predators will grow at the expense of the prey. However, the proportionality constant need not be same. This is to say that the rate at which predators consume may be different from the rate at which they multiply.

d) The second term of equation 2 gives exponential decay in predator population in absence of the prey.

This model was solved by using Runge Kutta integration (Lotka_RK). The population variation is shown in Figures 1 and 2 below. Figure 1 shows that the populations of foxes and rabbits vary cyclically with time. Figure 2 shows that the predator-prey population variation results in a closed loop plot. The two figures show a periodic variation of populations of the predator and prey. This loop encircles the point (25,8) which is the non-trivial stationary point for my choice of co-efficients (a = 0.04, b = 0.005, c = 0.02, e = 0.5: a/b = 8 & e/c = 25 ). At the stationary points, the time derivatives of the population become zero.

Figure 1.     Figure 2. 

 

                                                      

But a jungle is not a jungle without a lion. So, I extended the above formulation to apply for three species. Lions prey upon foxes and rabbits and multiply. In absence of any prey, their population decays exponentially. Foxes are devoured by lions and they in turn prey upon the hapless rabbits. Rabbits are eaten by foxes and lions. The equations that I solved are:

 

 

The results for the simulation are summarized in Figures 3 - 10. Figure 3 shows the population variation of the three species over a large time duration. Figure 4 shows the same plot over a smaller duration. The populations of fox and lion show spikes of small duration with peak value showing very small decrease over time. In absence of predators, rabbits multiply exponentially which results in a sudden jump in the population of foxes and lions, resulting in turn in a decrease in rabbit population. 

 Figure 3  Figure 4

                                                                            

Figures 5, 6 and 7 show 2D plots of variation for two species taken at a time (a1 = 0.009, a2 = 0.0009, a3 = 0.049,  a4 = 0.0016, a5 = 0.003, a6 = 0.01, a7 = 0.25, a8 = 0.05, a9 = 0.03). Unlike the two species case, the cycles don't overlap here because there is a continuous decay in the populations of the predators. The nature of evolution of different populations of course depends on the consumption rates of the predators, reproduction rates of the various species, burrow-digging ability of rabbits, stealth skills of foxes, among other things! In other words, the choice of coefficients  A proper choice of these coefficients should result in never ending population variations where no species goes extinct. 

Figure 5  Figure 6   Figure 7

                                                                                                                                

Figures 8 - 10 show the results for a different choice of coefficients (a1 = 0.009, a2 = 0.0009, a3 = 2.7, a4 = 0.0016, a5 = 2.55, a6 = 0.01, a7 = 5.15, a8 = 0.03, a9 = 0.3) and initial population. This choice of coefficients was made by evaluating 3 of the coefficients from the other 6 arbitrarily chosen coefficient and 3 arbitrary population values, so that all the three population derivatives w.r.t. time are zero. Of course, the initial population values were taken around this arbitrary population and not at the same point (or else the populations will remain constant). Note that the scales are different on the three plots. The populations go through several cycles of growth and decay to create a likely picture of the population variations over a long time.

Figure 8   Figure 9 Figure 10

                                                                                                                                           

Code:

1. Lion_RK

2. StdDraw

3. Lotka_RK