Your browser version is outdated. We recommend that you update your browser to the latest version.

Fox Rabbit  (theoretical model)

The program shown on this page is a simulation of the growth and decay of two species in a fixed landscape. The species involved are a preditor (the fox) and a prey (the rabbit).

Such a simulation can be made in several ways. One of them is the application of a set of mathematical formulae that describe the model completely, leaving no opportunity for coincidence. This is what the program shown on the present page does.

Another kind of simulation does not make use of mathematical formulae but of a large number of elements that actually are place in their landscape, and then are free to behave according to certain pre-programmed behaviour. This kind of programming is called 'artificial life', and it has been done by Roorda in another program: Fox Rabbit (A-life).

Introduction: About simulations

Theoretical backgrounds

Results from changing the start conditions

The Phase Diagram

Exercises for students, linked to Roorda's books Fundamentals of Sustainable Development and Basisboek Duurzame Ontwikkeling, make use of the computer program shown on this page.

Download: Fox Rabbit Theoretical Model.

Introduction: About simulations

The science called futurology has a method that enables us to investigate futures. The Fox Rabbit program is an example of this method. 
In his university textbook Fundamentals of Sustainable Development, Roorda writes about this method (chapter 6):

One could call it ‘experimental futurology’, given that it envisions the future in such a way that it can be experimented with. In reality, we are not dealing with the future here, but rather with one possible future. The process involves using a computer and specially designed applications that are called simulation software.

The word simulation literally refers to ‘imitation’ and it involves mimicking the real world, or a part thereof, on a computer. Some of this software was designed as a game, with the Sims and SimCity amongst the best known of these. Both those names come from the word ‘simulation’. Other simulation packages are intended for more serious purposes, being used to see what the weather will be in the near future, for example, for the weather forecasts that we see and read. A simulation program uses a model, which is a simplified representation of reality. Simulation software is not the only type of model – a plastic kit of an airplane is also a model, just like a map in an atlas is a model of a real country. A photograph serves as a model of the subject pictured, and a series of formulas that collectively detail the orbits of the planets is a model of a planetary system.

The word ‘simplified’ in the definition of ‘model’ is very important, as every model, be it a toy airplane, a SimCity landscape or a representation of the atmosphere in weather software, is derived from the actual situation by simplifying many of the real aspects. This is inevitable, as a model of the universe that is not simplified in any sense would simply be the universe itself. Reality is simplified through the following:

  • shrinking the scale
  • omitting surrounding areas
  • omitting some of the components
  • simplifying other components
  • a two-dimensional representation of a three-dimensional scenario (e.g. on a computer monitor)
  • simplifying events, the underlying natural laws or the economic or judicial laws

A common error people commit when using models – especially simulation software – is that they forget about the simplifications and draw conclusions about the real world from the simulation results without exercising any caution whatsoever.

The choice of model is the first step when performing a simulation, with the second step involving the selection of a scenario. A scenario is the plan for the events that are set to take place in the simulation. The word originally referred to plays – and later, films – to outline the scenes that made up the story, wherein a scenario required that every scene was written out in advance. This is not required for a computer simulation, where the only thing necessary is that the starting situation is determined. The computer then calculates, with the aid of the model, the step-by-step progress of events from that starting point onwards. This is how the future is ‘calculated’.

An example demonstrates this. The example is often labelled as the ‘prey-predator model’. This model examines the progress of two types of animal – predators and prey, such as foxes and rabbits. The model is instructive as, instead of foxes and rabbits, it could just as well deal with people and their consumption of food and other resources. This allows investigating the consequences of overexploitation.

In its simplest form the model consists of just two mathematical formulas. One of them deals with the increase in the fox population when they eat rabbits, and with its decrease when the foxes die of old-age. The other formula deals with the decrease in the rabbit population when they are eaten by foxes, and with its increase through reproduction.

This model is extremely simplified. The genders of the foxes and rabbits don’t play a role, nor do the landscape and the grass growth, the change of seasons or the emigration and immigration of the foxes and rabbits to or from other areas. Another thing not included in this model is the role played by chance. Because the chance factor is absent, the future becomes wholly predictable, and once the starting situation is determined – being the starting population of the rabbits and the foxes – the scenario becomes established.  Once the computer starts working with this model, it returns a neat and regular graph like the one [on top of this webpage]. Repeat the simulation using the same scenario and the exact same graph will be reproduced.

