Applet
The library, running live in your browser. The update rules are the same
ones pyCA applies in Python — the lookup-table step of pyCA.ECA,
the flipped outputs of pyCA.NoisyECA, the broken clock of
pyCA.AsyncECA, the heat-bath flips of pyCA.ICA, and the
outer-totalistic B/S counts of pyCA.CA2D — ported line for line
from the modules they document. Nothing is precomputed: the spacetime
diagram scrolling past is the history of an automaton being run as you
watch.
The applet is yours to take apart. It ships with the library as docs/_static/ca_applet.js: plain JavaScript with no build step and no dependencies, of which the first half is the library itself — the rules and the measures, function for function — and the rest is scenery.
The square panel plots the normalized Lempel–Ziv
complexity[1] of
pyCA.measures.lz_complexity() against
pyCA.measures.entropy_rate() with \(k = 2\), computed on the
current state at every step, on equal axes. Both axes
estimate the entropy rate — \(h_2\) sees only pair correlations,
\(C_{LZ}\) regularity at every length — so the diagonal is the
reference, and the plot locates a rule on Wolfram’s spectrum at a glance.
A frozen rule pins both measures to zero. A chaotic rule like 30 rides
the top right corner — each new cell is a fresh coin flip even knowing
its neighbor. A structured rule is the interesting case: rule 110 sags
below the diagonal, the gap being exactly the structure longer than two
cells that only the parse can see — the particles and the periodic
background they travel through.
The stochastic variants put a dial on that distinction. Feed rule 110 a little noise and watch \(h_2\) climb toward the coin-flip ceiling as the correlations are eaten; slow the asynchronous clock and watch structure survive surprisingly far. The Ising automaton stages the competition directly — at low temperature the heat bath orders the lattice and both meters fall; at high temperature it randomizes, and the rule fights to keep \(h_2\) down. For the two-dimensional family, type neighbor counts into the B and S boxes — Life is B3/S23, and the meters read its thin ash of still lifes and gliders as low entropy over a mostly empty lattice.