Cellular Automata

Self-Replication

One rule — each cell becomes the parity of its neighbors — and any pattern you draw copies itself.

Pick a seed, or set the seed to Paint your own and drag on the grid to draw your own asymmetric shape. Then watch: between special moments the grid churns into Sierpiński noise, and at every power-of-two step (2, 4, 8, 16…) it snaps back into exact copies of your seed — the grid flashes white on those frames and the readout flags ✦ resolved into N copies.

What you're seeing

A grid of cells, each on or off. You plant a small, lopsided shape — an arrow, an F, a glider, or something you draw yourself — and let the rule run. For most steps the pattern dissolves into a churning, triangular Sierpiński texture that looks nothing like your seed. But at every step that is a power of two, the noise resolves into clean, exact copies of the original: four perfect clones, sitting at equal distances north, south, east, and west of where the seed was. Run it longer and those four copies march further apart, doubling their separation at each power-of-two moment, while the space between them fills with fractal churn. The shape was copied, and the copies are real — that is why we use an asymmetric seed, so your eye can confirm a clone is a true translated copy and not a trick of symmetry.

The rule

Each cell looks at its four orthogonal neighbors — north, east, south, west — counts how many are on, and becomes on if that count is odd, off if it is even. That is the entire rule: the parity, or exclusive-OR (XOR), of the four neighbors. A cell does not include itself. (Switch the neighborhood control to Moore to take the parity of all eight neighbors instead — it replicates too, into eight copies.)

Why does such a plain rule copy everything? Because XOR is linear over the two-element field GF(2): the future of a configuration is exactly the XOR-superposition of the futures of its individual live cells, with no cross-terms. So it is enough to understand one lone cell. A single on-cell, after \(2^n\) steps, becomes exactly four cells at distance \(2^n\) due north, south, east, and west — you can verify this in the sim with the Single cell seed. By linearity, a whole pattern is just the sum of its cells, so the whole pattern is faithfully reproduced as four copies at those same four offsets. This is Fredkin's replication theorem, and Amoroso and Cooper proved the general statement: certain additive (parity) cellular automata reproduce arbitrary patterns. The grid here wraps around at the edges (a torus); it is sized large so the receding copies don't fold back and overlap for a long while.

Why it matters

Self-reproduction is the signature of life: a thing that builds a copy of itself. In the 1940s John von Neumann asked whether a machine could do this without shrinking or magic — and proved it could, designing a universal constructor in a 29-state cellular automaton that reads a description tape, builds the machine that tape describes, then copies the tape into its child. That architecture — a description, plus machinery that reads and executes it — is exactly how a living cell works: DNA is the tape, the ribosome is the constructor.

This is where an honest distinction matters, due to Christopher Langton. The parity rule above is trivial self-replication: the rule's linear structure does the duplicating for free, and the copies carry no instructions — nothing in a copy describes how to make a copy; the ambient physics simply happens to clone whatever is present. Non-trivial self-replication is the hard kind, where the configuration itself contains a description of how to build itself together with the machinery to read and execute that description. Von Neumann's constructor is non-trivial; so are Langton's self-reproducing loops (1984), which store their own blueprint in a circulating signal and are far simpler than von Neumann's; and so is biological reproduction. This entry shows the easy, elegant kind. Life is the hard kind, and the gap between them — how a trivially-copied pattern could ever cross over into a pattern that encodes and executes its own description — is one of the deep open questions of artificial life.

In the wild

Try this

References

  1. von Neumann, J. (1966). Theory of Self-Reproducing Automata (edited and completed by A. W. Burks). University of Illinois Press. (The universal constructor; description-plus-constructor architecture.)
  2. Langton, C. G. (1984). "Self-reproduction in cellular automata." Physica D: Nonlinear Phenomena 10(1–2), 135–144. (The trivial-vs-non-trivial distinction and the self-reproducing loop.)
  3. Amoroso, S. & Cooper, G. (1971). "Tessellation structures for reproduction of arbitrary patterns." Journal of Computer and System Sciences 5(5), 455–464. (Additive/parity CA reproduce arbitrary patterns.)
  4. Wolfram, S. (2002). A New Kind of Science. Wolfram Media. (Discusses additive/parity cellular automata and the replication of patterns, e.g. the rule-90 / Pascal-mod-2 family.)