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
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