GenerateRandomSearch

Elementary Cellular Automaton Generator

A row of cells, a rule, and the same rule applied over and over. There are exactly 256 of these rules, because each one is nothing more than an answer to eight questions — what a cell becomes for each pattern of itself and its two neighbours — and the rule number is those eight answers written as binary. From that almost nothing comes Rule 90's Sierpinski triangle, Rule 30's chaos, and Rule 110, which is Turing complete.

What this generator does

Applies the chosen rule to a row of cells, one generation at a time, and prints the whole history as a picture. The eight-entry lookup table the rule number encodes is shown alongside, so the rule and its behaviour are on the same page.

How to use this tool

  1. Pick a rule number between 0 and 255.
  2. Choose whether to start from a single live cell or from noise.
  3. Set the width and how many generations to run.
  4. Read the decoded rule table underneath, which is the whole rule.

Understanding the controls

Rule number
0 to 255. Rule 30 is chaotic, rule 90 draws the Sierpinski triangle, rule 110 is Turing complete and rule 184 models traffic.
Width
Between 11 and 81 cells. Odd widths put the single-cell seed exactly in the middle, which is what makes the symmetric rules look symmetric.
Generations
Between 5 and 60 rows. Each row is one application of the rule to the row above it.
Start from a single cell
Shows the rule's own structure. Turning it off starts from noise, which for many rules produces a completely different picture.
Wrap the edges
Joins the two ends of the row into a ring. Without it the cells beyond each end count as dead, which changes the behaviour at the margins.
Seed
Reproduces the same noisy starting row, so a run can be shown to someone else exactly.

Common use cases

  • Seeing what a named rule actually does rather than reading about it
  • Teaching that a rule number is a lookup table, not an arbitrary label
  • Showing a fractal emerging from three lines of arithmetic
  • Comparing what a rule does to a single cell against what it does to noise
  • Reproducing a specific run from a seed

How this generator works

Each cell looks at itself and its two neighbours — eight possible patterns — and the rule number's eight bits say what each becomes. The check re-derives every row from the row above using the decoded table and requires an exact match, which means the whole picture is verified rather than sampled.

Randomness and fairness

Only the noisy starting row is random; everything after it is fully determined by the rule. Seeded runs reproduce exactly and are therefore explicitly not cryptographically secure — Rule 30 was once used as a random source, but this is not that. Unseeded, the browser's cryptographically secure generator fills the first row.

For how randomness is produced across the whole site, see how Generate Random works.

Limitations and good to know

  • Elementary rules only: one dimension, two states, three-cell neighbourhoods. Wider neighbourhoods and more states are a much larger family.
  • The picture is text rather than an image, so it cannot be saved as a graphic.
  • Sixty generations is the ceiling, which is short for rules that take a long time to show their structure.
  • There is no animation — the whole history is printed at once.
  • Runs are not stored between visits; seed one you want again.

Privacy and your data

Rules are applied entirely in your browser. Nothing about the run or your seed is transmitted or kept.