In-Depth

Researchers Demonstrate the Creation of Artificial Life

Researchers at Google have published a paper titled "Computational Life: How Well-formed, Self-Replicating Programs Emerge from Simple Interaction" that describes how they created a digital primordial soup which gave rise to artificial life -- tiny self-replicating computer programs -- without any human intervention. See the article here.

The results have potential practical implications for the fields of anthropology, political science, sociology, and economics. The results also suggest that the existence of life on other planets may be more likely than previously thought.

What is Digital Life?
The research experiments are relatively simple, and are based on a special, super-simple programming language called BFF. Unlike most programming languages such as C++ and Python which have dozens of keywords, instructions, and operations, BFF has just 10 instructions. Each instruction is a single symbol. The complete 10-symbol instruction set is "<", ">", "{", "}", "-", "+", "[", "]", ".", and ",". In words, less-than, greater-than, left-curly-brace, right-curly-brace, minus-sign, plus-sign, left-square-bracket, right-square-bracket, period, comma.

A BFF program is a sequence of instructions. For example, 32 random BFF instructions "<<[-+-]>{{<}}+-+-[>[..]<],+,><.{" form a BFF program. A key idea is that a BFF program can modify itself via the minus-sign, plus-sign, period and comma instructions.

A primordial digital soup of 2^17 = 131,072 random BFF programs, each with 64 instructions was initialized. The simulated environment repeatedly selects two adjacent 64-instruction programs and combines them into a 128-instruction program, which is then allowed to run, possibly modifying itself. When the 128-instruction program finishes, it is split into two 64-instruction programs, which are returned into the digital soup, replacing their source programs.

The somewhat astonishing result is that from random instructions, self-replicating programs -- ones that can make a copies of themselves -- arise and quickly dominate the simulated world. A computer program that can self-replicate is one possible definition of artificial life.

Cellular Automata
The simple computer programs studied by the Google researchers are closely related to cellular automata. A cellular automaton consists of a grid of cells. Each cell can be one of n states, where n is often 2 (so the possible states are 0 and 1) or a small number like 8 (so the possible states are 0 through 7).

Self-replicating cellular automata have been studied for decades. One of the best-known examples of a self-replicating automaton is called a Langton Loop introduced in a 1984 research paper. Each cell can have 8 possible states. The specially-crafted initial loop has roughly 10-by-10 = 100 cells. The programming language consists of 219 rules. A typical rule is "3 2407 5". This means, "if a cell has value 3, and the top cell above it has value 2, and the cell to the right has value 4, and the cell below has value 0, and the cell to the left has value 7, then the new cell value becomes 5."

Starting at time t = 0, the initial loop extends an arm from the lower right. The arm grows one cell at a time and slowly curves up, then to the left, then down. The growing arm eventually connects to the initial loop, and then remarkably separates into a new loop. The new loop is an exact replica of the initial loop. The process continues until all available space in the virtual environment is occupied with copies of the original loop. See Figure 1.

[Click on image for larger view.]
Cell State Colors: 0 = black, 1 = blue, 2 = red, 3 = green, 4 = yellow, 5 = magenta, 6 = white, 7 = cyan.

From left-to-right, top-to-bottom.

1.) The required initial configuration at time t = 0. 2.) At time t = 1, a red cell in the upper right turns to green and all the cells in the central part of the loop effectively rotate one cell counterclockwise. 3.) At time t = 112, the arm is nearing completion and the original loop is back to its state at time t = 1.

4.) At time t = 127, the new loop connects to the original loop. 5.) At time t = 128, the new loop separates from the original loop. 6.) At time t = 150, the replication is one step away from completion. 8.) At time t = 151, the new loop is an exact copy of the original loop, and the original loop has rotated 90 degrees counterclockwise.

Figure 1: Self-Replicating Langton Loop

What's the Point?
The Google research results suggest that, for small digital computer programs at least, artificial life in the form of a self-replicating program can spontaneously emerge from random instructions. Extending this notion of life spontaneously emerging from chemical randomness by analogy to biological systems is tempting but not necessarily sound logic.

At first thought, cellular automata and related systems such as those studied by the Google researchers, may seem like nothing more than an interesting curiosity. However, these systems have surprising practical applications to the fields of anthropology, political science, sociology, and economics. The idea that self-replicating systems can emerge spontaneously may be useful, but that's yet to be determined.

Featured