Maggots in the Wiggle Room

by Dirk Brockmann

This explorable illustrates an evolutionary process in an "ecosystem" of interacting species (cartoon maggots, in this case). Individuals move around in their enviroment, replicate and eat each other. Optionally, mutations can generate new species. The system is similar to the Explorable A Patchwork Darwinge, only a bit more animalistc and dynamically slightly different. However, for this one here, you need a bit more patience in order to observe interesting effects.

Press Play to start the simulation and keep on reading for more details.

This is how it works

Initially the environment hosts \(N=10\) individuals each belonging to a different species \(X_n\) with \(n=1,...,N\). Each color corresponds to a different species. Individuals can move around at an overall speed and randomly change their direction, they wiggle. You can change these parameters with the corresponding sliders.

Each species \(X_n\) has a species specific replication rate \(\alpha_n\) at which individuals produce little eggs. A large rate implies that, compared to other species, eggs are produced more frequently. You can speed up the simulation by increasing the overall replication rate. The replication rate is also the fitness of a species. We can describe this by the reaction

\[X_n\xrightarrow{\alpha_n}2 X_n.\]

Also, when two individuals run into each other one of them gets eaten by the other at equal odds, schematically captured by the reactions


Because \(n,m=1,...N\) these reactions also account for cannibalism when \(n=m\), the reaction with \(n\) and \(m\) reversed is also covered.

The combination of the two sets of equations guarantees that the population reaches a dynamic equilibrium in which replication and eating each other balance so the overall number of individuals (eventually) remains fairly constant.

Try this

Once you've pressed Play observe that individuals produce little eggs of the same color and the population grows. You can see that eventually there will be more species with the highest fitness. A histogram is shown in the control panel. You can speed up the simulation by increasing the replication rate. If you want more action, decrease the speed and increase the wiggle.


Eventually all the species with lower fitness will go extinct and only the fittest species will prevail and fixate in the population. Consequently the mean fitness (indicated by a red dot in the plot) moves slowly to the right, the mean fitness of the population increases until a uniform population is attained.


You can add mutations to the model by increasing the corrensponding slider. When the mutation rate is non-zero, every hatching event can produce an individual of a new species with a new fitness value. The new value can be a bit smaller or a bit larger than the parent's fitness. Whenever a mutation event occurs, a flash lights on the fitness axis.

Quite often newly introduced species are eaten immediately but every now and then species with higher fitness establish in the population.

If you wait a while the fitness distribution is slowly moving to the right.