This is an earlier experiment. Read the amendments below before treating its findings as current.

The question

Does a disturbance grow or fade as it passes from craft to craft? We measured the share of a disturbance that each craft passes on to the next. Below 1, it dies out; above 1, it grows.

What was tested

We hovered a 13×13 grid of craft with perfect information and shoved the centre craft at 10 m/s. Four versions of the rules were tried, each averaged over three layouts.

What was found then

Every version damped the shove: each craft passed on between 0.50 and 0.73 of it. No craft entered another's safety bubble, as far as the last layout's summary shows. The surprise: looking ahead for conflicts made the wave travel further, raising the share from 0.50 to 0.73. Reacting to conflicts 10 s ahead ties craft together over a longer range.

What we learned later

LATER REVIEW

On 2026-09-08 an outside review found this test kept only the last layout's count of close calls (the passed-on share was the three-layout average). The code was fixed, but these results were not re-run.

README.md:1244 (The Python reporting bugs are fixed); git a17e672

What changed

Nothing (this was the first Python testbed).

Corrections retained in the record

  • Earlier wording: Phases 0–3 are implemented (... 18 tests ...); Rev C: a 19th test.

    Record correction: The commit's README says 19 tests after Rev C, but tests/test_core.py at that commit holds 21 test functions.

    README.md@a2cdb52:59; tests/test_core.py@a2cdb52

Numbers and source references
13×13
grid of hovering craftexperiments/run_experiments.py@a2cdb52 (LATTICE)
10 m/s
kick given to the centre craftexperiments/run_experiments.py@a2cdb52 (KICK_SPEED)
three seeds
seeds averaged for αexperiments/run_experiments.py@a2cdb52 (perturbation_alpha n_seeds=3)
0.50
α without look-ahead (0.4996)results/results.json e1_variants.no_prediction
0.73
α of the full controller (0.7256)results/results.json e1_variants.full
10 s
how far ahead the look-ahead reacts to conflictsREADME.md@a2cdb52 (Findings so far)
no separation breaches
violations 0 in all four variants (last seed)results/results.json e1_variants
Original structured record ↗