partial

More compute per interaction is not more life

DESIGN §1.3 sweep 4 expected a floor: below some number of instructions a copy cannot finish, above it the budget should stop mattering. What the four arms show instead is a single positive point. In 20 000 epochs at 128×128 emergence appears only at max_steps 8 192, 2 of 10 seeds, and never at 256, 1 024 or 65 536 — the arm with eight times the compute of the one that works produces nothing, and the extra instructions are spent rather than merely bought: an epoch at 65 536 costs twelve times an epoch at 256. The detector and the census agree in every arm, which is rare in this programme. But a peak found by one arm out of four is located to within a factor of 64, and each silent arm bounds its rate only to about 0–26%.

Hypothesis

DESIGN §1.3 sweep 4 varies the only parameter that is purely about computation. max_steps is how many instructions one interaction may execute before the pair of tapes is put back in the world, and the reading it was queued for is a floor: a copy loop needs a certain number of instructions to run to the end, so a budget below that length cannot finish a copy however lucky the tape is, and emergence should be impossible under it. Above the floor the budget is supposed to stop mattering — a replicator that fits in 8 000 steps also fits in 60 000, and the extra head-room is spent on tapes that were going to halt anyway. The prediction is therefore monotone and then flat: nothing, nothing, something, the same something.

Method

One parameter moving over four budgets two octaves apart — 28, 210, 213, 216 instructions, that is 256, 1 024, 8 192 and 65 536 — on a 128×128 torus of 64-byte tapes, 10 seeds per arm and 20 000 epochs per run. The mutation rate is held at 2-13, the rate of the first run of the programme to show emergence, so an arm that shows nothing cannot be explained by sitting outside the region where anything ever happened; every other parameter is at its default. The dependent variable is the transition epoch of DESIGN §1.2 — the first sampled epoch at which compress_ratio falls below 0.6 and stays below for three further samples — and beside it the replicator_count census. A run that never crosses is censored at 20 000 epochs, not counted as a zero.

Result

40 of the 40 runs have reached 20 000 epochs — a count read from the database when this page is served rather than frozen into the text. The table below is the per-arm result recorded once every one of the 40 had finished; the phase diagram and the per-run rows further down read the same runs live.

max_steps Flagged Census-confirmed Transition epochs (peak census) Disagreements
256 0 of 10 0 of 10 — 0
1 024 0 of 10 0 of 10 — 0
8 192 2 of 10 2 of 10 5 030 (seed 1, 867), 7 000 (seed 5, 108) 0
65 536 0 of 10 0 of 10 — 0

"Peak census" is the largest replicator_count the run reached at any sample. The last column is the runs the two observables disagree about — flagged by the detector with a census that never leaves zero, or counted by the census without the detector firing.

More compute per interaction is not more life. Emergence appears at one budget only, 8 192 steps, in 2 of 10 seeds, and the arm eight times larger than it produces nothing. That is not the shape the hypothesis predicts. A floor would leave every arm above it emerging at about the same rate; what the sweep shows is 0, 0, 2 and 0 — a single positive point with silence on both sides of it. Read at face value the interaction budget has an optimum rather than a threshold, and spending more computation on each interaction is at best wasted and at worst harmful.

The detector and the census agree everywhere. Every arm's disagreement column is zero: the two runs the detector flags are exactly the two runs that count a replicating cell, and no run in the sweep does one without the other. That is worth saying because it is not what the rest of the programme looks like — the mutation-rate sweep and its long re-run both report runs where compress_ratio collapses with an empty census. Here the cheap observable and the expensive one name the same two events, so nothing in this finding turns on which of them is believed.

The two transitions. The 8 192 arm's first seed crosses at epoch 5 030 and its census peaks at 867 replicating cells at 5 080 — the largest count of any 128×128 run in the lab — having counted its first cell at 4 890. Its entropy bottoms out at 4.85 bits at 5 120, its copy_rate peaks at 0.0474 at 5 090, and it ends the run collapsed: compress_ratio 0.26, 13 349 distinct tapes, top_share 0.00427. The same arm's fifth seed crosses at 7 000, counts its first cell at 7 030 and climbs much more slowly — a census peak of 108 at 9 580, a copy_rate peak of 0.00433 at 9 610, entropy down to 4.32 bits at 7 100 — and yet ends the run further gone than the first: compress_ratio 0.054 against 0.26, 2 406 distinct tapes against 13 349, top_share 0.00726 against 0.00427, a world taken over by one short lineage rather than by the many variants the first seed ends with. A slower climb and a smaller census peak end in the more uniform world, not the less uniform one. Both transitions are backed by stored worlds: the second has a snapshot at exactly its transition epoch, and the first has one 30 epochs before it, which is close enough to rescore the crossing against a rebuilt world rather than only against its samples.

