Emergence

Computation

Rule

A row of cells, eight possible neighbourhoods, one byte of rules. Enough for something indistinguishable from randomness.

Stephen Wolfram, 1983

Click to flip a cell in the current row.

30 · 00011110
First row
3 px
18
Colour

What is going on here

This is about the simplest computing device you could devise. A row of boxes, each on or off. At every step each box looks at itself and its two neighbours, finds that configuration in a table of eight lines, and adopts the result. The table is eight bits wide, so there are exactly 256 different automata. All of them have been examined.

Most are dull. They die out, they fill the screen, or they make tidy triangles that repeat forever. But rule 30 starts from a single black cell and then produces an image that stays regular on the left and turns chaotic on the right — so chaotic that its centre column served for decades as a random number generator, in Mathematica among others.

Rule 110 does something stranger. Between the stripes, small stable structures glide along, overtaking one another, colliding, changing. In 2004 Matthew Cook proved that you can compute with those collisions: rule 110 is universal, as powerful as any computer whatsoever. One row of boxes, eight lines of rules, and a complete programming language fits inside.

That is the uncomfortable thing about this page. For the flock and the pattern you can still explain why it looks the way it looks. Here, the shortest description of what rule 30 does is: run rule 30. There is no formula that gets ahead of the outcome.