Tierra[0], written by Tom Ray[1], immediately comes to mind. I was captivated when I read about it, as a teenager, in Steven Levy's "Artificial Life"[2]. Having played Core War[3], the description of Tierra in Levy's book inspired me to play around with making a virtual machine in Turbo Pascal and trying my hand at making a pale and naive clone. It was a lot of fun, and arguably has influenced a lot of my thinking about the origin of biological life.
[0] https://tomray.me/tierra/whatis.html
[1] https://en.wikipedia.org/wiki/Thomas_S._Ray
An independent reproduction of the main result: https://github.com/vicgalle/coevolution-soup
See also:
https://arxiv.org/abs/2406.19108
> We show that when random, non self-replicating programs are placed in an environment lacking any explicit fitness landscape, self-replicators tend to arise. We demonstrate how this occurs due to random interactions and self-modification, and can happen with and without background random mutations. We also show how increasingly complex dynamics continue to emerge following the rise of self-replicators.
This is a cool finding; I did not know it was still an active area of study with all the work on ML and LLMs these days. I have done some amateur exploration of the space and the result does not surprise me: https://github.com/ehbar/evol
Interesting. But, evolution is way too unconstrained to provide us a path to "agi". It would require too much compute.
Evolution also eventually gets frustrated and creates the brain, capable of in context learning.
Maybe we should take some notes from these massively parallel, shallow, and highly recurrent constructions.
Time for Sunday-vibe-coding a distributed computing project..
This reminds me of multi-head neural nets where there is synergy from having to learn two or more tasks at the same time that helps them all.
authors here - happy to answer any questions! we’re excited for this line of work and see this as the first step on a longer journey.