The first seed's census, with its transition epoch marked: 4 890 epochs of flat zero, then the whole event inside 200 epochs.

Replicator count
0 5000 10000 15000 20000 0 200 400 600 800 1000 Epoch Replicator count transition
Run #247 of the max steps per interaction sweep, seed 1, with its transition epoch marked.

The silent arms are silent in every observable. Among the 38 runs that never transitioned, entropy_bits never falls below 7.77 against a random-soup baseline near 7.94, the final compress_ratio spans 0.921 to 0.984, and distinct_tapes ends between 16 379 and 16 384 of the world's 16 384 cells. That is an untouched soup, not a world that started down the path and stopped: the 256 and 1 024 arms do not sit part-way between the silent and the collapsed, they sit where the first epoch left them. 12 of those 38 runs do show a copy_rate blip, eleven of them at exactly 6.1 × 10-5 — that is 1/16 384, one interaction of a counted epoch that copied a tape — and the twelfth at twice it. None of the twelve produces a replicator, and every one of them ends as untouched as the rest, so a blip is not an early sign of emergence. It is not noise spread evenly over the arms either: the count climbs with the budget, 1 of the 10 runs at 256, 2 of 10 at 1 024, 4 of the 8 silent runs at 8 192 and 5 of 10 at 65 536. That is the first sign that the extra instructions are being executed and not merely allowed; the cost measured below says the same thing outright.

What four points and two events can and cannot support. Each silent arm rests on 10 seeds, and 0 of 10 bounds a per-arm rate to roughly 0 to 26% — the one-sided 95% Clopper–Pearson upper bound is 0.259 — so no arm here is a demonstrated zero, and in particular the 65 536 arm is not shown to be worse than the 8 192 one: 2 of 10 against 0 of 10 is a one-sided Fisher exact p = 0.24. The non-monotonicity is the claim the data actually makes and it is the claim with the least support: it rests on four points two octaves apart with two events at the only positive one, and a peak located by a single arm is a peak located to within a factor of 64. What the sweep does establish is negative and useful — a budget of 256 or 1 024 steps is not obviously fatal in the way the floor reading expects, and a budget of 65 536 does not buy the emergence that the extra computation was supposed to make easier.

A determinism cross-check, and a caveat with it. The 8 192 arm is the engine's default budget, so its ten runs repeat the parameters of the mutation-rate sweep's 2-13 arm and of the long re-run's. Its two transitions are those sweeps' two earliest, at the same epochs and the same census peaks, 5 030 with 867 cells and 7 000 with 108, from the same (params, seed) — the guarantee DESIGN §1.1 makes, checked rather than asserted, for the third time in the programme. The caveat is the other side of the same coin: that arm is not an independent sample, so this sweep holds 30 runs of new evidence and 10 of a repeat, and the one arm where emergence happens is the one arm whose events were already counted elsewhere.

What it cost, and what the cost says. A run writes its samples in batches as it goes, so the epochs between two writes over the seconds between them measure the engine actually running. Dropping every gap longer than 300 seconds removes the time a run spent queued or waiting for a slot and leaves the time it spent working; what is left covers 18 000 to 19 900 of each run's 20 000 epochs. These are throughput figures under a shared load of about a dozen runs on a 16-core box, not single-run benchmarks — the mean number of runs in flight was 12.3, 12.4, 9.5 and 11.5 from the narrowest arm to the widest, which if anything flatters the expensive arms.

max_steps Epochs per second Milliseconds per epoch Runs with a copy-rate blip
256 74.4 13.4 1 of 10
1 024 62.6 16.0 2 of 10
8 192 29.5 33.9 4 of 8
65 536 6.0 167.8 5 of 10

Epochs per second is the median of the arm's silent runs; the blip column counts the silent runs whose copy_rate ever left zero.

