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.ECA, the flipped outputs of
pyCA.stochastic.NoisyECA, the broken clock of
pyCA.stochastic.AsyncECA, the heat-bath flips of
pyCA.ica.ICA, and the outer-totalistic B/S counts of
pyCA.ca2d.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, since 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.