On how to live longer (and being an adult)

Hi!
In this post I’m going to show you what happens when our sheep and wolves are born directly adults and, on the contrary, when a period of childhood is defined. You might want to read the first post before, it is very short and explanatory.

You can now install the Game of Evolution very easily from the GitLab page of the project.

There are two parameters you can play with: sheepA and wolfA. They are ranges (e.g. 20-80) which define from what age (in number of turns) to what age a given animal can procreate. For example, if sheepA = 20-80, only a sheep with age between 20 and 80 will be able to procreate; if a sheep that is too young or too old tries anyway, nothing happens, it just loses its turn while he could have moved or eaten some grass.

In a first experiment, let’s see what happens when both sheep and wolves are born adults.
For now, the maximum age for sheeps and wolves is set to 100 and 200 turns respectively, which means that if a sheep is still alive at the beginning of its 100th turn, it will die instantly, no matter its health or hunger.
So, here we want sheepA = 0-100 and wolfA = 0-200.
The full configuration file I have used (with the –configFile option) for the first experiment is here. This generates an file (named demographics-a.txt according to the DemLogger option) with some demographic information that you can analyse with the demographic_analysis.nb Mathematica notebook in the mathematica/ folder of the project. This requires Mathematica, but if you don’t want to install it you can still use this cloud notebook I made (I don’t know how long it is going to be online, though).
Here are the evolutions of the population size and the life expectancy of our animals (on x-coordinate is the number of turns):

experiment-a
Experiment a: both sheep and wolves are directly born adults

We observe a transitional phase at the beginning, which is perfectly normal: during each turn one sheep and one wolf with random DNA are generated and put on the map. Those random animals are very unlikely to act “rationally” — that is to eat when they are hungry or to move when no food is nearby for instance — and thus die very quickly. The population stays very small until a smarter sheep appears, an sheep which knows what to do to survive and procreate (note that there is no sexual reproduction mechanism in the Game of Evolution yet, what happens is more like a mitosis). This lead to an explosion of the sheep population, which is stopped by the limit of the map: the map has 64*128 tiles, each on them producing one unit of grass per turn while a sheep needs an average 4 units of grass per turn (so the map can sustain a population of 2048 sheep maximum). After that, the wolves can thrive.

The average values (after time t = 50 000 in order to skip the preliminary phase) are:

  • sheep population: 730
  • wolves population: 660
  • sheep life expectancy: 5.1 turns
  • wolves life expectancy: 23 turns
experiment-a-long
Experiment a on a longer period of time

We clearly see that the animals die very young (they could theoretically live 100 and 200 turns respectively).
On the graph it looks like the wolves life expectancy is increasing, so we can wonder whether after a time long enough it will reach the theoretical limit of 200 turns. The answer is no: I have run the same experiment for 2 million turns and here are the results:

The average wolves life expectancy is 24 turns.

So our animals are kind of dumb. In the game of evolution living longer can only be an advantage (because you can reproduce more), but in this simulated universe it doesn’t seem strong enough to lead to a significant evolutionary pressure.

As second experiment, let’s see what happens if the sheep can only procreate after their 10th turn.
We can set sheepA = 10-80 as in the configuration file I have used. Notice that 10 > 5.1, the sheep life expectancy in the previous experiment (I’m realising now that in addition to the life expectancy, that is the average age of death, the median age of death would have also been interesting data).

experiment-b
Experiment b: wolves are born adults but sheep can procreate only from age 10

The average values (after time t = 50 000 in order to skip the preliminary phase) are:

  • sheep population: 740
  • wolves population: 290
  • sheep life expectancy: 17 turns
  • wolves life expectancy: 21 turns

As we can see, the sheep that have developed in this world live much longer. We can also observe that although the characteristics of the wolves have not changed in any way, their population is much smaller, while the sheeps population size is the same as previously. It might be relevant here to keep in mind that for now the wolves can’t tell the difference between two sheep, in particular between a young one and an old one.
Another thing is that the wolf population seems more unstable. We can see a few drops in its size and the wolves life expectancy

Third experiment: the sheep are born adults but the wolves need to be 20 to procreate.
configuration file

experiment-c
Experiment c: sheep are born adults but wolves can procreate only from age 20

The average values (after time t = 50 000 in order to skip the preliminary phase) are:

  • sheep population: 1100
  • wolves population: 530
  • sheep life expectancy: 6.6 turns
  • wolves life expectancy: 25 turns

Compared to experiment a, everyone live slightly longer, there are more sheep and less wolves. The evolution of the sheep population is funny, I’m not sure what to say about it (if you have any idea of what kind of statistical analysis I should perform, don’t hesitate to leave a comment — this is generally true, if you have any comment or criticism, please tell me).

Fourth experiment: sheep are adults at 10, and wolves at 20.
configuration file

experiment-d
Experiment d: sheep are adults at 10 and wolves at 20

The average values (after time t = 50 000 in order to skip the preliminary phase) are:

  • sheep population: 920
  • wolves population: 230
  • sheep life expectancy: 25 turns
  • wolves life expectancy: 33 turns

In this settings life expectancies are very high! They are still far from the biological limits (100 for sheep and 200 for wolves), but still much higher than initially. As when only sheep need to be adult to have offspring (experiment b), the wolves population is very low, and the system seems unstable: look at those events at time t = 130000 and t = 150000. I don’t exactly know what happened there, but it is not surprising that because we have made the universe more complex, putting constraints on its inhabitants, some behaviours that were fine before now lead to demographic disasters.

I am now finishing this post, I hope you found it interesting. If you have any thoughts about all that, feel free to share them here. I would be very glad to discuss these matters with anyone, especially if you have ideas about what to look for or what kind of changes to make in the simulation. And don’t forget that you can get the program for free here; it is an open source project, you have full access to the code if you want to look at it (it’s still a bit messy but I’m cleaning it gradually) or even improve it!

For my next post, I am considering showing how allowing the sheep to defend themselves lead to a gregarious instinct (I won’t hide you that one of my main goals with the Game of Evolution is to observe complex social interactions).