On this page
Dates
Created
Updated
Record idEX-20260825-nnue-evolution-d3-bca7f330

No explanation has been written for this record yet.

Technical recordThe registered protocolEX-20260825-nnue-evolution-d3-bca7f330
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
ArmNameEntry pointManifest
Candidated3s7-evolved-nnue-leafapproaches/lifetime-objective/nnue-evolution/src/bin/evolve.rs
Comparatorfair-d3s7approaches/fair-expectimax/rust-engine/src/leaf.rsresearch/benchmarks/baselines-v1.json
Classification
algorithmic
Information boundary
public-policy
Benchmark tier
SCREEN
Lifecycle
superseded
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-a52e0300
  • SL-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
  1. 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.
  2. Every generation artifact and the screen artifact have illegalDecisions 0, incompleteDecisions 0, and censored games reported as censored.
  3. 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.
  4. Held-out screen: paired mean score delta > 0 in both halves (seeds 0-31 and 32-63).
  5. Held-out screen: candidate lower-quartile score >= fair-d3s7 lower-quartile score.
  6. 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 seconds86400
CPU threads16
Max host bytes17179869184
Max GPU bytes
GPU devices
Stop conditions
  1. Stop on any rules, information-boundary, legality, determinism, or parity failure.
  2. 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).
  3. 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.
  4. A generation or screen artifact with any illegal or incomplete decision voids the run (invalid), not the candidate.
  5. 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
TimestampBefore controlled dataReason
2026-09-02T06:58:27ZnoSuperseded 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).