← Tactical Air

Adaptation benchmark — v1

Protocol: adaptation-v1.protocol.json. Raw results · Summary.

Primary disposition: supported-in-this-fixture. Continued learning minus the identical trained policy held frozen, after switching from clockwise to counterclockwise movement: 18.70 [16.31, 21.09] HP (paired seed-bootstrap 95% interval; post-switch rounds 17–24).

The predeclared criterion requires a mean gain of at least 6 HP and a lower interval bound above zero. It measures enemy effectiveness in this fixture, not player enjoyment.

Executed 8568 actual encounters, including 24 fixed-profile selection encounters. 32 independent policy seeds; one map and deterministic player controllers. Training lasts 24 rounds; each independent switch branch lasts 24. Fixed traces are executed once per controller and reused, not counted as independent seed replicates.

Selected fixed profile: rush/flank_right/lead. It stays unchanged across all comparisons. The selection suite is orbit, reverse and cover; all eight candidates and their outcomes are retained. This is a strong enumerated static baseline, not the best possible authored AI.

Fixed-profile selection

ProfileClockwiseCounterclockwiseCoverMean damage
rush/flank_right/lead72.0084.0072.0076.00
rush/flank_left/lead84.0060.0072.0072.00
hold/flank_left/lead84.0024.0072.0060.00
hold/flank_right/lead60.0048.0072.0060.00
rush/flank_left/aim36.0048.0072.0052.00
rush/flank_right/aim12.0072.0072.0052.00
hold/flank_left/aim24.0012.0072.0036.00
hold/flank_right/aim0.0036.0072.0036.00

After the player changes movement

Higher damage means stronger enemies. Differences below use per-seed late-window means; individual rounds are not independent statistical replicates. Reverse is the primary comparison. Feint and cover are secondary, with unadjusted exploratory intervals.

SwitchOnlineFrozen trainedSelected fixedRandomOnline − frozen, 95% intervalOnline − fixed, 95% interval
reverse71.8653.1684.0049.9718.70 [16.31, 21.09]-12.14 [-14.53, -10.03]
feint37.2742.0036.0034.08-4.73 [-5.58, -3.89]1.27 [0.19, 2.39]
cover72.0072.0072.0072.000.00 [0.00, 0.00]0.00 [0.00, 0.00]

Adaptation curve: reverse

Post-switch roundsOnlineFrozen trainedSelected fixedRandom
1–456.0653.2584.0048.56
5–862.0650.5384.0047.63
9–1269.0955.2284.0050.16
13–1667.9753.5384.0050.06
17–2072.2852.9784.0050.44
21–2471.4453.3484.0049.50

Immediate damage change versus late training: -20.02 HP. Mean per-role probability total variation after 24 rounds: 28.42%. Probability movement is a behavioral measurement, not evidence of improved effectiveness by itself.

Adaptation curve: feint

Post-switch roundsOnlineFrozen trainedSelected fixedRandom
1–441.0641.4436.0032.25
5–839.0940.5936.0033.09
9–1237.5041.7236.0032.34
13–1637.5041.1636.0033.00
17–2036.5642.4736.0033.56
21–2437.9741.5336.0034.59

Immediate damage change versus late training: -35.02 HP. Mean per-role probability total variation after 24 rounds: 18.74%. Probability movement is a behavioral measurement, not evidence of improved effectiveness by itself.

Adaptation curve: cover

Post-switch roundsOnlineFrozen trainedSelected fixedRandom
1–472.0072.0072.0072.00
5–872.0072.0072.0072.00
9–1272.0072.0072.0072.00
13–1672.0072.0072.0072.00
17–2072.0072.0072.0072.00
21–2472.0072.0072.0072.00

Immediate damage change versus late training: -4.08 HP. Mean per-role probability total variation after 24 rounds: 20.63%. Probability movement is a behavioral measurement, not evidence of improved effectiveness by itself.

Reproduce and interpret

npm ci
npm run build:wasm
npm run evaluate:adaptation -- --out docs/experiments/adaptation-v1-replication

The runner refuses to overwrite evidence. Compare raw traces and summaries while ignoring the generation timestamp. It records protocol, simulator, compiled simulator, Wasm, Rust core, harness, evaluation logic and dependency-lock hashes. Every frozen round is checked for exact score/sample/probability preservation; trained branches are checked for identical starting checkpoints and first combat outcomes.

The strongest causal comparison here is online versus trained-frozen, branched from the same checkpoint and random state. Uniform and fixed policies answer separate baseline questions. All branches use direct observation; the result does not measure scout delivery, human counterplay, new maps, or other games.

The 95% intervals cover only tactic-sampling variation for these controllers. The fixed world has no independently randomized spawns or map variation. The baseline was selected before this run, but the fixtures were already known; this is a locally specified engineering experiment, not a public preregistered study. A loss to the fixed policy or an unmet primary criterion remains part of the result.