← All notes

Generative systems · Lab note 002 · September 2026

Simple rules.
Complicated consequences.

A whole pattern can begin with one cell and eight small decisions.

Start with a row of empty cells and turn on the middle one. To produce the next row, each cell looks at three values: its left neighbour, itself, and its right neighbour. A rule decides whether that cell will be on or off.

Repeat that same operation, row after row. The result can look surprisingly elaborate even though the operation never becomes more sophisticated.

The intricate triangular pattern produced by 44 generations of Rule 30
Rule 30. One starting cell, 44 displayed generations.

Three neighbours, eight possibilities.

Each of the three cells has two possible states. That gives eight neighbourhoods, from 000 to 111. The rule assigns one output bit to each neighbourhood.

For example, under Rule 30, a cell with the neighbourhood 001 becomes 1 on the next row. A cell with 111 becomes 0. Every cell applies the same lookup independently.

Why is it called Rule 30?

Write the output bits in the order of neighbourhoods 111, 110, 101, 100, 011, 010, 001, 000. Rule 30 gives 00011110. Interpreted as a binary number, that is thirty.

Changing that number changes the lookup table. Rule 90 produces a much more regular triangular structure from a single cell. Rule 110 gives another distinctive pattern. All three use the same basic mechanism.

The beginning matters.

Change a starting cell and the effect can spread through later rows. Nothing random is happening after the seed is chosen. The pattern is deterministic; it is simply difficult to anticipate by looking at the rule alone.

Try this

Choose Rule 90 with a single starting cell. Add a second cell nearby. Then keep that seed and switch to Rule 30. The contrast is more useful than another paragraph of explanation.

Change the starting point

The lab uses 127 cells per row and treats cells beyond the edges as empty. The first row shown is the seed. Those details define the experiment’s boundary conditions and keep the result reproducible.

Reference: Rule 30, Wolfram MathWorld. Implementation: the experiment’s source.

Explore

↑ ↓ to move · Enter to choose · Esc to close