Sharks and Minnows

This is a predator-prey model, with sharks as predators and minnows as prey. The minnows also feed on plankton, which is continuously regenerated. The difference between this and other predator prey models is that there are options to (a) have the sharks hunt minnows (b) have the minnows try to escape from the sharks and (c) let the minnows school. There is quantitatively different population dynamics when each of these options is selected. This model therefore serves to show the versatility of agent based modeling in complex population dynamics.


created with NetLogo

view/download model file: Sharks_and_Minnows.nlogo

WHAT IS IT?

This is a predator-prey model, with sharks as predators and minnows as prey. The minnows also feed on plankton, which is continuously regenerated. The difference between this and other predator prey models is that there are options to (a) have the sharks hunt minnows (b) have the minnows try to escape from the sharks and (c) let the minnows school. There is quantitatively different population dynamics when each of these options is selected. This model therefore serves to show the versatility of agent based modeling in complex population dynamics.


HOW IT WORKS

Without hunting, evading or schooling, the predator-prey part of the model works as follows. Sharks and minnows move about at random, when a shark finds itself on the same patch as a minnow it consumes it and gains some food-energy. Minnows are constantly grazing on available plankton and gaining energy if they find some. Plankton is replenished at a particular rate. Sharks and minnows also lose energy at a rate determined by their metabolism and at a rate proportional to their speed. In this way a faster speed is more costly. If sharks and minnows gain enough energy they produce one offspring, giving it losing an amount of energy called birth-energy, and giving it to their offspring. If the energy of a shark or minnow falls below 0 they die.

Hunting Option: If sharks are allowed to hunt they swim at random unless they sense at least one minnow in a cone determined by their field of view and sight range. Then they try to turn towards the nearest of these minnows and move forward at a hunting speed, which is set by a slider. Their ability to turn is limited by a maximum turn angle.

Escaping Option: If minnows are allowed to escape, they swim at random unless they sense one or more sharks in a cone determined by their field of view and sight range. In this case they turn away from the nearest of these sharks and move forward at an escaping speed which is set by a slider. Their ability to turn is limited by a maximum turn angle called the escaping angle

Schooling Option: If minnows are allowed to school then they will try to do so provided they sense no sharks. Schooling is governed by three behaviors: avoiding, approaching and aligning. First, if there is a fellow minnow that is too close (as determined by a safety range which is set by a slider), a minnow will avoid it by turning away from it and moving forward. If there is no minnow that is too close, then a minnow will look at all the minnows in its cone of view and attempt to change its heading towards each of them in turn. The angle that it can turn is weighted by how close the minnow is to it. It makes more of an effort to turn towards closer minnows. After doing this it will try to align itself with the same heading as all the minnows in its cone of view, again turning by at most an angle, which is weighted by how close the minnow is to it. This procedure is slightly different from other methods of mimicking flocking and schooling in that there is nothing probabilistic and there is no averaging of headings (see the flocking module in the NetLogo models library, for example).


HOW TO USE IT

Choose the initial populations, food energy, metabolism and birth-energy for the sharks and minnows, and choose a growth rate for the plankton. Then click setup and go. You may choose any of the options, hunting, escaping or schooling at anytime that it Is running. Each of these options has its own sliders that govern the behavior. You can set speeds for escaping and hunting, and you can set the parameters that govern schooling, including the turn angle, which determines the maximum amount a minnow can turn, the sight-range which is the distance a minnow can see, the field of view, and the safety range, which is the closest a minnow will approach an other minnow before trying to avoid it. If you want to study the population dynamics of the minnows with a fixed number of predators, you can turn the shark dynamics off (this means sharks are not born and do not die). You can also turn the minnow dynamics off if you want to study some behavior, such as schooling, without worrying about minnows dying or being born.

At anytime you can add a shark by clicking on the world view. You can remove sharks or harvest minnows by clicking on the relevant buttons.


THINGS TO NOTICE

The dynamics can be quite complicated, and the survival of the sharks and minnows can be quite sensitive to the parameter choices. As with most predator prey models, wild oscillations in population size occur quite often, and typically precede an extinction of one or both species. It should be possible to find parameter choices where the populations are relatively stable.

The escaping, hunting and schooling options can change the dynamics dramatically, but not always in the way expected. With escaping and hunting both on there are typically fewer wild oscillations in population, although shark numbers tend to decrease and minnow population increases. With schooling turned on, there is only a noticeable difference in dynamics for cases where there are relatively few sharks. When there are a lot of sharks the minnows do not have much time to school.


THINGS TO TRY

Try finding parameter choices that lead to relatively stable populations of sharks and minnows with the hunting, escaping and schooling options off. Now try adding each of these options in turn to see what happens. Try the same thing with different combinations of these options.

If you have oscillating population dynamics, try harvesting minnows and different times to see if you can stabilize the population.

Try turning the shark dynamics off and choosing different numbers of sharks to see how that effects total population of minnows.

Try turning both shark and minnow dynamics off and have no sharks. Play around with the schooling parameters to see what type of schooling you can get.


EXTENDING THE MODEL

There are a lot of parameters in this model, not all of which are shown on the sliders. One might ask the question – what values of these parameters optimize the total numbers of minnows, what values optimize the total number of sharks? One possible way to answer these questions would be to allow the parameters to change dynamically, by having new minnows and sharks have slightly modified values of these parameters. Over time the values would change, and the “fittest” minnows and sharks would emerge. This may or may not result in more minnows and sharks.


RELATED MODELS

This model is the first of two models on shark-minnow population dynamics. The second model implements one possible extension to the model to demonstrate evolution.


COPYRIGHT NOTICE

Copyright 2006 David McAvity

This model was created at the Evergreen State College, in Olympia Washington
as part of a series of applets to illustrate principles in physics and biology.

Funding was provided by the Plato Royalty Grant.

The model may be freely used, modified and redistributed provided this copyright is included and it not used for profit.

Contact David McAvity at mcavityd@evergreen.edu if you have questions about its use.