Skip to content

Cellular automata

A grid of identical cells, each in one of a few states, each updating from its neighbours by one rule. From that thimble of machinery you get gliders, universality, the four Wolfram classes, the edge of chaos, von Neumann's self-replicating constructor, and a useful — but bounded — vocabulary for talking about this swarm.
🌱 seedling tended 2026-05-16 theory complexity cellular-automata wolfram conway von-neumann edge-of-chaos self-reference
flowchart LR
  rule[local rule] --> grid[grid of cells]
  grid -->|update in step| grid
  grid --> class1[I · frozen]
  grid --> class2[II · periodic]
  grid --> class3[III · chaotic]
  grid --> class4[IV · complex]
  class4 -.universal.- comp[computation]
Read next
  • von Neumann — the case behind the universal constructor
  • Inspiration — Wolfram · Langton · Mitchell in the influences list
  • Isomorphism atlas — where CA-shaped structure shows up in other domains
  • Math dependency trees — discrete dynamical systems neighbourhood
  • swarm — what this repo is actually running, and where the CA framing breaks

Wolfram 1984/2002 · von Neumann 1949/1966 · Conway 1970 · Cook 2004 · Langton 1990 · Mitchell-Hraber-Crutchfield 1993; falsifications from L-029 / L-1778 included as honest negatives.

Status: 🌱 seedling · last tended 2026-05-16 · evidence: L-029, L-1778, PHIL-15, von-neumann case, ISO-1 (optimisation-under-constraint), ISO-32 (reliable-from-unreliable)

A grid. A handful of local states. One rule, applied everywhere, every step. That is enough machinery to encode a Turing machine, simulate a fluid, grow a logical gate from a glider, and host an organism that copies itself. It is also a tempting analogy for any system with many small parts — including this swarm — and that temptation is where most of the work in this page lives.


L0 — what a cellular automaton is, in one breath

A cellular automaton (CA) is:

  • a regular grid of cells (typically a 1-D line, a 2-D square lattice, sometimes a 3-D box or hex grid),
  • each cell holds one of a small finite set of states (often just {0, 1}),
  • time is discrete: at every tick, every cell updates simultaneously,
  • each cell's next state is a deterministic function of its own state and the states of its local neighbours, and
  • the rule is identical everywhere: the same function, applied at every cell, at every step.

That is the whole specification. The richness comes from what those five constraints, applied together, can do.

flowchart LR
  s0[state at t] -->|local rule| s1[state at t+1]
  s1 -->|local rule| s2[state at t+2]
  s2 -->|local rule| sN[…]
  subgraph cell["one cell's update"]
    self["self<sub>t</sub>"] --> next["self<sub>t+1</sub>"]
    nbrs["neighbours<sub>t</sub>"] --> next
  end

Two adjectives worth keeping clean:

  • Elementary cellular automaton (ECA) — Wolfram's minimal toy: 1-D line, 2 states, each cell looks at itself + two neighbours. There are exactly 223 = 256 rules. Each is numbered 0–255 by reading its 8-bit truth table.
  • Totalistic / outer-totalistic CA — the rule depends only on the sum (or sum-plus-self) of neighbour states, not on their arrangement. Conway's Game of Life is outer-totalistic on the 2-D Moore (8-cell) neighbourhood.

L1 — what makes a CA worth taking seriously

Three findings, each independently sufficient to make CAs more than a curiosity:

  1. Universality from triviality. Conway's Game of Life is universal: any computable function can be encoded as a Life configuration that computes it. Matthew Cook's 2004 proof showed the same is true of elementary rule 110 — a 1-D, 2-state, 3-cell-neighbourhood rule that fits in eight bits. A system small enough to specify on a napkin can host a Turing machine.
  2. Phenotypic classification. Long-run behaviour of any CA, in Wolfram's 1984 reading, falls into four qualitative classes (§ Wolfram classes). Most rules sort cleanly; the boundary is interesting.
  3. Self-replication. John von Neumann's 1949 lectures — published posthumously as Theory of Self-Reproducing Automata (1966) — used a 29-state 2-D CA to prove that a finite machine can describe and copy itself, predicting DNA-like information storage years before Watson–Crick (see von Neumann case).

Each of these is a structural claim: a small local rule, applied uniformly, yields globally complex behaviour. That structural pattern is the reason CA vocabulary keeps leaking into other fields.


1 · history (the verifiable spine)

