There are always two interesting parts in the field of Biomimetics. The first one belongs to biological phenomena and the other one is the technical part. In all our previous articles we were describing some interesting natural systems or structures and processes, but so far we have not discussed how they can be put in a numerical form. In the era of computers, practically everything is possible in terms of computing, and mathematical models are actually becoming a standard methodology in scientific researches.
In my next two articles, I will focus on the simulation of natural systems. This means, how to numerically simulate the behavior of a natural system and consequently be able to predict the final result. There are so many different possibilities to explain this, but I would like to start with a predator-prey system. Instead of choosing a simple fox-rabbit example, let me focus on a swarm of fish and a predator species. For the field of Biomimetics, the formation of swarms, flocks or schools (name depending on the animal species) is highly interesting. Animals which are part of a swarm experience energetic advantages (e.g. flying in slipstream) as well as in predation or escaping predators (confusion effect or “dilution” of an individual). Especially the mechanism leading to the formation of a swarm and how to keep a specific formation up throughout a long time or travelling distance is highly impressive. All this is already applied in scientific research where artificial fish-swarm algorithms are used for neural network applications [1].
Description of the natural system
The swarming behavior of fish (also called “schooling” [2]) is a facultative choice of certain species for social reasons of mating or defense. The mechanism to form a fish swarm is actually very simple as fish need to follow only three basic rules:
- Move in same direction as neighbor
- Remain close to neighbor
- Avoid collision with neighbor
To be able to behave according to these rules, fish need a fast response system concerning sight – the ability to school is lost in the dark, as the fish are not capable of seeing each other anymore.
The ability to form a fish school is not taught to young fish intentionally. They have to learn this behavior instinctively and practice the technique in pairs to be able to join a swarm as they mature.
Another interesting aspect about fish school is, that there does not exist a group leader who determines the swarm’s behavior. The direction and velocity of the swarm is mostly a collective compromise between all fish inside the swarm.
An interaction between different animal species which is often closely related to fish schooling is predation. Predator fish which often feed on smaller fish try to hunt them down as soon as they see or sense a possible prey. On the other hand, they try to avoid other predator fish – as they represent possible competitors for their prey. In some cases, predator fish may also form a swarm to hunt more efficiently or use specific techniques.
As a reaction to approaching predator fish, the prey escapes as soon as a predator enters its visibility or sensing range. Prey fish often form swarms to confuse predators (they appear as one big mass which can be interpreted as a possible predator itself) or they simply prefer to move in a big mass to have a less chance to be hunted (they can hide inside the swarm) [3].
Simplification before the simulation
It is not possible to describe such a complex natural system with all details in a programming language. Simplifications are certainly needed if we want to have a model with reasonable calculation time but still exhibiting realistic behavior. For this example, the prey and predator fish will be visualized simply as two different shapes (triangle and a circle). Fish will be only allowed to move in a limited space – the “ocean”- in a coordinate system (for example, 1 km×1 km). Different forces of attraction or repulsion between fish will be defined depending on their distance. This will enable them to start forming swarms immediately after the program starts running. The simulation will run for a certain amount of time steps until one big swarm of prey fish will be formed. This can take a long time, as the fish (or later on small swarms) need to “find” each other in the space – depending on their velocity and repulsion forces caused by predators.
For the first part of this article it is enough to understand the complexity of such a natural system and the computer simulation of it as a challenging task. The principles of swarming organisms must be put in an equation form, which is why it is so important to make this first step of basic understanding as well as abstraction and simulation correct. Afterwards, details can be added, depending on our goal or computer power.
In the second part, I will show you how this system is implemented in Matlab software in order to gain interesting simulation results.
References:
- [1] Evolving neural network classifiers and feature subset using artificial fish swarm, Mechatronics and Automation, Proceedings of the 2006 IEEE International Conference
- [2] Shoaling and schooling
- [3] Prey swarming: which predators become confused and why? Animal behaviour 74 (2003), 387-393