Theoretical backgrounds

To Roorda's university textbook Fundamentals of Sustainable Development also belongs a large set of exercises. Some of them (exercises 6.6 and 6.7) make use of the Fox Rabbit Theoretical Model program. One of them explains the theoretical backgrounds.

The Fox Rabbit program is based on a mathematical model for the natural population development of predators and prey, for which the foxes and the rabbits are taken as examples. The model, consisting of a set of two linked first order, non-lineair differential equations, was first formulated by Alfred J. Lotka and Vito Volterra, and is often named after them the Lotka-Volterra Model
In exercise 6.7 of Fundamentals of Sustainable Development, the equations are formulated as follows:

In the above H (‘hunted’) represents the number of rabbits and P (‘predator’) the number of foxes. The letters r, a, b and m are constants, to which, for example, the following values can be assigned:

                H0 = 90000     P0 = 200     r = 6/P0     a = 10/(P0H0)     b = 0.1/(P0H0)     m = 0.15/P0

The formulae can be understood as follows:

  • The growth rate of the rabbit population (dH/dt) is directly proportional to the existing number of rabbits, hence: r.H.
  • The decrease of the number of rabbits is due to the number of them that is caught by the foxes, and is directly proportional to both the number of rabbits (the more rabbits exist, the more likely that one of them is caught) and the number of foxes (the more foxes exist, the more likely it is that one of them cathces a rabbit), hence: -a.PH.
  • The growth rate of the fox population (dP/dt) is directly proportional to the number of rabbits they eat, hence: b.PH.
  • Finally, the decrease of the fox number is due to natural death, and is proportional to the number of foxes, hence: -m.P.

This explanation makes clear that the Lotka-Volterra model indeed is a severe simplification of reality. Nevertheless, the model shows some interesting characteristics that show a remarkable resemblance with real life in various contexts. The model has been used with a certain level of success, not only in biology & ecology, but also in economy and in historical science, e.g. describing human population development.

Results from changing the start conditions

When the initial numbers of foxes and rabbits are varied, the populations will vary over time differently, too. This is shown below. First, the graph on top of this page is repeated. Next, two different developments are shown. The varying initial numbers of animals are shwon in the program window.

(a) Default start numbers: 200 foxes; 90,000 rabbits.


(b) Only 10 foxes at t=0. As a consequence, the foxes take longer to build up large numbers.
In the meantime, more rabbits are born
, and thanks to that the foxes grow to higher numbers - compared with (a).
However, after climbing higher (in numbers), the foxes fall deeper.


(c) Again only 10 foxes to start with; and this time just 20,000 rabbits.
Now, the rabbits too take  a longer time to build up, which  slows down the foxes' population growth even more. 
When after a long time the foxes finally get to higher numbers, their population virtually explodes.
Which kills nearly all rabbits, which consequently kills nearly all foxes.

The Phase Diagram

The computer program allows to save the numbers of foxes and rabbits over time in a text file.

With the aid of these numbers, it is possible to create another type of graph, in which the time is not visible on one of the axes. Instead, the number of rabbits is plotted on one of the axes, and the number of foxes on the other. The result is called a 'phase diagram'.

The above graphs clearly show that the Lotka-Volterra model results in a periodic process, which repeats itself again and again. When such a periodic process is plotted in a phase diagram, the result is a closed loop. 

Varying the start conditions renders different loops - unless several sets of starting conditions are situated on the same loop. In the graph below, several loops are shown in one diagram. 

It is fascinating to compare this phase diagram with one that has been created using the A-life version of the Fox Rabbit program. You will find this alternative phase diagram here.

The above diagram shows that there is some kind equilibrium point. When a process starts near this point, a relatively stable ecosystem results, as in graph (a). The further away the starting point of a process is from the equilibrium point, the more explosive the ecosystem behaves - as in graph (c).

Careful studying of the model with the aid of the computer program proves that the equilibrium point is at initial values of 135,000 rabbits and 120 foxes. The proof that these numbers are indeed exactly at the equilibrium can be given by inserting them in the computer program:

 (d) Starting at the equilibrium of 120 foxes and 135,000 rabbits results in a stable state