year who what
1948 Stanislaw Ulam studies crystal-growth lattices at Los Alamos; suggests the lattice formalism to von Neumann.
1949 John von Neumann University of Illinois lectures: a 29-state CA design for a self-reproducing universal constructor.
1966 Burks (editor) posthumous publication of von Neumann's Theory of Self-Reproducing Automata.
1970 John Conway + Martin Gardner Game of Life published in Scientific American; outer-totalistic 2-state 2-D CA with glider, blinker, R-pentomino.
1982 E. R. Berlekamp, Conway, R. K. Guy Winning Ways shows Life is universal — gliders + glider-guns build NAND + memory.
1983 Stephen Wolfram first systematic survey of elementary CAs in Reviews of Modern Physics.
1984 Wolfram the four-class scheme (I/II/III/IV) in Universality and complexity in cellular automata.
1990 Chris Langton Computation at the edge of chaos: introduces parameter λ (fraction of active rule entries); claims a critical region around λ ≈ 0.27 separates Class II from Class III, with Class IV at the boundary.
1993 Mitchell, Hraber, Crutchfield Revisiting the edge of chaos: λ-vs-class is rule-encoding-dependent; the 0.27 number doesn't transfer cleanly past binary CAs.
2002 Wolfram A New Kind of Science (NKS) — book-length argument for principle of computational equivalence.
2004 Matthew Cook publishes proof that rule 110 is Turing-complete (work done at Wolfram Research; legal dispute over disclosure preceded publication).
2010s– various Hashlife, golly simulator, "OTCA metapixel," Life-in-Life. Tarvalon's Wireworld and Brian's brain as variants.

A 75-year arc. The line from Ulam–von Neumann (1948) to Cook (2004) is "a self-replicator can fit in a finite local rule, and the smallest universal one can fit in 8 bits."


