A real ant colony simulator (original) (raw)
MYRMEDROME is an ant colony simulator which tries to imitate the ants’ life as well as possible without introducing artificial effects.
The simulation is based on the fundamental principle that each ant is not enough intelligent to understand it lives in a complex community, nor it is able to organize tasks in its colony. Therefore, each ant lives and works following some simple rules interacting (unaware of it) with the others by chemical signals. These thousands of connections rise a self-organization of the whole colony, which leads an observer to believe that someone imposed some kind of strategy. This Someone is named... Evolution.
In its complexity, the code has a very simple structure. At every single step all the ants’ parameters are updated and their next positions are computed.
No ant knows that it is part of a colony and its actions are affected only by nearby events.
Ants’ rules are not strict. There is always a probability that some action is not performed properly. This makes the system flexible and fault tolerant. As a consequence, after an unexpected event such as the removal of some food, the whole system returns to a stable configuration.
MYRMEDROME simulates the ants’ life in a territory. The social organization is based on a caste system:
Workers:
- they explore the territory looking for food. Once they find it, they eat and fill in ingluvies (social stomach).
- using the sun to get the right direction, they come back to the
nest leaving a scent on the ground. The scent evaporates in
time. Other workers of the same colony are attracted by the
scent.
- once they came back to the nest, they leave the food which is
used to feed the queen and larvas.
- if they have a full ingluvies they regurgitate food in the mouth of the other ants of the same colony (trophallaxis), so that the
resources are distributed to the whole colony.
- if they meet an ant belonging to a different colony they can
either fight or come back to the nest dropping a scent that
alerts soldiers and leads them to the battle zone.
- if they meet a moving prey, they jump over it and try to kill it.
Every worker over a prey has a probability to fall down.
Every prey has a vital strength which is proportional to its size.
The strength decreases in a measure depending on the number
of workers over it and on the duration of the attack.
Soldiers:
- they protect the entrance of the nest.
- they do not look for food and survive only by trophallaxis with
workers and other soldiers.
- whenever they find an alert scent, they run toward the battle
zone, search for enemies and then fight. After that, they come
back to the nest.
In MYRMEDROME you can adjust a number of parameters:
- number of antagonistic colonies (max 5) and positions of the
nests.
- number of workers (max 1500) in each colony.
- number of soldiers (max 1000) in each colony.
- maximum age for ants.
- maximum time an ant can survive without food.
- meal's duration.
- fights' duration.
- evaporation rate of the scent indicating food.
- evaporation rate of the alert scent.
- time needed by a larva to become an ant.
- food needed by a larva to become an ant.
MYRMEDROME gives the user a number of tools to manage simulation in real time:
- Magnifier:
zoom in and zoom out.
- Hand:
it allows to choose the visible part of the territory.
- Nose:
switch on and off the visualization of the scent indicating food.
- Danger:
switch on or off the visualization of the scent indicating
enemies.
- Viewfinder:
select an ant or a nest switching on the information bar.
- Slipper:
camera follows the selected ant positioning it always at the
center of the screen.
- Pick:
pick an ant and move it in another position.
- Finger:
kill ants and erase scents.
- Food:
add and remove food.
- Worm:
add a living prey in the territory.