5 ms·
Co-evolution of self-replication and function in a digital primordial soup
- vicgalle_ 3mo agoAn independent reproduction of the main result: https://github.com/vicgalle/coevolution-soup https://github.com/vicgalle/coevolution-soup
- markisus 3mo agoThis is every cool research. 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 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?
- BadAstronomer 3mo agoThis 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.
- vicgalle_ 3mo ago> Do you have any idea why the authors chose Z80 as the program language? In that previous paper you cite (by the same group) they tested several substrates for spontaneous replication (BFF, Forth, SUBLEQ, and emulated real CPUs. Z80 and 8080 CPU exps confirmed the rise of self-replicators, with the Z80 notably exhibiting multiple waves of increasingly capable self-replicators. And the instruction set seems quite appropriate for the experiment: Z80 has native block-copying instructions, while it doesn't have MUL, so the task of evaluating polynomials is somewhat more challenging
- eyvindn 3mo agoas other folks have replied, Z80 is more expressive and yields more interesting replicators faster. however the question of how complex to make the "base layer", if you will, remains open. we expect it to also be an ease of auto-evolution vs. performance tradeoff. second question is a good question :)
- vicgalle_ 3mo agoA small update here: another replication using a different CPU, the 6502. In this case, replicators emerge 100 times less frequently than in Z80, due to a lacking LDIR-like instruction
- HarHarVeryFunny 3mo agoThis 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.
- ericbarrett 3mo agoThis 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 https://github.com/ehbar/evol
- EvanAnderson 3mo agoTierra[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 https://tomray.me/tierra/whatis.html [1] https://en.wikipedia.org/wiki/Thomas_S._Ray https://en.wikipedia.org/wiki/Thomas_S._Ray [2] https://www.stevenlevy.com/artificial-life https://www.stevenlevy.com/artificial-life [3] https://en.wikipedia.org/wiki/Core_War https://en.wikipedia.org/wiki/Core_War
- interleave 3mo agoYes and it also reminds me of one of my favorite books, Andreas Wagner's "Arrival Of the Fittest" and, connected, the Miller-Urey experiment of course. https://www.goodreads.com/en/book/show/20821275-arrival-of-the-fittest https://www.goodreads.com/en/book/show/20821275-arrival-of-t... https://en.wikipedia.org/wiki/Miller%E2%80%93Urey_experiment https://en.wikipedia.org/wiki/Miller%E2%80%93Urey_experiment
- vatsachak 3mo agoInteresting. 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.
- bob1029 3mo agoIf evolution had access to TSMC's process technology, do you think it wouldn't leverage it? The signals in my AMD CPU propagate ~1,000,000x faster than the ones in my brain.
- tim333 3mo agoReal evolution produced human intelligence. Constrained evolutionary algorithms may have some promise.
- bob1029 3mo agoSee also: https://arxiv.org/abs/2406.19108 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.
- vicgalle_ 3mo agoThanks for posting this, indeed that group at google has produced some interesting research in this space. That paper was also discussed here back in the day: https://news.ycombinator.com/item?id=40820022 https://news.ycombinator.com/item?id=40820022
- dofdial 3mo agoTime for Sunday-vibe-coding a distributed computing project..
- gtsnexp 3mo agoWhy Z-80 assembly?
- eyvindn 3mo agoauthors 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.
- chychiu 3mo agoSuper cool work! What's next? Do you think with longer memory limits more interesting programs might emerge? Or is it substrate dependent?
- eyvindn 3mo agothere are many bottlenecks in the substrate - memory limits being one of them. other things like the A-B concatenation inherited from the bff paper also severely limit the possible dynamics. understanding and avoiding these bottlenecks are some of our next steps!
- jrowen 3mo agoI've long felt that Artificial Life or an approach rooted in that is the best way to get a novel and interesting machine intelligence. The breakthrough with more conventional methods was surprising, but it still seems like it might hit a ceiling (or may have already?). The major thing that's always stumped me is how to design a universal fitness function that can take you from soup to a brain. IRL there is "the environment" which contains resources that need to be consumed to survive, and the majority of evolution (senses, bodyforms, metabolic pathways, etc) is based on navigating this environment and extracting energy. Can we say that life or intelligence is a meaningful concept without this universal background reference plane and survival game? One of the things I think is limiting about conventional systems is what I call the "brain-in-a-vat" problem. They don't "exist" in any meaningful sense, they don't "experience" anything, they don't have any "reason" or "motivation" to do or develop anything. I think of something more like a video game. The world of World of Warcraft or Call of Duty is a mathematical construct that doesn't truly reflect how our world works, but, through a window we can interpret it in a way that we understand and relate to. Some kind of video game environment with more relaxed and "open-ended" parameters and a simulated survival mechanism would be an interesting experiment. The abstract mentions metabolic constraints. Can you share more of your thoughts or conceptual approach to this?
- dclavijo 3mo agoI did something quite similar https://github.com/daedalus/syntropy https://github.com/daedalus/syntropy but with riscv