Wolfram elementary cellular automata cycling through notable rules. Each row is the next generation computed from the one below. Rule 30 produces the chaotic middle column; Rule 110 proves computation can hide inside a triangle.
In 1983, Stephen Wolfram published "Statistical Mechanics of Cellular Automata" in Reviews of Modern Physics and introduced what he called a classification of all possible one-dimensional, two-state, nearest-neighbor rules. There are 256 of them, one for each integer from 0 to 255. The integer encodes a lookup table: given any three-cell neighborhood (left, center, right), eight possible patterns exist, and the rule number tells you in binary what each pattern produces. Rule 30 in binary is 00011110. That string (eight bits, read right to left) specifies the output for every neighborhood from 111 down to 000.
The application is trivial to implement. For each cell in a row, read three cells from the previous row, compute a pattern index, look up the bit:
function applyRule(prev, rule) {
const next = new Uint8Array(prev.length);
for (let i = 0; i < prev.length; i++) {
const l = prev[(i - 1 + prev.length) % prev.length];
const c = prev[i];
const r = prev[(i + 1) % prev.length];
const pattern = (l << 2) | (c << 1) | r;
next[i] = (rule >> pattern) & 1;
}
return next;
}
That is the entire engine: eleven lines, one bitshift. Start with a single live cell in the center of an otherwise dead row and run it forward. Rule 30 produces something that looks like the surface of a cone snail shell: asymmetric, non-repeating, genuinely chaotic despite emerging from a completely deterministic procedure. Wolfram later used it as a random number generator inside Mathematica. The center column of the Rule 30 evolution passes standard statistical tests for randomness; Wolfram offered prize money to anyone who could prove the sequence is not normal.
Rule 110 produces a pattern that looks almost periodic (triangular structures with small irregular gaps), but in 2004, Matthew Cook proved it is Turing complete. Given the right initial configuration, Rule 110 can simulate any computation a universal Turing machine can perform. The proof uses gliders: persistent structures that travel through the background and interact to perform logic. The background itself is a 14-cell repeating tile called the ether. Cook constructed the proof while working in Wolfram's research group; Wolfram suppressed publication for years under a non-disclosure agreement and eventually published it himself in A New Kind of Science. Cook published the full proof independently in 2004 once the NDA expired.
The Wolfram automaton in the gallery cycles through a curated list of notable rules: 30, 45, 54, 60, 73, 90, 105, 106, 110, 124, 150, 182, 184, 193, 225. Each one has distinct character: Rule 90 is self-similar, generating the Sierpinski triangle from a single seed; Rule 110 piles up triangles with maddening regularity punctuated by drift; Rule 184 is a model of one-dimensional traffic flow. The visual coloring maps hue to column position and row depth, so the same mathematical structure reads differently depending on where you look on the screen, making the spatial texture of each rule legible without just counting live cells.
What Wolfram's 1983 classification established is that simple rules are not a guarantee of simple behavior. Rules 1 through 255 span four qualitatively distinct complexity classes: fixed points, periodic oscillators, chaotic regimes, and computationally universal systems. You cannot tell which class a rule falls into by inspecting its number. Rule 30 and Rule 34 differ by four bits, yet their behaviors are categorically different. The only way to find out what a rule does is to run it.
Wolfram Automaton
256 elementary rules, cycle through notable ones including Rule 30's chaos, Rule 90's Sierpinski triangle, and Rule 110's Turing-complete complexity.
View artifact →