OpenWorldLab
Row: 0 Active: 0
Elementary (1D) rules One-dimensional rule, 2 states, 3-cell neighbourhood

Rule 30

A deterministic rule that produces something indistinguishable from noise

A single starting cell produces an ordered left edge and an apparently random interior. The centre column is random enough to have been used as a source of random numbers.

How it works

In plain English, before the notation

The automaton is a single row of cells. Each cell looks at itself and its two immediate neighbours, and an eight-entry table says what it becomes. The canvas shows the history: the top row is the start, and each row below is one step later. Start with a single live cell and the left edge settles into regular stripes while the middle and right never do — no repetition has been found in the centre column, despite the rule being completely deterministic.

Look at three cells on the row above: left, centre, right.
The result is 1 for the patterns 100, 011, 010 and 001.
The result is 0 for the patterns 111, 110, 101 and 000.
Equivalently: next = left XOR (centre OR right).

One cell, then chaos

  1. Open Presets and load "Rule 30 from One Cell", or press 1-Seed in the dock.
  2. Press Play. Notice how different the two sides of the triangle are — the left is periodic, the right is not.
  3. Use the Seed Row tool to click a second cell on the top row and watch how the disturbance spreads downwards at one cell per step.

Starting configurations

Loads straight into the simulator

Try any rule

The catalogue covers a few dozen rules. Here you can run any of the 262,144 two-state grid rules, or any of the 256 one-dimensional rules, including ones nobody has written up.

The number is the eight-entry lookup table below, read as a binary number.

Rule

Lookup table (00011110) — neighbourhood above, result below

111
0
110
0
101
0
100
1
011
1
010
1
001
1
000
0
Rule 30 Class 3

Classification: Class 3 — chaotic, with no detected long-range order

How it runs: the automaton is a single row. Each cell reads the three cells above it and looks up the answer in 00011110. The canvas is the history — each row is one step later than the one above it.

Well-known rules

Where it came from

Stephen Wolfram introduced the numbering scheme for the 256 one-dimensional rules in 1983 and singled out Rule 30 as the clearest case of complex behaviour arising from a minimal rule. He later used its centre column as the random number generator in Mathematica.

In 2019 Wolfram offered prizes for three questions about the centre column, including whether it is eventually periodic and whether 0s and 1s occur equally often. As of writing none has been claimed.

The rule, precisely

What each cell looks at

Three cells on the previous row: (x−1, x, x+1)

What a cell can be

Two states per cell on a single row

The update

x(t+1) = x(t, left) XOR (x(t, centre) OR x(t, right))

The rule number is the output column of the table read as a binary number. Rule 30 is 00011110, which assigns outputs to the eight neighbourhood patterns in the order 111, 110, 101, 100, 011, 010, 001, 000.

One rule, two very different sides

The asymmetry from a single starting cell is the rule’s most recognisable feature:

  • The left side of the triangle is periodic: regular diagonal stripes.
  • The centre and right side show no detected periodicity, and no shortcut for computing them is known.
  • The centre column passes standard statistical tests for randomness, which is what made it usable as a generator.
  • A change to one cell in the starting row eventually affects the entire pattern, spreading outwards at one cell per step.

Chaotic rather than constructive

Rule 30 is Class 3 in Wolfram’s classification: it mixes information thoroughly and does not support the localised, persistent structures that constructions are built from.

No universality proof exists for Rule 30, and its behaviour is the wrong kind for the usual approach — there are no stable particles to carry signals.

Pigmentation patterns and pseudo-randomness

Mollusc shell pigmentationRandom number generation

The shell of the cone snail Conus textile carries a pattern that looks strikingly like Rule 30’s output, and the resemblance is often cited because the mechanism is plausible: pigment is laid down at the growing edge of the shell, one line at a time, with each line depending on the one before it. The practical use is different — the centre column was Mathematica’s source of pseudo-random numbers for years.

Things to try

  • The rule number box in the Try any rule panel below lets you type any number from 0 to 255. Try 29 and 31 to see how much a single bit changes.
  • Compare a single seed cell with a random starting row (press Soup). The random start hides the asymmetry that a single cell makes obvious.
  • Set Cell Scale to 2px to fit more history on screen at once.

Frequently Asked Questions

Reading the centre column downwards produces a sequence with no detected pattern that passes standard randomness tests, and it is very cheap to compute. Whether the sequence eventually repeats is an open question.

References

Other rules in this family

Browse by family

Lab overview →