How much of a fixed soup can replicators hold when some of their copies come out garbled? Grey squares are seeds, blue squares are symbionts and pink squares are replicators. For the first 55 to 75 ticks there are no replicators, only seeds turning into symbionts.
Try this Set mutation-rate to 0; it takes effect live. Once the takeover is done every square stays pink and replicators holds at 24. Then set it to 30 and replicators falls back to about 17, with more grey seeds and blue symbionts in the soup.
About this model Where it ends up The run doesn't end. From about tick 150 replicators stays between about 16 and 24 of the 24 programs, averaging about 22, seeds and symbionts stay low, and copies keeps rising.
Agüera y Arcas, Alakuijala, Evans, Laurie, Mordvintsev, Niklasson, Randazzo and Versari (2024) filled a soup with 131,072 random 64-byte programs in BFF, a two-head variant of Brainfuck whose code and data share one tape. Programs are paired at random, each pair is concatenated into a 128-byte tape and run for up to 8,192 steps, and the tape is split back into two programs. There is no fitness function, yet self-replicating programs appear in many runs and take over the soup. This model keeps a soup of fixed size and a takeover by copying; its programs are a cartoon, not code.
Here 24 programs move over a 33 × 33 grid that wraps at the edges; each cell holds one of six opcodes (inc-op, dec-op, shift-r, shift-l, loop-start, loop-end) or nothing. Each tick, in random order, a program turns by up to 30° at random, executes the cell under it and steps forward. The opcode changes its one-byte register tape-val or its pointer tape-ptr, may turn it, and may draw energy from the cell; energy leaks at 0.2 a tick. The program then pairs with a random program within 2 cells, and with chance symbiosis-rate % they interact. A replicator writes its byte and state over the partner; with chance mutation-rate % the copy is garbled and the partner becomes a seed with a random byte. Any other program sets its byte to the partner's plus one and draws energy from its cell, and a seed that does this becomes a symbiont. A program that has banked replicate-cost energy becomes a replicator. No program is ever added or removed. Pairing within 2 cells echoes the paper's 2D variant, where programs on a 240 × 135 grid interact only with programs at most 2 cells away.
Nothing is executed as code. A program is a byte, a pointer and a state, and replication is a rule attached to the replicator state rather than something the byte computes: there is no concatenated tape, no second head and no loop matching. The energy threshold stands in for BFF's rare event, an interaction that happens to assemble a working copy loop. Here it is not rare: every program would cross it within a few hundred ticks, and many do before a copy reaches them. BFF itself has no energy at all.
Idea Blaise Agüera y Arcas · Jyrki Alakuijala · James Evans · Ben Laurie · Alexander Mordvintsev · Eyvind Niklasson · Ettore Randazzo · Luca Versari
MathPets MathPets · org