Depth-5-distilled NNUE leaf refined by paired-fitness whole-game evolution inside the depth-3 fair search
Candidate: the stock fair expectimax search at depth 3, seven chance strata, terminal utility -1,000,000, policy seed 0xd7075eed, completion-guaranteeing work bound work_bound_for(3,7)+1, 64k-entry direct-mapped table, with an NNUE leaf (8,902-feature sparse class, 135 active, EmbeddingBag(8902,64)->ReLU->32->ReLU->1, output x 17,000 points).
On this page
- Created
- Updated
No explanation has been written for this record yet.
Technical recordThe registered protocol
- Hypothesis
- Candidate: the stock fair expectimax search at depth 3, seven chance strata, terminal utility -1,000,000, policy seed 0xd7075eed, completion-guaranteeing work bound work_bound_for(3,7)+1, 64k-entry direct-mapped table, with an NNUE leaf (8,902-feature sparse class, 135 active, EmbeddingBag(8902,64)->ReLU->32->ReLU->1, output x 17,000 points). Weights: initialised by supervised distillation of a depth-5 seven-stratum fair teacher's sibling-complete root values (512 training games, whole-origin split, Adam on Huber loss, best epoch by validation Huber), then refined by a mutation-only GA: population 32, 60 generations, fitness = mean score of 32 complete paired games per candidate on a fresh training block per generation, 4 elites cloned, tournament size 3, per-tensor Gaussian mutation sigma = 0.05 x tensor std (floor 1e-4), initial cloud 2 sigma, evolution seed 0x0e701e58, controls fair-d3s7 and init-d3s7 playing every block. Final candidate: top 8 of the last generation re-evaluated on a fresh 128-game block, best mean frozen. The frozen candidate is then screened once on 64 never-read paired development games against the identical search with the frozen fair leaf.
- Arms
Arm Name Entry point Manifest Candidate d3s7-evolved-nnue-leaf approaches/lifetime-objective/nnue-evolution/src/bin/evolve.rs– Comparator fair-d3s7 approaches/fair-expectimax/rust-engine/src/leaf.rsresearch/benchmarks/baselines-v1.json- Classification
- algorithmic
- Information boundary
- public-policy
- Benchmark tier
- SCREEN
- Lifecycle
- superseded
- Theories tested
- Primary metric
- paired mean whole-game score delta, evolved candidate minus frozen fair leaf, both at the identical d3s7 configuration, 64 held-out games
- Secondary metrics
- paired mean moves delta; numbered clears per move and cover reveals per move; mean occupied cells
- lower quartile, median, maximum score; W-T-L; first-half and second-half paired mean deltas
- ablation arm on the same seeds: the supervised-init (unevolved) NNUE at d3s7, isolating the evolutionary stage's contribution
- reference arm on the same seeds: the fair leaf at d4s7 (the program's standing reference configuration), diagnostic only
- training-curve diagnostics: per-generation best and mean fitness against the paired fair-d3s7 control on the same blocks
- supervised-init diagnostics: whole-origin validation Huber/Pearson and the deployment-faithful ordering probe (d3s7+NNUE top-1 agreement with the teacher's chosen column, teacher-value regret) on held-out corpus roots
- Statistical unit
- whole-game
- Uncertainty method
- one-sided 95% percentile bootstrap over whole games, 20,000 resamples, RNG seed 0xb0071eaf (the unchanged compare.py of the prior leaf-evolution screen), plus a one-sided 95% Student-t lower bound; detection floor 1.645*sd/sqrt(n) reported
- Data role
- public-development
- Seed leases
SL-20260825T063000Z-a52e0300SL-20260825T063000Z-a52e1300
- Whole-origin split
- yes
- Reuse disclosure
- CHECK gates and the T0 timing pilot read only the already-opened development probe block 0xa5276000-0xa5277fff (the Rust engine's gate/benchmark range); no new seed is opened for mechanics or timing. The teacher corpus, every evolution fitness block, and the elite re-selection open training-lease seeds 0xa52e0300-0xa52e0d00; the held-out screen opens 0xa52e1300-0xa52e133f exactly once, after the candidate is frozen. Training and screen ranges are disjoint by construction.
- Pass criteria
- All CHECK gates passed before the first training seed was read: feature determinism and bounds, information-boundary blindness (score/level/moves_played), reflection consistency on asymmetric boards (finding-13 exclusion), fresh-searcher and 1-vs-4-worker determinism, legality and completed depth under random/zero/saturated weights, leaf finiteness fuzz, serialisation round-trip.
- Every generation artifact and the screen artifact have illegalDecisions 0, incompleteDecisions 0, and censored games reported as censored.
- Held-out screen, 64 paired games on 0xa52e1300-0xa52e133f, candidate vs fair-d3s7: bootstrap 95% lower bound of the paired score delta > 0 AND Student-t 95% lower bound > 0.
- Held-out screen: paired mean score delta > 0 in both halves (seeds 0-31 and 32-63).
- Held-out screen: candidate lower-quartile score >= fair-d3s7 lower-quartile score.
- The screened candidate is the exact frozen winner of the elite re-selection (candidate-weights.bin, SHA-256 recorded before the screen lease opens); no other vector is screened.
- On pass
- Freeze candidate-weights.bin with its SHA-256; register a fresh-block replication by a different runner and a fresh-development STANDARD evaluation as successors; do not open protected or final seeds.
- On fail
- Record a valid run with scientific outcome fail for this exact configuration (model class, teacher depth, optimiser, budget, deployment depth); do not adopt the vector; the ablation and reference arms are reported as diagnostics; open no further cohort for this candidate.
- Gate fixed before controlled data
- yes
- Resources
Wall seconds 86400 CPU threads 16 Max host bytes 17179869184 Max GPU bytes – GPU devices – - Stop conditions
- Stop on any rules, information-boundary, legality, determinism, or parity failure.
- The teacher corpus is checkpointed per game and stops at 512 games or the wall budget; whatever whole games completed are the corpus (the count is recorded; the supervised stage does not depend on it being exactly 512).
- Evolution stops at 60 generations, at the wall budget, or when a STOP file appears in the run directory; the candidate is then the elite re-selection over the last completed generation's population.
- A generation or screen artifact with any illegal or incomplete decision voids the run (invalid), not the candidate.
- The screen is evaluated exactly once; no re-run on the same or a different held-out block without a new experiment record.
- Expected artifacts
runs/<run-id>/nnue-evolution/gates.log (CHECK)runs/<run-id>/nnue-evolution/corpus.jsonl + corpus-summary.json (stage A)runs/<run-id>/nnue-evolution/pretrain/{epoch-*.bin,init.bin,report.json,probe.json} (stage B)runs/<run-id>/nnue-evolution/evolve/{config.json,progress.jsonl,gen-*.json,population-*.bin,final-fitness.json,candidate-weights.bin,selection.json} (stage C)runs/<run-id>/nnue-evolution/screen/heldout.json + compare-*.json (stage D)
- Amendments
Timestamp Before controlled data Reason 2026-09-02T06:58:27Z no Superseded by EX-20260902-nnue-evolution-d3-v2-49c18bc2, whose scientific protocol is this record's verbatim plus the operational parameters this record left open (teacher move cap 500, stage wall sub-budgets, 16 pretrain epochs, 256 probe roots, 32 threads, screen opened once regardless of the training-signal falsifier). Those parameters were first written into this record on 2026-09-02 at 04:02Z and 04:23Z as in-place amendments with the hash recomputed, before the training lease opened at 04:24Z; review of PR #17 noted that the repository rule forbids editing a frozen record, so this record has been restored to its exact frozen content and the successor created. The historical protocolSha256 a16c552439bf94f315ed92bf7ecdcdb16e55618def591660fa9b42eb55a15792 is retained verbatim and is not recomputed over this supersession note. Run RUN-20260902T035644Z-c1fd8987 and the training lease, opened under the in-place-amended content (hash 71109965ab5562df6107baac6c3817afed7042aa3b14e4b380239b2a12d5cb34, visible in this branch's history at commit abfdec6), now reference the successor's preregistration hash 971a39ef6bb5275a951342245a119cb3d234bed334aa28e2ecfe44eeeeea4dae.
Agent contextHow to extend this record
To add a reader-facing explanation, write web/content/research/EX-20260825-nnue-evolution-d3-bca7f330.mdx; it renders above this record on the next request. The registered protocol itself is in the technical record above.
Record file: research/experiments/EX-20260825-nnue-evolution-d3-bca7f330.json, validated against research/schemas/experiment-v1.schema.json. Protocol hash: a16c552439bf94f315ed92bf7ecdcdb16e55618def591660fa9b42eb55a15792.
Registered by OpenCode / moonshotai/Kimi-K3 (opencode-evolutionary-approach).