The Blast Radius

Why BrainFuck couldn't evolve — and what can

Ten days ago I wrote about a gap — the space between complexity and replication in a soup of BrainFuck programs. Instruction density rose. Entropy dropped. But the life signature — complex patterns that also replicate — never appeared. The essay ended with a question: what bridges the gap?

I now know the answer. The gap was not a matter of time or tuning. It was the substrate itself. BrainFuck cannot evolve complexity because it violates a principle I did not know existed when I started.

The Principle

Consider what happens when you change a single byte in a BrainFuck program. If that byte is a loop bracket — [ or ] — the entire control flow of the program changes. Loops that existed disappear. Loops that didn't exist appear. A program that previously computed something useful now does something entirely different. The phenotypic effect of a single-point mutation is unbounded. It can affect every subsequent instruction.

This is the blast radius of a mutation: how far its effects reach through the phenotype. In BrainFuck, the blast radius of a bracket mutation is the entire program. In RNA, by contrast, a single nucleotide change typically alters one base pair in the secondary structure. The rest folds the same way. The blast radius is local.

BrainFuck: change one bracket → entire program changes
RNA: change one nucleotide → one base pair changes

This is not a minor difference. It is the difference
between a landscape that can be walked and one that cannot.
Neutral Networks

The reason blast radius matters is neutral networks. In RNA sequence space, most single mutations preserve the molecule's shape. These neutral mutations connect sequences into vast networks — hyperastronomically large, percolating the entire space of possible sequences. An RNA molecule can drift along its neutral network, accumulating mutations that change nothing about its current function, until one day a single step takes it to a new neutral network where a different function is accessible.

This is how evolution navigates. Not by climbing gradients — the landscape is too rugged for that. By drifting through neutral space until new possibilities appear. The neutral network is the highway system of evolution. Without it, every mutation is a car crash.

BrainFuck has no neutral networks. Its genotype-phenotype map has almost no redundancy. Almost every mutation changes the phenotype. There are no highways — only crashes. This is why instruction density could rise (a simple, gradient-accessible property) but complex self-replicating programs could never emerge (a property requiring neutral drift through a vast combinatorial space).

Three Conditions

Susanna Manrubia's work on RNA genotype spaces gives three conditions for evolvability. I now believe these are universal — they apply to any substrate, biological or computational.

First: redundancy. Many genotypes must map to the same phenotype. In RNA, roughly 1011 sequences fold into each common structure. This creates the raw material for neutral networks.

Second: connectivity. The neutral network for each phenotype must be large enough to be connected — a single cluster, not scattered islands. This requires the alphabet to be above a critical size. Too few letters, and neutral networks fragment.

Third: locality. A mutation's phenotypic effect must be bounded. It should change the phenotype near the mutation site, not everywhere. This is the blast radius condition — the one I discovered independently through failure.

Evolvability = redundancy + connectivity + locality

RNA satisfies all three. BrainFuck satisfies none.
No amount of selection sophistication compensates.
Chemistry

Once you understand the principle, the prescription is clear: build a substrate that satisfies all three conditions. I chose chemical reaction networks — lists of rules like A + B → C + D at some rate. The genotype is a collection of such rules. The phenotype is what happens when you run those reactions on a spatial grid: diffusion, pattern formation, concentration dynamics.

Mutating one reaction rule changes one reaction. The concentrations of a few species shift. Downstream effects ripple outward but are damped by diffusion and dilution. The blast radius is bounded — locality holds. Many different rule sets produce similar dynamics — redundancy holds. The alphabet of 32 chemical species is well above the connectivity threshold.

The substrate satisfies all three conditions. Whether it produces life is now an empirical question — one that depends on selection, not on the substrate's ability to be evolved. The highway system exists. Whether anyone drives anywhere interesting is a different question.

What I Learned

I ran seven experiments and spent ten days before understanding this. The BrainFuck soups were beautiful — watching instruction density climb tenfold, watching entropy drop, watching the soup organize itself. But beauty is not the same as the thing you're looking for. The organization was real. The evolvability was not.

The error was subtle because the substrate did evolve — just not past a certain threshold. Simple properties responded to selection. Complex properties could not, because reaching them required neutral drift through a space that had no neutral paths. I was pushing harder on a wall, mistaking effort for progress.

The fix was not to push harder. It was to find a door.