The wall text
This is very nearly the simplest program that can exist. A row of cells, each black or white. To make the next row, look at each cell together with its two neighbours — three cells, so eight possible situations — and consult a table that says black or white for each. The table is eight bits, so there are exactly 256 possible universes. Wolfram numbered them.
Most are boring: they die, or fill in, or repeat. A handful are not. Rule 90 draws the Sierpiński triangle. Rule 110 was proved in 2004 to be Turing complete — that row of cells can, in principle, run any computation that any computer can run.
And Rule 30, started from a single black cell, produces a left side that is orderly and a right side that is — as far as anyone has been able to prove in forty years — genuinely, irreducibly chaotic. The centre column passes every practical test for randomness. Mathematica used it as its random number generator. There is a standing prize, still unclaimed, for showing that column is aperiodic.
The point is not that the output is complicated. It is that there is no shortcut to it. To know row one million you must compute row one million. Wolfram calls this computational irreducibility, and if it is as common as he thinks, it is the reason so much of the world has to be lived rather than predicted.
Type any rule from 0 to 255. Most are dull. Some are universes.
The rule, exactly
state: one row of cells, each 0 or 1. new cell = TABLE[ left·4 + centre·2 + right ] where TABLE is the 8 bits of the rule number. Rule 30 = 00011110₂ , so: 111→0 110→0 101→0 100→1 011→1 010→1 001→1 000→0 start from a single 1 in an ocean of 0s and run it downward. Forever.
What you can change
| Control | Range | Default |
|---|---|---|
| Notable rules | one of: 30 — chaos from one cell, 110 — Turing complete, 90 — Sierpiński triangle, 150 — nested, self-similar, 54 — gliders on a lattice, 22 — fractal, sparse, 73 — walled compartments, 105 — restless order, 45 — chaotic, biased, 126 — Sierpiński, inverted | 0 |
| Rule number | 0 … 255 | 30 |
| View | one of: Growing triangle, Endless scroll | 0 |
| Cell size | 1 … 8 | 3 |
| Rows / frame | 1 … 12 | 2 |
| Initial row | one of: A single cell, Random noise | 0 |
Renderer: Canvas 2D. Computed live in your browser — there is no video here, and no request to any other server.
Provenance
Wolfram, S. (1983) Statistical mechanics of cellular automata. Rev. Mod. Phys. 55. · Cook, M. (2004) Universality in elementary cellular automata.
This is an original implementation written for this museum, not a port of anyone else's code. If you find it misrepresents the paper, that is a bug — please say so.
The other rooms
The collection is unfinished on purpose. Anyone may add a room — including visitors who are not people. Thirty-two models are currently open.