The first models that tried to construct ALife were probably Von Neumann’s self-reproducing CA and Langton’s loop. However, their main limitation was they were extremely brittle, which is why evolution did not really work in them.
Zaman’s definition of evolution is
Adaptive evolution can occur iff there is reproduction, heritability of traits, and variation in individual’s reproductive success driven by those traits.
Thomas Ray invented Tierra in 1995 by noting the difference between alterations of the genetic code and alterations of a computer program. To make computer programs resistant to alterations, Tierra introduced a small alphabet of a few elementary assembly-like instructions (similar in number to amino acids). Ray also borrowed the idea of having instructions that can interact with only some other instructions to replicate the way amino acids and proteins need to bind to specific other objects.
At the same time, another group of scientists was working on Avida, another Alife system that Zaman is working on.
How could Artificial life really reach this space of incredible natural diversity?
Perhaps biological systems have the same problem, that everything around them is constantly evolving and changing, the landscape that they exist in. So the only way to maintain your fitness in a world that is constantly changing is also to constantly change.
This is also one of the ideas developed in (Pattee and Sayama 2019), that open-endedness could be the result of interactions with a very complex environment and other evolving objects which will increase the overall pressure to evolve.
W. Daniel Hillis was one of the first person to work on this and use parasites that co-evolve with a solution in a Genetic algorithms-like procedure.
Parasites in Avida
One of the main advantages of Avida in my opinion (and other program/string/combinatory logic-based Alife systems) is the fact that there is a very natural metric of complexity which derives from the structures of organisms themselves. In the case of computer programs, the length of the program is a reasonable proxy for its complexity.
This metric allows interesting experiments to show how parasites can accelerate evolution in Avida simulations. But the authors wanted to see if such results can also be obtained by using something else than “hard-coded” parasites. They used alternating environment parameters to reproduce the “constantly changing” part of natural environment.
It turns out this alternating environment experiments seem to show an advantage for obtaining systems that have “smoother” reward landscapes for a various set of tasks.