Emulating Life[draft]

In Conway’s Game of Life, you initialise a grid of cells, setting some alive and others dead. You then apply a set of update rules to each cell to decide whether it will be alive or dead in the next generation. Figure 1 shows this in action. An initial pattern known as pufferfish is set. Hit play, and you’ll see the update rules animate the pattern across the grid.

Figure 1: The pufferfish pattern is an instance of a Puffer: a pattern that moves across the grid, leaving a trail of debris behind.

The update rules are surprisingly simple. Each cell counts how many of the eight surrounding cells are alive.1 If the cell is currently dead, then it comes alive only if exactly three of its neighbours are alive. If the cell is currently alive, it will stay alive if two or three of its neighbours are alive, and die otherwise. Figure 2 shows these rules being applied to one highlighted cell using a pattern called toad, that oscillates between two states.

Figure 2: The rules for Conway’s Life. The state of each cell (alive or dead) updates based on Moore neighbourhood.

This set of rules generates a surprisingly rich set of phenomena. TODO: Below is

Figure 3: Four Game of Life patterns unfolding on a shared timeline.

TODO: maybe mention Dennett etc.

AND as an Emulator

Conway’s Life is a wonderful demonstration of how simple local rules can produce global patterns.

Conway’s Life suggests a simple way to construct a simple multicellular model.

In a cellular automaton like Conway’s life,

A cellular automaton is a grid of cells, where each cell can be in one of a finite number of states. TODO: Better definition, or reverse order. Conway first.

TODO: A key feature is the threshold rules. They measure and detect the surrounding cells in the more neighborhood.

The update is carried out by the small gene regulatory network below. Its three Moore receptors report whether at least two, three, or four neighbouring cells are alive; the memory element carries the selected cell’s present state into the update, and φ is the state displayed in the grid. The replay and network share one timeline, so stepping the recording updates both views together. Click any cell to move the Moore neighbourhood and inspect that cell’s network state.

Figure 4: Conway’s life driven by a AND regulatory program.
TypeRegister Variable Annotation
Stimulus A seed Initial live-cell pattern
B |φ|≥2 Receptor active when at least two neighbours are alive
C |φ|≥3 Receptor active when at least three neighbours are alive
D |φ|≥4 Receptor active when at least four neighbours are alive
Memory E μ Memory of each cell's present state
Response F φ Live-cell state sent to neighbouring cells and displayed in the grid
Table 1: The registers available to every cell in the Life-emulating sheet.

A sheet of cells

simple, identical, local rules, running in parallel across a sheet, can generate order far richer than the rules appear to contain.

The rules of Life are usually handed down as a special little algorithm, purpose-built for the job. But we don’t need a special algorithm. It turns out that one of our gene networks, dropped into every cell of the grid, reproduces Conway’s Game of Life exactly. Because of the way memory threads through the network, you have to read the pattern off every second time step to get a perfect replica — but that is bookkeeping, not substance.)

Conway’s Life is one set of rules, studied for decades. Our network doesn’t merely imitate it; it contains it as a single point in a vast space of possible rules it could just as easily run. Life is one doorway.

From here on, a network is no longer the thing we watch and select. It becomes the local rule — the same network sitting inside every cell, each copy reading its neighbours and updating in step.

And this forces a change in where we point our attention. Before, we selected a network for the output it produced. Now the output of any single cell hardly matters. What we care about, what we breed for, is the pattern spread across the whole sheet. The individual network drops quietly into the machinery, doing its small local job, while both the thing we reward and the thing we stimulate move up a level, into the collective and the spatial. It is the same idea we had at the single-cell stage, lifted one rung up the ladder.

Footnotes

  1. This eight surrounding cells are called the Moore neighbourhood of a cell. ↩︎