Fox Rabbit Field Model < Previous page Next page >

Artificial Life: Swarm Behaviour

You can freely download the Fox Rabbit Field Model program. Before you do, first read the copyright statement.

See also:

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 (symbolically called the Fox ) and a prey (the Rabbit ).

Besides this 'Field Model', the website also describes a very different approach to simulate the behavior of preditors and preys: the 'Math Model'. Next, the website investigates three examples from real life, in order to see whether the two theoretical approaches (the 'Math Model' and the 'Field Model') have any resemblance with reality and whether they have value in order to understand these real-life phenomena.

The links to the 'Math Model' and the three real-life applications are shown above.

Both Fox Rabbit programs are examples of 'a-life', which stands for artificial life: a phenomenon in a computer program that simulates certain aspects of real, biological life.

Besides the Fox Rabbit computer programs, Roorda wrote another a-life program: Genimal. Where Genimal simulates evolution through genetic algorithms, mutations and survival of the fittest, andFox Rabbit Math Model calculates population growth and shrinkage with the aid of mathematical formulae, Fox Rabbit Field Model simulates emergent group behavior and the rise and fall of populations of predator and prey species. With surprising results.

In this web page:

Comparison with the Math Model

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

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 foxes (the preditors) and rabbits (the prey).

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 another program by Roorda does: Fox Rabbit Math Model.

Another kind of simulation does not make use of mathematical formulae but of a large number of elements ('foxes' and 'rabbits') that actually are placed within their landscape, and then are free to behave according to certain pre-programmed behaviour. This what the program on the present page does.

Imagine: a region filled with grass. Think of e.g. Europe (as in the image above), or just a rectangular field (as shown below), or anything else. Grass grows everywhere. On land, that is, because the region may partly be filled with water: oceans, seas, or lakes.

Everywhere where grass grows. rabbits grow too. As it goes with rabbits, they multiply; and the speed at which their population grows is directly proportional with the local number that is alive. In other words: the more rabbits you have, the more rabbits you get.

In the maps in the program, the rabbits are visible as small dark-blue dots. Very small: you may think you are watching, say, dust or so, but they are rabbits, if you can believe it. The close-up on the right shows them a little bit more clearly.

This may sound as a paradise for the rabbits. But alas, there are foxes too. Foxes eat rabbits. When they do, the number of rabbits locally decreases, evidently. Besides: if foxes succeed in eating enough rabbits to grow very strong, they multiply.

The foxes are shown in the maps as larger red squares: you can see them more easily as individual creatures.

Fox behavior in this program is very simple. The program goes through a loop of events. In every loop, or 'timestep', each fox does this:

- First it sees if there are one or even two rabbits within jumping distance (i.e. a couple of pixels on the screen).
- If so, the fox tries to jump to them, catch them and devour them. However, this is not always successful.
- If, thanks to consuming one or two rabbits, the strength of the fox reaches at least at a certain minimum level, it procreates. This is not a very thrilling event, as the foxes in this program are not male or female. Hence, sex is very simple: a new fox pops out and starts doing the same as its parent.
- If no rabbit is within jumping distance, the fox suffers. It loses strength.
- If the strength gets below a certain minimum level, the fox dies. It vanished from the screen.
- If the fox does not eat and does not die, it jumps a few pixels in a random direction. Yes, they are not very smart. (They don't jump into the water: they are not that silly.)

That's it. In other words, the fox does not:

- Make any plans for the future.
- Coordinate its actions with other foxes. Actually, it ignores all other foxes completely.
- See any rabbits beyond its (very small) jumping distance.
- Evolve, improve, learn, practice, etc.

Experimentation

It is fascinating to compare the development that unfolds when the process is started, with the one that the Math Model exhibits. The mechanism is very different: where the Math Model is simply based on a set of two mathematical formulae, the A-life model simulates the process in a kind of 'natural environment' where 'real' (virtual) foxes hunt their preys. Below, the two processes are compared in more details.

The program enables the user to perform experiments. The landscape can be changed: it can be selected out of four different regions.

The initial number of rabbits and foxes can also be changed.

Besides, some characteristics of the foxes can be adapted. There are three parameters:

- Fertility: the minimum strength required to procreate. If the parameter is lowered, the foxes will be more fertile and produce more offspring.
- Hunting speed: the distance a fox is able to jump, expressed in pixels on the screen.
- Hunting skills: the likelihood that the foxes will be able to catch rabbits when they make their jumps towards them.

Varying these three parameters, the user is able to test if the following hypothesis is true:

'A species of animal is more successful if it is (1) more fertile, (2) faster and (3) more skilled.'

Emergent group behavior

The actions of the foxes are 100% arbitrary. Also, they act completely independent from each other. So, it is fascinating to find that an apparent group behavior emerges spontaneously, as the images in this section prove.

First, watch the first three images on the right. They are all taken in a rectangular ecosystem without any objects or barriers.

The first image shows the initial state. A low number of foxes is distributed randomly through the landscape.

In the second image, the foxes have started preying the rabbits, which starts to create a less-than-random distribution.

After a while, the foxes have formed what seems to be hordes of wild animals storming the rabbit population in an apparent attempt to kill them all.

It is this 'horde-like' behavior that creates the illusion of planned or at least coordinated action. Actually, no coordinated behavior has been programmed at all.

Another example shows the same kind of emergent pattern.

This time, a map has been selected that looks pretty much like the Great Lake Area in North America.

Starting with an initial random distribution, in this example after a while the population density of the foxes has become quite low: probably the foxes have recently had tough times.

Some time later, the surviving foxes have spontaneously formed a horde, which storms the world like the armies of Attila the Hun.

As the horde storms to the West, it eradicates the entire rabbit population in its passing.

After the horde has passed, slowly the rabbits succeed in recreating a rather dense population.

Finally, the foxes reach the uttermost west. Now there is a big risk that all of them will die due to lack of food.

The fox population was too greedy, and is now risking extinction...

A striking illustration of overexploitation, isn't it?

Comparison with the Math Model

In the computer program Fox Rabbit Math Model, i.e. the model that makes use of mathematical formulae, it appears that the development of the populations of foxes and rabbits is cyclic: it repeats itself exactly, over and over again - at least in certain situations, as you can see there.

In the present program, the Field Model, such a cycle is less clear. The typical periodic shape of the graphs of the theoretical model can be recognized vaguely in some parts of the A-life graph above on this page; but other parts hardly exhibit the same behavior.

In some simulations, the cyclic behavior can be recognized more clearly, as the graph below illustrates.

It is interesting to use the results of this graph for a phase diagram - in which the numbers of rabbits and foxes are shown along the horizontal and the vertical axes - and then to compare that with a phase diagram of the Math Model. In the present case, the consecutive cycles are recognizable but certainly not identical. In order to distinguish the cycles, they have been named 'cycle 1' till '6', and each cycle is given its own color:

The shapes of the 6 cycles remind of the characteristic shape of the phase diagram of the theoretical model, but of course there is much more random variation.

A phase diagram of the Math Model -->

In some cases, the cyclic pattern is hardly present initially, but the ecosystem 'finds' the cycle after a while, as in the following graph.