An epoch at 65 536 steps costs about 12 times what an epoch at 256 costs, and the price is close to linear in the ceiling: each extra step of budget adds 3.3, 2.5 and 2.3 microseconds per epoch across the three gaps — a marginal price that barely moves over three octaves of budget. That is the shape you get when some steady share of the interactions is still running when the ceiling cuts it off, and each extra step is executed for that share. If every interaction halted before max_steps, raising the ceiling would cost nothing; if the share that reaches the ceiling thinned as the ceiling rose, the marginal price would thin with it. Over three octaves it barely does. The eight-fold budget difference between the widest arm and the only one that works is real work, done and charged for, and it buys nothing.

And the transitions are the expensive runs. The two runs that crossed are the two slowest in their arm, and each slowed at its own crossing: the first seed ran at 31.0 epochs per second before epoch 5 030 and 14.7 after it, the fifth at 32.5 before 7 000 and 2.6 after. Neither slowdown is contention — both runs had fewer neighbours on the box after their transition than before, 9.2 and 8.6 against 12.5 and 11.0. A collapsed world is full of tapes that copy themselves and a copy loop is a long program, so the same binary on the same world executes far more instructions per epoch once there is something worth executing. The budget is spent where a program exists to spend it, and the silent arms spend it on tapes that loop until the ceiling stops them.

This stays partial rather than published, and not because a run is outstanding — every arm is censored at 20 000 epochs, where the long re-run found that half the emergence in its region of the parameter space happens later, so a silent arm here is a silent arm at this budget of epochs and not at any budget. And a silence of ours reads as a fact about the world only once the BFF positive control resolves its own census; until then three of these four arms say as much about the instrument.

What next

The obvious follow-up is a finer grid around the one positive point — 2 048, 4 096, 8 192, 16 384 and 32 768 at 20 seeds each — which would say whether the peak is real and roughly where it sits, and 20 seeds would make a 2-of-10 against 0-of-10 difference resolvable rather than merely visible. That is a proposal and not a commitment: it is around 400 000 run-epochs per arm, and the world-size sweep reads emergence as a hazard per cell-epoch, which makes a wider world the cheaper place to buy events than a finer grid on a parameter that may turn out to be flat. What the non-monotonicity does argue for is keeping the whole grid rather than fixing max_steps at its default and never looking at it again.

Evidence

Transition, flagged, census and arm are used here in the senses set out in the glossary.

Sweep: Max steps per interaction

Transition epoch vs max steps
256 1024 8192 65536 0 2000 4000 6000 8000 Max steps Transition epoch 8192: emerged at epoch 7000 8192: emerged at epoch 5030 256: no emergence in 20000 epochs (10 of 10 runs) 10 1024: no emergence in 20000 epochs (10 of 10 runs) 10 8192: no emergence in 20000 epochs (8 of 10 runs) 8 65536: no emergence in 20000 epochs (10 of 10 runs) 10

Filled dots are runs a replicator confirmed emerged in; the line joins the median per value. Hollow dots are crossings the detector flagged that nothing confirmed. Hollow markers at the top count the runs with no emergence in 20000 epochs, the flagged-only ones among them.

Transitions and replicator counts

One row per finished run the detector flagged or that counted at least one replicator. "Transition epoch" is the detector's event; "Peak replicators" is the largest census the run reached, with the epoch it first reached it in brackets; "—" means the run never had a value.

Run Seed Max steps Transition epoch Peak replicators Min entropy_bits Max copy_rate
Run #247 (CSV) 1 8192 5,030 867 (5,080) 4.85 0.0474
Run #251 (CSV) 5 8192 7,000 108 (9,580) 4.32 0.00433

Runs

Every run of the sweep, flagged or not, with its seed — the denominator of the rate above.

Seed Max steps Status Priority Epochs done Transition epoch Census
1 256 finished 0 20,000 — — Run
2 256 finished 0 20,000 — — Run
3 256 finished 0 20,000 — — Run
4 256 finished 0 20,000 — — Run
5 256 finished 0 20,000 — — Run
6 256 finished 0 20,000 — — Run
7 256 finished 0 20,000 — — Run
8 256 finished 0 20,000 — — Run
9 256 finished 0 20,000 — — Run
10 256 finished 5 20,000 — — Run
1 1024 finished 5 20,000 — — Run
2 1024 finished 5 20,000 — — Run
3 1024 finished 0 20,000 — — Run
4 1024 finished 0 20,000 — — Run
5 1024 finished 0 20,000 — — Run
6 1024 finished 0 20,000 — — Run
7 1024 finished 0 20,000 — — Run
8 1024 finished 0 20,000 — — Run
9 1024 finished 0 20,000 — — Run
10 1024 finished 0 20,000 — — Run