Skip to content
Adrien Hubert

Elementary cellular automata.

A row of cells, each one black or white. To get the next row, you look at every cell together with its two neighbours, read those three bits as a number from 0 to 7, and use that number to pick a new colour. The recipe is a function from 8 inputs to 1 output, which is a single byte. That is all 256 elementary rules.

Try

Lookup

Eight three-cell patterns on top, the rule's output below each one. Read the bottom row right-to-left as binary and you get the rule number.

Note

Most rules look boring. Cells decay to all-black, all-white, or a tidy stripe pattern within a few generations. A handful do not. Rule 30 produces a stream of bits down its centre column that passes most statistical tests for randomness. Rule 110 supports gliders that collide and exchange information, which is enough to embed a universal computer. Rule 184 is the simplest model of one-lane traffic flow. Same machine, same neighbourhood; only the byte changes.

The single-cell start hides this on purpose. With a centred dot, the output reveals the rule's structure cleanly: triangles for additive rules, fractals for XOR, the Rule 30 mess that motivated Mathematica's random number generator for years. Switch to a random first row and most rules look almost the same; the interesting ones still stand out.

Source

Stephen Wolfram, "Statistical mechanics of cellular automata", Reviews of Modern Physics 55, 601 (1983). The numbering scheme used here is the same one introduced in that paper.