A cellular automaton is a grid of cells, each either alive or dead, that evolves in discrete time steps. Every step, each cell looks only at its immediate neighbors and applies the same simple rule — yet these purely local rules can produce gliders, oscillators, chaos, and even universal computation.
2D Life-like automata (like Conway's Game of Life) use
B/S rules on the 8 surrounding cells: in
B3/S23, a dead cell is Born with exactly 3 live
neighbors, and a live cell Survives with 2 or 3.
1D Elementary automata (studied by Stephen Wolfram) act on a single
row: each cell's next state depends on itself and its two neighbors. Those
3 cells form 2³ = 8 patterns, and a rule assigns 0 or 1 to each — giving
2⁸ = 256 rules. The rule number is just those 8 output bits read as
a byte (e.g. 00011110₂ = Rule 30). Each generation is drawn
as a new row below the last.
Rule 30 — chaos from nothing: from a single cell it produces an aperiodic, statistically random pattern (Mathematica long used its center column as a random number generator; the same pattern appears on the Conus textile sea snail shell).
Rule 90 — perfect order: a single cell grows into the Sierpiński triangle fractal.
Rule 110 — the edge of chaos: gliders move through a periodic background and interact on collision. Matthew Cook proved these interactions can encode arbitrary computation — Rule 110 is Turing-complete, one of the simplest known universal computers. It shows best with a random initial row.
Pick a rule, tweak the parameters, and watch complexity emerge from simplicity.