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.
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
Do you have any idea why the authors chose Z80 as the program language? I have seen other studies in the same spirit that use simpler toy languages like Brainfuck (https://arxiv.org/abs/2406.19108) and I wonder if you could get higher execution speed if you didn't have to execute so much emulator code.
The programs/genomes are extremely tiny. I would be very interested to see what kind of hardware is needed to scale this approach up. How long until we can feed in giant corpuses of text and evolve these little organisms to predict the next letter?
This paper is by the same team. My guess is that the BF code that evaluates polynomials is much much longer than the equivalent Z80 code. Thus it may not be expected to evolve in the space and time constraints of this experiment.
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.
[0] https://tomray.me/tierra/whatis.html
[1] https://en.wikipedia.org/wiki/Thomas_S._Ray
[2] https://www.stevenlevy.com/artificial-life
[3] https://en.wikipedia.org/wiki/Core_War
Do you have any idea why the authors chose Z80 as the program language? I have seen other studies in the same spirit that use simpler toy languages like Brainfuck (https://arxiv.org/abs/2406.19108) and I wonder if you could get higher execution speed if you didn't have to execute so much emulator code.
The programs/genomes are extremely tiny. I would be very interested to see what kind of hardware is needed to scale this approach up. How long until we can feed in giant corpuses of text and evolve these little organisms to predict the next letter?