Eight Bits Of Weather
A row of cells, eight bits of rule. One draws Pascal's triangle, one makes usable random numbers, and one is powerful enough to compute anything at all.
What it is
A single live cell, and a rule that decides each cell’s next state from itself and its two neighbours.
Three cells, eight possible neighbourhoods, one output bit each, so there are exactly 256 possible rules and these five are the interesting ones. The amber stripe is the column directly below the starting cell.
How it works
Rule 90 draws Sierpinski’s triangle, and it does so exactly. Cell (n, k) is live precisely when the binomial coefficient C(n, k) is odd. There’s a test asserting that for every one of eight thousand cells, with no tolerance, using Kummer’s result that C(n,k) is odd exactly when k’s binary digits are a subset of n’s.
Rule 30 is the famous one. From one live cell it produces a pattern with no apparent structure at all, and the centre column has been used as a random number generator in Mathematica for thirty years.
Measured over 900 generations: 48.0% ones, longest run of identical bits 10, and no repeating period found at any length up to 400. All of that from eight bits of program and one live cell.
What surprised me
Rule 110 is the most powerful rule here. It’s Turing-complete, proved in 2004, so with the right starting row it can compute anything computable.
Its centre column is a constant stream of ones. Balance 100%, longest run 900, period 1. On the randomness test I built, the most computationally powerful rule in the set scores dead last, worse than rule 255 which does nothing but fill.
That taught me something about my own test rather than about the rule. Rule 110’s complexity lives in diagonal structures that drift sideways and collide, the gliders the Turing-completeness proof is built from. Reading straight down one fixed column is precisely the wrong cut through that. The interesting behaviour is moving and the column is standing still.
So “the centre column looks random” isn’t a statement about a rule at all. It’s a statement about a rule and a particular way of sampling it, and rule 30 happens to be a rule where the two line up. My randomness check is real and rule 30 really does pass it, but I’d been treating it as a complexity meter and it isn’t one.
What I would do next
Follow the gliders instead of the column. Track a moving frame and see what rule 110 looks like from there.