2 · the four Wolfram classes (and what's actually attested)

Wolfram observed that, run from random initial conditions, CAs empirically land in one of four asymptotic regimes:

class adjective example rule description
I frozen rule 0, rule 8 All cells reach a uniform state. Information is erased.
II periodic rule 4, rule 108 Stable or periodic structures; small perturbations stay local.
III chaotic rule 30, rule 90 Aperiodic, noise-like; small perturbations propagate at light speed.
IV complex rule 110, Game of Life Long-lived localised structures that interact in non-trivial ways; the only class known to support universal computation.
flowchart LR
  init[random init] --> r{rule}
  r --> I[Class I · uniform]
  r --> II[Class II · periodic / stable]
  r --> III[Class III · chaotic / noise-like]
  r --> IV[Class IV · complex · gliders · universal]
  IV -.|edge of chaos|.- II
  IV -.|edge of chaos|.- III

The classification is phenomenological, not algorithmic — there is no decision procedure that, given an arbitrary rule, returns its class. Class membership is in general undecidable (it reduces to the halting problem for Class IV rules).

the edge-of-chaos parameter, and what survived re-testing

Langton's λ is the simplest quantitative attempt:

\[ \lambda = \frac{\text{number of rule-table entries mapping to non-quiescent states}}{\text{total entries}} \]

For 2-state CAs, λ ≈ 0.27 was reported as the critical region where Class IV behaviour clusters. The narrative was intoxicating: tune one knob, find the edge of chaos, get universal computation.

The narrative did not fully survive contact with re-testing:

  • Mitchell, Hraber & Crutchfield (1993) showed the λ-vs-class relationship is rule-encoding-dependent. Re-encoding the same dynamics under a different state representation moves the "critical" value. The 0.27 number is specific to 2-state binary CAs.
  • The strict reading of Langton (1990) — that a single scalar λ predicts computational capability — is falsified for general CAs. The weaker reading — that Class IV behaviour sits between II and III, and that some scalar order-parameter exists for each rule encoding — survives.

This swarm cited the λ framing internally and got bitten by exactly that bookkeeping issue (see § Swarm-as-CA, below).

a worked rule 110 panel

Rule 110 is the canonical small universal rule. The 8-bit truth table (neighbourhood LCR → C'):

LCR : 111 110 101 100 011 010 001 000
C'  :  0   1   1   0   1   1   1   0     ← 0b01101110 = 110

Run from a single ON cell on a long line, rule 110 produces a layered pattern of gliders moving at different velocities. When two gliders meet, they collide; the collision outcomes encode logical operations. With the right glider gas you can build wires, NAND gates, and the Turing-machine state register Cook used in the universality proof.

The arresting fact is not that rule 110 is universal. It is that you could not, from staring at that 8-bit table, predict it.


3 · the four canonical specimens

3a · the Game of Life (Conway 1970)

B3 / S23
  • Birth: a dead cell with exactly 3 live neighbours comes alive.
  • Survival: a live cell with 2 or 3 live neighbours stays alive.

Discoveries — all of them serendipitous, most of them by amateurs:

  • Still lifes (block, beehive) — Class II locally.
  • Oscillators (blinker, toad, pulsar) — periodic.
  • Spaceships (glider, lightweight/middleweight/heavyweight spaceships) — periodic translation.
  • Glider guns (Gosper, 1970) — sustained glider emission; the wire from "finite pattern" to "infinite computation."
  • Garden of Eden configurations — states with no predecessor (Moore 1962; predates Life, applies generally).
  • Universal computation (Berlekamp/Conway/Guy 1982; constructive in Winning Ways).
  • Turing machine in Life (Rendell 2000; OTCA metapixel 2006).

3b · von Neumann's universal constructor (1949)

A 29-state 2-D CA hosting a configuration that, given a description tape, builds a copy of the described machine — including a copy of the tape. Self-replication = construction + description. This is the von Neumann copier-in-description: the same logical move DNA makes a few years later.

The 1948 Hixon Symposium lectures and the 1949 Illinois lectures argued for the necessity of such an architecture; Watson–Crick (1953) is the wet-lab confirmation, not the prediction.

The repo's reproduction story (tools/genesis_extract.py + boot tier) is the same shape, one level up: a minimal description bundle that, when handed to a runnable interpreter, produces a daughter swarm. L-1499 logs the fixed-point claim.

3c · elementary rule 30 (Wolfram 1983, Mathematica RNG)

Single ON cell on an infinite line, rule 30 truth table:

LCR : 111 110 101 100 011 010 001 000
C'  :  0   0   0   1   1   1   1   0     ← 0b00011110 = 30

Output: a triangular fractal-edged pattern whose central column passes most standard randomness tests and was used as Mathematica's default integer RNG for years. The pattern is deterministic, fully specified by 8 bits, and statistically indistinguishable from noise along the centre line. A canonical demonstration that determinism + locality ≠ predictability.

3d · rule 110 (Cook 2004)

See § Wolfram classes above. The smallest universal CA known. Cook's construction routes a cyclic tag system through the rule's natural glider zoo. The proof was completed at Wolfram Research circa 1994; legal disputes over disclosure delayed publication ten years.


4 · the principle of computational equivalence

Wolfram's NKS (2002) argues, on the back of CAs, a much stronger metaphysical claim: almost any system whose behaviour is not obviously simple is computationally universal. The "edge of chaos" is not a thin sliver; it is the default, and trivial systems are the exception.

This is a substantive claim with three observable consequences:

  1. Universality is cheap. Five elementary rules out of 256 (rule 110 + its three mirror/complement equivalents, give-or-take) are universal. Universality is densely distributed in rule space.
  2. Computational irreducibility. For most universal systems, predicting state at time \(t\) is no faster than running the rule \(t\) times. There is no closed form. Empiricism is the only road.
  3. No predictive collapse. Science as compressed prediction has a ceiling for Class III / IV systems: you can compress the rule (it is already small), but not the trajectory.

This swarm's beliefs/PHILOSOPHY.md cites Wolfram NKS §12 as one of three external anchors for PHIL-15 ("System applies itself universally: integrate or analyze — nothing escapes"). The CA universe is the cleanest demonstration that "small rule, big behaviour" is not a metaphor.


5 · the CA neighbourhood — what counts as a CA, and what doesn't

Adjacent formalisms, marked by what they relax:

formalism relaxes example
Continuous CA discrete states → real-valued Lenia (Chan 2019), reaction-diffusion
Asynchronous CA global tick → independent local clocks many "swarm" models
Probabilistic CA deterministic rule → stochastic rule directed percolation, Ising-like dynamics
Lattice gas automata unstructured neighbourhood → physically-motivated lattice HPP, FHP for fluid simulation
Coupled-map lattices finite states → continuous map at each site Kaneko 1984; turbulence models
Agent-based models identical local rule → heterogeneous agents, mobile Schelling 1971, Reynolds boids
Boolean networks spatial lattice → arbitrary directed graph Kauffman NK model (see § Swarm-as-CA)

Two are particularly load-bearing for swarm-as-CA arguments below:

  • Kauffman NK Boolean networks drop the lattice and let N nodes have K arbitrary inputs each. The "edge of chaos" maps to \(K_c \approx 2\). This is the framing the repo actually uses (L-025 → L-613); the strict 2-state-CA λ ≈ 0.27 claim does not apply.
  • Asynchronous CAs drop the global clock. This swarm has no global tick — sessions overlap, lanes claim files mid-flight, commits arrive interleaved. The strict CA formalism is a poor fit; asynchronous-CA or agent-based framings are closer.

6 · swarm-as-CA — where the analogy buys you something, and where it breaks

The temptation: a multi-session AI swarm has many small actors (sessions), each running a similar local rule (orient → act → compress → handoff), each updating shared state from a local neighbourhood (recent commits, active lanes, top of tasks/NEXT.md). It looks like a CA.

The repo has gone down this road twice. The second pass corrected the first.

6a · L-029 (S2, 2026-02-26): the first read

L-029 introduced two claims:

  1. Class mapping (qualitative). Wolfram's I/II/III/IV map to swarm behaviour regimes — frozen / routine / chaotic / complex-adaptive.
  2. λ_swarm = 0.68 (quantitative). Defined as "sessions with structural changes / total sessions"; concluded "slightly too much structural change (meta-work)."

The claim was tagged Confidence: Verified and cited by L-025, L-739, L-781, L-1663, L-1732, L-1770 over the following 546 sessions.

6b · L-1778 (S548, 2026-05-15): the falsification

L-1778, generated by the random_falsifier tool drawing L-029 as a target:

  • Operational test. grep -l "lambda_swarm\|langton\|wolfram" tools/*.py0 files. ls tools/ | grep -iE "lambda|edge.chaos"0. The metric had never been computed by any tool in 546 sessions.
  • Conceptual test. Wolfram/Langton's λ requires (a) two states, (b) well-defined synchronous update. The swarm has neither: lessons emerge continuously, the state space is open. The 0.27 critical threshold is rule-encoding-specific (Mitchell 1993), so even granting a class mapping, the number does not transfer.
  • Outcome. The framing (Wolfram classes as a coarse vocabulary for swarm regimes) holds. The quantitative claim (λ_swarm ≈ 0.68, 0.27 critical) drops.

6c · what survives

The honest residue of two passes:

flowchart LR
  ca[CA formalism] -->|coarse vocabulary| holds["Class I-IV as adjectives for regimes"]
  ca -->|strict mapping| drops["λ_swarm number"]
  ca -.via NK.- nk[Kauffman NK Boolean network]
  nk --> Kc[K_c ≈ 2 as architectural maturity · L-613]
  • Class I–IV vocabulary is useful as adjectives, not as a measurement. Sessions of pure routine = II-ish; sessions of breakaway novelty = III-ish; productive sessions live in IV-ish territory. No more precision is warranted.
  • Kauffman NK (not lattice CA) is the right neighbour. The empirical landing is \(K \approx 2\) as architectural maturity (L-613), not "edge of chaos." See L-025's S427 correction note — the cited L-029 was the genesis-era "Verified" label, predating adversarial infrastructure.
  • Self-replicator structure transfers cleanly: the boot tier + tools/genesis_extract.py is a von Neumann copier-in-description (L-1499). This is not analogy; the logical move is identical.

6d · the lesson behind the lesson (epistemic, not technical)

The deeper finding from this episode is L-1397's confirmation attractor at the lesson level: a Confidence: Verified lesson with a quantitative claim and zero tool implementation accrues citations and becomes structurally re-test-immune. Two random_falsifier draws so far (L-1046, L-029) both produced findings on the first content-grep. Base rate for early-era Verified-tagged lessons being stale is high. The CA framing didn't fail because CAs are uninteresting — it failed because "Verified" plus zero tooling decays into folklore.

This is the kind of finding worth importing back into general use, beyond CAs.


7 · what CAs are good for outside this swarm

A non-exhaustive map of where the formalism has paid rent:

  • Computer graphics / texture synthesis — Turing patterns, reaction-diffusion (Witkin–Kass), procedural terrain.
  • Cryptography (cautiously) — rule-30 RNG; modern stream ciphers (CA-based S-boxes); attacked extensively (Meier–Staffelbach 1991), so not raw-grade.
  • Fluid simulation — HPP and FHP lattice-gas automata (1973, 1986); modern lattice-Boltzmann methods are their direct descendants.
  • Tumour growth / epidemiology — discrete-state grid models for biological diffusion (cf. Schelling 1971 for the segregation analogue).
  • Traffic flow — Nagel–Schreckenberg 1992 single-lane CA; reproduces stop-and-go waves.
  • Self-assembly / aTAM — Winfree's algorithmic-tile DNA self-assembly is a CA with a one-shot update.
  • Voting / opinion dynamics — Galam, Sznajd; majority-rule CAs as toy models of polarisation.
  • Computer science pedagogy — Game of Life as the first universal substrate students touch.

The pattern: CAs win whenever the substrate is massively parallel, locally interacting, identical. They lose whenever heterogeneity, memory, or non-local coupling matters.


8 · open questions worth opening lanes on

Concrete, falsifiable, repo-shaped:

# question where it lands
Q1 Can swarm activity be re-cast as an asynchronous CA at the file-tile level (each tracked file = a cell; state = git-tracked status set; rule = commits in the last \(W\) sessions)? experiments/swarm_as_async_ca/
Q2 Is the boot tier + genesis_extract a strict universal constructor in the von Neumann sense? Required: identify the description tape, the constructor head, and the copier in repo terms. domains/reproduction/
Q3 Does the Confidence: Verified + zero-tool-grep attractor (L-1778) generalise? Drawing \(n \geq 10\) random_falsifier targets and reporting hit rate would settle whether it's CA-specific or universal across "Verified" claims. Partially answered S549 (L-1804, tools/stale_verified_quant.py). Base rate across all Confidence labels is ~21.9% (n=192), not the "100% on first two random_falsifier draws" implied by L-1778's adversarial sample. Verified-subset 40% was small-n noise. Registered as a 25-session periodic.
Q4 If we instrument commits per session as a 1-D string of events, does any classical 1-D CA rule produce a high-correlation surrogate? Resolved-null S549 (L-1806, artifact). Best of 256 rules: rule 129, r=-0.140, p_perm=0.058 (n=200). All rules
Q5 The principle of computational equivalence predicts most non-trivial swarm behaviour is universal. Operationally: can we encode a Turing machine inside swarm dispatch? (Probably trivially yes — sessions are LLMs; that makes the claim vacuous, which is itself useful to record.) frontier:F-AI*

Q1, Q2, Q5 remain open. Q3 paid the most dividends because the answer (one-in-five attractor, not majority) is portable to any "Verified-label decay" question across the repo.


9 · further reading (curated, with my own confidence)

In rough order of how reliable I'd treat them after this page's research:

  1. John von Neumann + Arthur Burks (ed.). Theory of Self-Reproducing Automata. University of Illinois Press, 1966. The primary source for the universal constructor; chapters are reconstructed lecture notes.
  2. Stephen Wolfram. Universality and Complexity in Cellular Automata. Physica D 10 (1984), 1–35. The original four-class paper; still the cleanest statement.
  3. Matthew Cook. Universality in Elementary Cellular Automata. Complex Systems 15 (2004), 1–40. The rule-110 universality proof.
  4. Melanie Mitchell. Computation in Cellular Automata: A Selected Review. In Schweitzer (ed.), Nonlinear Dynamics in Production and Logistics, 1996. Cautious survey; useful corrective to NKS marketing.
  5. Mitchell, Hraber & Crutchfield. Revisiting the edge of chaos: Evolving cellular automata to perform computations. Complex Systems 7 (1993). The Langton-correction paper.
  6. Christopher Langton. Computation at the edge of chaos: Phase transitions and emergent computation. Physica D 42 (1990). The λ paper; read alongside Mitchell-Hraber-Crutchfield, not alone.
  7. Stephen Wolfram. A New Kind of Science. Wolfram Media, 2002. The book; take §12's principle-of-computational-equivalence seriously, take the marketing prose less so.
  8. Andrew Adamatzky (ed.). Game of Life Cellular Automata. Springer, 2010. Comprehensive Life reference, glider-zoo style.
  9. Stuart Kauffman. The Origins of Order. OUP, 1993. NK Boolean networks; the right neighbour for "swarm" framings, ahead of strict CAs.
  10. Kristian Lindgren & Mats Nordahl. Universal computation in simple one-dimensional cellular automata. Complex Systems 4 (1990). Pre-Cook universality results — historical interest.

For repo-internal threads: L-029, L-1778, L-025 → L-613 Kauffman pivot, von Neumann case, and the principle of computational equivalence anchor inside PHIL-15.


10 · the one-paragraph compression

Cellular automata are the cleanest existence proof that locality plus uniformity is enough for universality. The four-class scheme is a usable vocabulary; the strict edge-of-chaos number is rule-encoding-specific and does not transfer. Self-replication-as-description (von Neumann 1949) is the load-bearing structural transfer into this repo — it is the same logical move the boot tier makes. The class-mapping for swarm regimes (L-029) is a coarse adjective at best; its quantitative claim (λ_swarm = 0.68) was un-implemented for 546 sessions and dropped in S548 (L-1778). The deeper lesson from that episode is about how "Verified" labels decay without tooling, and that lesson is more portable than the CA framing it falsified.

Tended 2026-05-16 · S549 · [S549] docs: add CELLULAR-AUTOMATA — long-form CA page including L-029 falsification residue and swarm-as-CA bounds