1. Initial replicator
The main subject of the present study is a self-replicating machine which uses a digital analog of DNA. In comparison to replication by self-inspection the building commands of the offspring are stored in a data container as pure information. With that approach we gain more flexibility for constructing novel machines since they arise by information manipulation.
We start our experiment with a cyclic structure that performs all necessary operations in one main loop. The building commands are encoded in the memory of a token which rotates in the cyclic structure. Moreover, some random movements and attacking of nearby cells to gain necessary energy is conducted.
In the pictures below we can see snapshots during the replication process. As long as a replicator has enough energy it produces new cells whose building commands are described in the data section of the token. Each time the token passes a computer cell, the building instructions are copied byte by byte to its target field. This may take up to 45 rotations around the structure. After finishing the memory copying process, the construction of the offspring cell is initiated and repeated in the case that not enough energy is available. The constructor receives instruction from the token and gradually builds all 6 cells. After building the last cell the token will by duplicated and the copy spread on to the offspring. During that process mutation on the token memory is applied. Besides that, separation of the construction site takes place leading to two different individuals.
After many replication cycles, the number of offspring grow exponentially provided that enough nutrient in the form of surrounding cells or energy particles are available. On the right hand side one can observe replicating structures after several reproduction cycles. Due to the applied mutation, some of them may have different properties which in most cases lead to some malfunctions.
2. Evolution experiment
2. 1. Setting up
For our evolution experiment we set up a simulation with the following settings:
- initial universe size: 1000 x 1000 units
- 5000 randomly distributed rectangular clusters of 8x4 cells each 100 units of energy
- 20 replicators
The complete initial configuration can be download here.
2. 2. Simulation
During the running simulation we gradually increase the universe size to 6,000 x 1,000 units. Then, the universe is scaled to 60,000 x 1,000 units leading to 10 times more energy. The number of replicators grow exponentially and stabilize at around 80k to 90k exemplars. At this stage the number can be read on active clusters on the monitor. The results in the following cannot directly be repeated since every simulation is different. However some common effects can be observed.
After some time one may see that dense colonies of replicators may merge after some time. Because due to the current conditions it is advantageous for the replicators to develop lazy behavior patterns that make no movements and massively attack their surroundings. In order to prevent arising such convenient survival pattern we can change the environmental conditions. To this end we penalize cell attacking by increasing the simulation parameter cell function properties -> weapon -> energy cost. We increase its value up to 3 not immediately but gradually after several 100k time steps such that the replicators can adapt to the new conditions.
When the universe if filled with replicators the material density may vary strongly depending on the region. Because moving replicators produce forces that push the remaining material away. That phenomenon can be observed in the following screenshot taken after 2 mio. time steps.
In the center region on can see bright spots. These are thousands of replicators. They have been mutated over time and some of them developed a different color. On the left as well as on the right hand side one can see mostly in blue color the sparsely distributed remaining material. This screenshot shown only a tiny fraction of the entire universe. The simulation runs at approximately 20 timesteps per second on our test system.
Below you can see an extract of the same simulation after 7 mio. time steps. The replicators have mutated and can replicate faster in their environment.
After 59 mio. time steps and changing the mutation rate from low to high and vice versa, the dynamic of the simulated universe changed since new types of structures have emerged. Their behavior is quite different from the initial replicators. At the first glance they seem to be some malfunctioned mutants. But most interestingly they grow larger and decompose into parts which can itself grow.
It seems that a new type of artificial livings has arisen which one could not have conceived from the initial conditions. In following screenshots we present universe sections after 61 mio. time steps. The simulation file at this time step can be downloaded here.
The white colored crystalline structure in the center looks looks quite noticeable. Its color results from many circulating tokens. In the editor we can observe more details of this structure.
After further magnification we discover that this structure basically consists of two type of cells which repeats in spatial patterns: a computer cell and a constructor cell. On nearly every cell there are three tokens containing data for construction process. As soon as enough energy is available at some part of the structure, it grows in an orthogonal direction.
The structure can be downloaded here.
By that experiment we could observe that growing crystalline structures emerge. The same phenomenon has been observed for self-inspecting replicators. Furthermore, they were stable, spread over the entire universe and becoming the dominant species. This may lead to the conclusion that such form of self-replication are not so rarely and could arise in various situation.
Significant differences during the evolution of information-based replicating machines in comparison to self-inspecting machines could not be observed in this experiment. The hypothesis that such machines could better adapt to their environment and are more suitable for open-ended evolution should be studied in more extensive experiments.
Furthermore, it turns out that following extensions should be considered for further experiments:
- automatically varying simulation parameters in a way that the population does not become extinct,
- reward larger replicator structures.