Spontaneously self-replicating programs emerge in digital ‘primordial soup’

A new study that let data interact in a digital “primordial soup” found that self-replicating patterns emerge.

In 1970, British mathematician John Horton Conway created a zero-player video game called Conway’s Game of Life. The game takes place on a grid of squares and the only input the user can have is setting the initial state.

The rules decided by Conway are as follows:

For a space that is occupied, any cell with one occupied neighbor or no neighbors dies as if alone. Any occupied space with four or more neighbors will also die, as if by overcrowding. If an occupied cell has two or three neighbors, it survives until the next step (i.e. remains occupied when the entire grid moves forward one step). Meanwhile, a space that is unoccupied will only be filled if it has three occupied spaces next to it.

Although only a few simple rules are followed, complex and self-replicating patterns and behaviors soon emerge with each step.

In a new study, which has not yet been peer-reviewed, scientists from Google, the Paradigms of Intelligence Team and The University of Chicago tried to gain some insight into how life arises from the interaction of non-living molecules.

“In the search for a general definition of life, we observe a major change in dynamics coinciding with the rise of self-replicators that appears to be applied regardless of substrate,” the team writes in their paper. “Therefore, we can use the appearance of self-replicators as a reasonable transition to distinguish pre-life from life dynamics.”

To investigate, the team placed tens of thousands of computer code snippets, randomly mixed in a kind of digital primordial soup of random noise, that could interact after up to 16,000 epochs.

“Each program consists of 64 single-byte characters that are randomly initialized from a uniform distribution. No new programs are generated or deleted in these simulations – change occurs only through self-modification or random background mutations,” the team explains. “At each epoch, the programs interact by selecting randomly ordered pairs, concatenating them, and executing the resulting code for a fixed number of steps or until the program terminates.”

The programs were given no goal or reward mechanism rewarding survival or replication, and yet from this soup, the team found that self-replicating programs emerged about 40 percent of the time. Replicators did not always survive, sometimes being destroyed in further interactions.

State transitions—where replicators began to take over the system—were rare with a random initial setup, occurring only three times out of 1,000. However, when a self-replicator was placed in the random soup—extracted from previous simulations—state transitions occurred 22 percent of the time in just 128 epochs.

All of these experiments were in something analogous to a zero-dimensional environment, as all programs had a uniform chance to interact with each other, as if compressed into a single point. But the team also experimented with one- and two-dimensional environments, where programs could only interact with adjacent code.

“In the resulting simulation, self-replicators still appear,” the team explained. “The main difference from the usual setup is given by the propagation speed of self-replicators: if all bands are allowed to interact in a soup of size n, once a self-replicator appears, it usually takes over at least half of the soup in about log n steps, on the other hand, in a 2D soup it takes a number of epoch which is proportional to the lengths of the sides of the grid, which is √n for a square grid.”

“Because of this difference, 2D lattice experiments are very useful for visualizing how self-replicators evolve and behave. It also provides fertile ground for many variations of self-replicators to coexist and compete with each other.”

The result, shown in an accompanying YouTube video, involved self-replicators beginning to take over the system.

While these experiments are of course not entirely analogous to the primordial soup from which life on Earth arose, they nevertheless show how complexity and self-replicators can emerge from random interactions between “inert” components. The team hopes to continue their work and answer such questions as whether even more complex functions might arise and whether evolution in computational systems is the same or significantly different from biological systems.

“We argue that this set of computational substrates shows a new way to discover and achieve life.” “The behavior of such systems differs significantly from autocatalytic networks and biologically inspired systems,” the team concludes. “Additionally, our initial explorations and those observed in similar systems such as Tierra and AVIDA suggest that this may be just the beginning of the complexity of behavior that can emerge and flourish in such systems.”

The study, which has not yet been peer-reviewed, is published on the arXiv preprint server.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top