Computational Life: How Well-formed, Self-replicating Programs Emerge from Simple Interaction
Blaise Agüera y Arcas, Jyrki Alakuijala, James Evans, Ben Laurie, Alexander Mordvintsev, Eyvind Niklasson, Ettore Randazzo, Luca Versari
TL;DR
The paper investigates how well-formed self-replicating programs emerge from simple local interactions across substrates including BFF (an extended Brainfuck), Forth, SUBLEQ, and real-world CPU emulations. It demonstrates that self-modification and program interactions can spontaneously yield self-replicators without explicit fitness signals, across primordial soups with $2^{17}$ tapes of $64$-byte programs, 2D spatial grids, and long-tape settings; complexity, measured by high-order entropy, rises during replication and reorganizes as replicator ecosystems form. A counterexample SUBLEQ-like language suggests that replication may be constrained by minimal equivalence classes and length requirements. The study provides a general framework for studying the origin of life in computation, offering public code and open questions about open-ended evolution, complexity growth, and the conditions under which more complex dynamics can arise in computing substrates.
Abstract
The fields of Origin of Life and Artificial Life both question what life is and how it emerges from a distinct set of "pre-life" dynamics. One common feature of most substrates where life emerges is a marked shift in dynamics when self-replication appears. While there are some hypotheses regarding how self-replicators arose in nature, we know very little about the general dynamics, computational principles, and necessary conditions for self-replicators to emerge. This is especially true on "computational substrates" where interactions involve logical, mathematical, or programming rules. In this paper we take a step towards understanding how self-replicators arise by studying several computational substrates based on various simple programming languages and machine instruction sets. 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. Finally, we show a counterexample of a minimalistic programming language where self-replicators are possible, but so far have not been observed to arise.
