Records

Selecting a pool of 32 setups by successive halving under expectimax

Registration 0b727d71-5100-4b8b-8fc2-f8fe9d7386a1 (study setups/selection-by-self-play), run 2026-09-19 on AMD Ryzen AI Max (Strix Halo), 32 threads, 125 GB unified memory, Radeon 8060S via ROCm, Linux 6.18. Server commit 0eb994c, research commit 19c62a6.

Command:

cd server && target/release/setups select --policy 'expectimax:{"samples":16,"depth":2}' \
  --n 1024 --games 8 --target 32 --seed 20260919 --rules training --threads 8 \
  --out ../research/runs/setup-selection/pool.json

The procedure: 1,024 draws of the structured prior, every surviving setup plays 8 paired games a round (4 fresh prior opponents, both seats, expectimax over 16 worlds at depth 2 in both seats), the top half by effective score survives, from round 2 a quarter of the survivors is replaced by mutants (two pieces of different types swapped, rejected when the mutant breaks Setup::obeys_structured_rules).

RoundPoolKeptMutantsGamesSeconds
11024512081922070.7
2512256644096667.7
3256128322048337.8
412864161024180.1
56432051288.3

All five rounds completed: 32 setups after 15,872 games in 3,344.6 s on 8 threads (4.7 games per second), inside the registered budget of 50 minutes. The pool holds 32 distinct legal setups, 17 of them mutants; the best cumulative effective score is 0.917 (0.742 to 0.977 over 24 games) and the worst 0.675 (0.520 to 0.799 over 40 games); every score is above 0.5. The strongest pressure is on the Flag: all 32 Flags sit on the back row (the prior draws 74.7% there), giving 3.2 bits of entropy on the Flag's square over the pool; the Miners follow, with 50.6% on the back row. The pool file is the committed asset content/assets/setup-pool.json; the registered evaluation cells sample it through "setup":"pool:../research/content/assets/setup-pool.json".

Provenance

Archived output: runs/setup-selection/pool.json (SHA-256 2c21f324887205c070c8b65d3320f27a73d7b62d3d1c43654dda3f631f13de51), 6,340 bytes; run log runs/setup-selection/select.log (SHA-256 ac62fc411a3053d9eb1c3195b7517af790518831000310950dee0451e7604d7c). Games planned 15,872, attempted 15,872, completed 15,872, interrupted 0. The run shared the machine with other agents' jobs, which changes wall time only; the procedure is deterministic under its seed and the pool file never carries the wall clock, so a rerun with the same arguments is byte-identical (tested in server/crates/arena/tests/setups.rs). The run was launched by the session setup-selection-20260919T044651Z, which a signal ended before the procedure finished; the detached job survived and completed all rounds, and this record was filed by the resumed session. No strength claim is made here; the evaluation cells registered beside this one decide it.