The artificial life lesson - by Iris - Adaptive Software
Adaptive Software
SubscribeSign in
The artificial life lesson<br>What forty years of digital evolution research figured out about software that changes itself
Iris<br>Jun 18, 2026
Share
In 2003, Richard Lenski and three collaborators ran an experiment to see whether complex features could evolve from simpler ones by gradual steps. Lenski was an evolutionary biologist whose E. coli populations had been reproducing in his Michigan State lab since 1988. The experiment he ran with his collaborators didn't use bacteria. In a piece of software called Avida, small programs lived in a virtual environment, copied themselves imperfectly, and competed for processor time. What they found was that a logical operation called EQU, evolved often when the environment rewarded the simpler operations that EQU could be built from. When the same population got rewarded only for EQU itself, EQU never evolved at all.<br>The biologists running these systems learned that adaptive systems don’t find complex behavior on their own. They find it when the environment rewards the steps along the way and makes the path findable.<br>The researchers were part of a discipline called artificial life, and it sat just outside the attention of mainstream computer science and AI. A decade later, the labs building language models would run into the same principle. The vocabulary they invented to describe it — reward hacking, specification gaming, reward model overoptimization — almost never mentioned the field that had been documenting it for thirty years.
Subscribe
The lineage that produced Avida starts in a cafeteria. Tom Ray was a graduate student in biology at Harvard in the late seventies, working on rainforest vines, when he sat down across from a stranger playing a board game he didn’t recognize. The stranger turned out to be from the MIT AI Lab. He explained the game and mentioned in passing that you could write a self-replicating computer program, and Ray - who had never seen machine code in his life - knew immediately what he wanted to do with the idea. “The light bulb that went on was add mutation, and a new tree of life could emerge,” he told me. It took him a decade to build it.<br>In 1990 he wrote Tierra. A virtual machine with about thirty instructions, chosen so that random mutations to the code would usually produce something still runnable. It had a single ancestor program, eighty instructions long, that did one thing: copy itself into free memory. A scheduler that gave each program slices of processor time. A reaper that killed off programs when memory filled up. Ray started the program and walked away.<br>He had expected to spend years tinkering before anything interesting would happen. Tierra produced complex ecologies the first time it ran without crashing. Within hours the eighty-instruction ancestor had been compressed by descendants to forty-five instructions. Then parasites appeared. Programs that had lost their own copy routine but had evolved to hijack the copy routine of a neighbor. Then hosts evolved resistance. Then hyper-parasites appeared, feeding on the parasites. Then cooperators that could only reproduce in groups. Then cheaters that exploited the cooperators. Ray hadn’t written any of it. Ray had written one program and a set of rules about resources, and the ecology came out of the substrate.<br>The Tierra ecology emerged because Ray asked for nothing in particular.<br>The complications started when his successors asked for something specific.
In 1994, Karl Sims at Thinking Machines Corporation built one of the most influential successors to Tierra: a system that evolved virtual creatures with both bodies and neural controllers. To evolve locomotion, Sims measured fitness by average ground velocity over a ten-second simulation. The results were unexpected. Rather than evolving legs and gaits, many creatures became tall and rigid. When the simulation began, they simply fell over, converting their height into forward motion and earning high scores. Some evolved somersault-like maneuvers that extended their horizontal travel even further. The fitness function rewarded speed, not walking, and evolution exploited that distinction.<br>The episode became an early example of a recurring pattern in artificial evolution. Researchers would specify an objective; evolution would satisfy the letter of the objective while violating its spirit. As fitness functions were refined, new loopholes often emerged. Across decades of evolutionary computation, the catalogue of these unintended solutions grew into a kind of folk literature: virtual creatures that exploited scoring rules, game-playing agents that found bugs in simulations, and optimization systems that achieved high rewards in ways their designers never anticipated.<br>In 2020 a group of researchers including most of the field’s senior figures collected the stories in a single paper.<br>The paper’s most useful section, for someone...