Row-and-column n-tuple network trained by temporal-coherence TD on the Rust engine, screened as the leaf of the depth-3 seven-stratum 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 (the nnue-evolution deployment configuration), with an n-tuple lookup-table leaf: the sum, over the active patterns of the reflection-canonical board, of learned f32 entries in rise units (x 17,000 points), the layout chosen by the pilot from {rows, cols, win23, win32} x {phase=none, cols, all} where rows/cols are absolute-position seven-cell line tuples (10^7 entries each), win23/win32 are absolute-position 2x3 and 3x2 window tuples (30 placements each, 10^6 entries each) and phase conditions a family on the moves remaining until the rise (x5).
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 (the nnue-evolution deployment configuration), with an n-tuple lookup-table leaf: the sum, over the active patterns of the reflection-canonical board, of learned f32 entries in rise units (x 17,000 points), the layout chosen by the pilot from {rows, cols, win23, win32} x {phase=none, cols, all} where rows/cols are absolute-position seven-cell line tuples (10^7 entries each), win23/win32 are absolute-position 2x3 and 3x2 window tuples (30 placements each, 10^6 entries each) and phase conditions a family on the moves remaining until the rise (x5). The visible next disc is not an input. Weights: fresh tables initialised to 20 rise units spread over the active entries, trained on-policy by TD(0) with temporal-coherence per-entry step sizes (alpha x |E|/A, alpha = 1.0 unless the pilot selects 0.25; error clamped to +-30 rise units) from complete games played by the greedy one-ply chance-state policy over the same tables (seven stratified reveal samples per column from the public sampler, epsilon 0) on the Rust bitboard engine, 32 asynchronous workers sharing the tables without locks (Hogwild; a lost update is tolerated and training is therefore not bit-reproducible across runs, disclosed as a limitation; the gate binary proves the serial update rule is deterministic). Stage 0 (CHECK): gate --probe-start 0xa5277000 on the already-opened Rust-engine probe block; all gates must pass before the first leased seed is read. Stage A (PILOT, training-role seeds): six configuration arms trained from scratch for 2 x 10^8 moves each on SL-20260905T191317Z-09895ea2 read in order from 0xa5300000 (every arm reads the same seed order), validated every 5 x 10^7 moves on the 64-game training-role validation block SL-20260905T191317Z-549265de (0xa52f2240) with the paired line-up ntuple-d3s7 / ntuple-1ply / fair-d3s7 on identical seeds: A rows,cols,win23,win32,phase=cols alpha 1.0; B rows,cols,win23,win32,phase=none alpha 1.0; C rows,cols,win23,win32,phase=all alpha 1.0; D rows,cols,phase=cols alpha 1.0 (lines only); E win23,win32,phase=none alpha 1.0 (windows only, the mechanism ablation); F rows,cols,win23,win32,phase=cols alpha 0.25. Selection rule, fixed here: the arm whose final validation point (2 x 10^8 moves) has the largest paired mean score margin of ntuple-d3s7 over fair-d3s7; ties by fewer table entries. Stage B (main run, training-role seeds): the selected configuration trained from fresh tables for 4 x 10^9 moves or 18,000 s of wall time, whichever comes first, on the same training lease and seed order, chunk 2 x 10^7 moves, validation every 2 x 10^8 moves on the same validation block, checkpoint at every validation point; the candidate is the tables at the validation point with the largest paired margin (best-weights.bin; ties to the later point). Stage C (freeze): SHA-256 of best-weights.bin recorded as candidate-weights.sha256 before the screen lease opens. Stage D (SCREEN, public-development, one-shot): 256 paired games on SL-20260905T191317Z-c25f58cd (0xa52f2140-0xa52f2240) with four arms on identical seeds: candidate-d3s7 (the candidate), candidate-1ply (the same tables played directly, diagnostic), fair-d3s7 (the comparator: the identical search with the frozen fair leaf) and fair-d4s7 (the program's standing reference, diagnostic). Every stage runs through approaches/ntuple-rl/ntuple-scale/scripts/pipeline.sh, which hard-codes the leased sub-blocks and records per-stage wall, CPU and peak-RSS usage. Timing measured on the 2026-09-05 smoke run: 1.4 x 10^6 training moves per second on 32 threads with the arm-A layout (4.8 x 10^8 entries, 5.76 GB trainable), so the pilot costs about 15 minutes and the main run about 50 minutes of training plus validation.
- Arms
Arm Name Entry point Manifest Candidate d3s7-ntuple-scale-leaf approaches/ntuple-rl/ntuple-scale/src/bin/train.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
- completed
- Primary metric
- paired mean whole-game score delta, candidate-d3s7 minus fair-d3s7, both at the identical d3s7 configuration, 256 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 (seeds 0-127) and second-half (128-255) paired mean deltas
- diagnostic arm on the same seeds: candidate-1ply (the tables played directly one ply, seven reveal strata)
- reference arm on the same seeds: fair-d4s7 (the program's standing reference configuration), diagnostic only
- training-curve diagnostics: per-validation-point paired margin of ntuple-d3s7 and ntuple-1ply over fair-d3s7 on the training-role validation block, training-game mean score and length, mean |TD error|, mean coherence, touched table entries
- pilot diagnostics: the six arms' validation curves, including the windows-only mechanism ablation
- 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 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-20260905T191317Z-09895ea2SL-20260905T191317Z-549265deSL-20260905T191317Z-c25f58cd
- Whole-origin split
- yes
- Reuse disclosure
- CHECK gates and the throughput smoke run 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. Training (pilot arms and main run) reads the training lease 0xa5300000-0xa54f0000 in order and wraps when the block is exhausted (wrap counts recorded per run); the validation block 0xa52f2240-0xa52f2280 (training role) is re-read at every validation point and drives configuration and checkpoint selection; the held-out screen opens 0xa52f2140-0xa52f2240 exactly once, after the candidate is frozen. Training, validation and screen ranges are disjoint by construction.
- Pass criteria
- All CHECK gates passed before the first training seed was read: codec against Horner, row gather against the cell accessor, feature indices against the independent reference for every layout, information-boundary blindness (score/level/moves_played/next_disc), reflection consistency of values and decisions, direct-policy legality, leaf-in-search determinism and worker-count independence, serial training determinism, finiteness.
- Every validation artifact and the screen artifact have illegalDecisions 0 and incompleteDecisions 0; censored games are reported as censored.
- Held-out screen, 256 paired games on 0xa52f2140-0xa52f223f, candidate-d3s7 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-127 and 128-255).
- Held-out screen: candidate-d3s7 lower-quartile score >= fair-d3s7 lower-quartile score.
- The screened candidate is the exact frozen best-weights.bin of the main run (candidate-weights.sha256 recorded before the screen lease opens); no other table is screened.
- On pass
- Freeze best-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 (tuple layout, phase conditioning, optimiser, budget, deployment depth); do not adopt the tables; the diagnostic and reference arms and the pilot curves are reported as diagnostics; open no further cohort for this candidate.
- Gate fixed before controlled data
- yes
- Resources
Wall seconds 43200 CPU threads 32 Max host bytes 34359738368 Max GPU bytes – GPU devices – - Stop conditions
- Stop on any rules, information-boundary, legality, determinism, or parity failure.
- A pilot arm stops at 2 x 10^8 moves; the main run stops at 4 x 10^9 moves or 18,000 s of training wall time, whichever comes first, or when a STOP file appears in the run directory; the candidate is then the best validation point so far.
- A validation 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.
- The theory's training-signal falsifier (no validation point with a positive paired margin) is evaluated and reported separately; the screen is opened once on the frozen candidate regardless.
- Expected artifacts
runs/<run-id>/ntuple-scale/gates.log (CHECK)runs/<run-id>/ntuple-scale/pilot/<arm>/{config.json,progress.jsonl,val-*.json,best.json,best-weights.bin,latest-weights.bin} (stage A) and pilot/selection.jsonruns/<run-id>/ntuple-scale/main/{config.json,progress.jsonl,val-*.json,best.json,best-weights.bin,latest-weights.bin,checkpoint.bin,DONE} (stage B)runs/<run-id>/ntuple-scale/main/candidate-weights.sha256 (stage C)runs/<run-id>/ntuple-scale/screen/heldout.json + compare-*.json (stage D)runs/<run-id>/ntuple-scale/{pipeline.log,rusage.jsonl,analysis.json,analysis.md}artifacts emitted by train and screen carry this experiment id in their config field; table files are too large for the repository and are retained on the workstation with their SHA-256 in the result record
- Amendments
Timestamp Before controlled data Reason 2026-09-05T21:55:18Z no lifecycle advanced running -> completed after run RUN-20260905T193006Z-4fbeb4e5 and result RS-20260905T215332Z-95d18a5a were written; protocol content otherwise unchanged (frozen hash ee8eabb0512f459bb0acbb717e335d5e6953d2ac7ec57400f2a35b9f1c76b65d retained in the run and lease records). Operational note: the pipeline's select-arm stage aborted on an empty output file between the pilot and the main run (fixed in commit bd87dba); the relaunch changed no block, gate, stage order or artifact.
Technical recordResults recorded against this protocol
Held-out screen, 256 never-read paired public-development games (0xa52f2140+): the frozen n-tuple tables as the leaf of the depth-3 seven-stratum fair search averaged 484,577 points and 140.21 moves against 314,438 points and 92.58 moves for the identical search with the frozen fair leaf: paired +170,139 points (bootstrap 95% lower bound +130,499, Student-t lower bound +130,560, upper bound +209,881, detection floor 39,440), W-T-L 167-0-89, halves +198,575 / +141,704, lower quartile 212,820 vs 175,832, moves +47.63. The preregistered gate PASSES. Against the program's standing reference, the fair leaf at depth 4 on the same seeds (377,803 points), the candidate is +106,775 paired (bootstrap LB +62,574, UB +151,706, W-T-L 160-0-96); diagnostic only. The same tables played directly one ply averaged 281,441 points, -32,997 paired against fair-d3s7 (LB -58,536); diagnostic. Fair-d4s7 minus fair-d3s7 on these seeds: +63,365 (LB +31,538). Candidate: the tables of the main run's validation point at 1,400,240,319 training moves (layout rows,cols,win23,win32,phase=all, alpha 1.0, selected from six pilot arms by the preregistered rule with a final validation margin of +123,950), whose paired margin on the 64-game training-role validation block was +270,023; SHA-256 0ade9d4e4080ebdd52a1474b1a13410dc8dfb77f5eba24b078aa7703c92ace0b. Main run: 4,000,004,271 training moves, 45,852,198 games, 20 validation points, mean 1,956,636 moves per second. Mechanism ablation (pilot, windows-only arm E): final validation margin -83,261 against the full layout's +95,051 (arm A) and +123,950 (arm C, selected). Training-signal check: at least one validation point of the main run had a positive paired margin.
- ✓All CHECK gates passed before the first training seed was read — observed: 15 gate lines, all PASS
- ✓Every validation artifact and the screen artifact have illegalDecisions 0 and incompleteDecisions 0 — observed: main validations illegal 0 / incomplete 0; screen arms candidate-d3s7: 0/0, candidate-1ply: 0/0, fair-d3s7: 0/0, fair-d4s7: 0/0
- ✓bootstrap 95% lower bound of candidate-d3s7 minus fair-d3s7 > 0 — observed: 130499.0115234375
- ✓Student-t 95% lower bound > 0 — observed: 130559.5594985295
- ✓paired mean delta > 0 in both halves — observed: [198574.609375, 141704.171875]
- ✓candidate-d3s7 Q25 >= fair-d3s7 Q25 — observed: [212819.75, 175831.5]
- ✓The screened candidate is the exact frozen best-weights.bin (SHA-256 recorded before the screen lease opened) — observed: 0ade9d4e4080ebdd52a1474b1a13410dc8dfb77f5eba24b078aa7703c92ace0b
Technical recordRecorded metrics
- games
- 256
- seedStartHex
- 0xa52f2140
- arms
- candidate-d3s7
- meanScore
- 484577.3867
- medianScore
- 407473.5000
- q25Score
- 212819.7500
- minScore
- 102,537
- maxScore
- 2,295,869
- sdScore
- 359272.8703
- meanMoves
- 140.2109
- q25Moves
- 65
- numberedClearsPerMove
- 2.1074
- coverRevealsPerMove
- 1.1899
- meanOccupiedCells
- 23.2670
- censoredGames
- 0
- illegalDecisions
- 0
- incompleteDecisions
- 0
- gamesAtOrAboveMillion
- 21
- meanWallSecondsPerGame
- 4.2907
- candidate-1ply
- meanScore
- 281440.7266
- medianScore
- 230849.5000
- q25Score
- 157750.5000
- minScore
- 85,331
- maxScore
- 815,564
- sdScore
- 164490.1308
- meanMoves
- 84.3047
- q25Moves
- 50
- numberedClearsPerMove
- 1.9217
- coverRevealsPerMove
- 1.0608
- meanOccupiedCells
- 24.2171
- censoredGames
- 0
- illegalDecisions
- 0
- incompleteDecisions
- 0
- gamesAtOrAboveMillion
- 0
- meanWallSecondsPerGame
- 0.0009
- fair-d3s7
- meanScore
- 314437.9961
- medianScore
- 250,821
- q25Score
- 175831.5000
- minScore
- 85,561
- maxScore
- 1,221,000
- sdScore
- 199663.2623
- meanMoves
- 92.5820
- q25Moves
- 55
- numberedClearsPerMove
- 1.9848
- coverRevealsPerMove
- 1.1026
- meanOccupiedCells
- 24.4343
- censoredGames
- 0
- illegalDecisions
- 0
- incompleteDecisions
- 0
- gamesAtOrAboveMillion
- 4
- meanWallSecondsPerGame
- 4.6279
- fair-d4s7
- meanScore
- 377802.6289
- medianScore
- 282076.5000
- q25Score
- 192561.5000
- minScore
- 102,904
- maxScore
- 1,794,652
- sdScore
- 276607.9151
- meanMoves
- 109.3359
- q25Moves
- 60
- numberedClearsPerMove
- 2.0492
- coverRevealsPerMove
- 1.1499
- meanOccupiedCells
- 23.7628
- censoredGames
- 0
- illegalDecisions
- 0
- incompleteDecisions
- 0
- gamesAtOrAboveMillion
- 9
- meanWallSecondsPerGame
- 182.2242
- contrasts
- candidate-d3s7-vs-fair-d3s7
- score
- n
- 256
- meanDelta
- 170139.3906
- pairedSd
- 383606.5536
- bootstrapLower95
- 130499.0115
- bootstrapUpper95
- 209881.3934
- studentTLower95
- 130559.5595
- detectionFloor
- 39439.5488
- wins
- 167
- ties
- 0
- losses
- 89
- firstHalfMeanDelta
- 198574.6094
- secondHalfMeanDelta
- 141704.1719
- q25Delta
- 36988.2500
- candidateQ25
- 212819.7500
- referenceQ25
- 175831.5000
- moves
- n
- 256
- meanDelta
- 47.6289
- pairedSd
- 106.0384
- bootstrapLower95
- 36.6639
- bootstrapUpper95
- 58.6172
- studentTLower95
- 36.6881
- detectionFloor
- 10.9021
- wins
- 164
- ties
- 9
- losses
- 83
- firstHalfMeanDelta
- 55.2969
- secondHalfMeanDelta
- 39.9609
- q25Delta
- 10
- candidateQ25
- 65
- referenceQ25
- 55
- candidate-1ply-vs-fair-d3s7
- score
- n
- 256
- meanDelta
- -32997.2695
- pairedSd
- 246695.1922
- bootstrapLower95
- -58536.1652
- bootstrapUpper95
- -7597.0516
- studentTLower95
- -58450.8338
- detectionFloor
- 25363.3494
- wins
- 114
- ties
- 0
- losses
- 142
- firstHalfMeanDelta
- -11748.5156
- secondHalfMeanDelta
- -54246.0234
- q25Delta
- -18,081
- candidateQ25
- 157750.5000
- referenceQ25
- 175831.5000
- moves
- n
- 256
- meanDelta
- -8.2773
- pairedSd
- 67.8083
- bootstrapLower95
- -15.2854
- bootstrapUpper95
- -1.2967
- studentTLower95
- -15.2737
- detectionFloor
- 6.9715
- wins
- 112
- ties
- 12
- losses
- 132
- firstHalfMeanDelta
- -2.3516
- secondHalfMeanDelta
- -14.2031
- q25Delta
- -5
- candidateQ25
- 50
- referenceQ25
- 55
- candidate-d3s7-vs-fair-d4s7
- score
- n
- 256
- meanDelta
- 106774.7578
- pairedSd
- 435009.0495
- bootstrapLower95
- 62574.2055
- bootstrapUpper95
- 151705.7729
- studentTLower95
- 61891.3100
- detectionFloor
- 44724.3679
- wins
- 160
- ties
- 0
- losses
- 96
- firstHalfMeanDelta
- 109211.3125
- secondHalfMeanDelta
- 104338.2031
- q25Delta
- 20258.2500
- candidateQ25
- 212819.7500
- referenceQ25
- 192561.5000
- moves
- n
- 256
- meanDelta
- 30.8750
- pairedSd
- 119.7043
- bootstrapLower95
- 18.6875
- bootstrapUpper95
- 43.2150
- studentTLower95
- 18.5241
- detectionFloor
- 12.3071
- wins
- 157
- ties
- 7
- losses
- 92
- firstHalfMeanDelta
- 31.5938
- secondHalfMeanDelta
- 30.1563
- q25Delta
- 5
- candidateQ25
- 65
- referenceQ25
- 60
- fair-d4s7-vs-fair-d3s7
- score
- n
- 256
- meanDelta
- 63364.6328
- pairedSd
- 311371.6478
- bootstrapLower95
- 31538.2639
- bootstrapUpper95
- 95448.5086
- studentTLower95
- 31237.8688
- detectionFloor
- 32012.8975
- wins
- 138
- ties
- 0
- losses
- 118
- firstHalfMeanDelta
- 89363.2969
- secondHalfMeanDelta
- 37365.9688
- q25Delta
- 16,730
- candidateQ25
- 192561.5000
- referenceQ25
- 175831.5000
- moves
- n
- 256
- meanDelta
- 16.7539
- pairedSd
- 84.5155
- bootstrapLower95
- 8.1170
- bootstrapUpper95
- 25.4572
- studentTLower95
- 8.0338
- detectionFloor
- 8.6892
- wins
- 132
- ties
- 11
- losses
- 113
- firstHalfMeanDelta
- 23.7031
- secondHalfMeanDelta
- 9.8047
- q25Delta
- 5
- candidateQ25
- 60
- referenceQ25
- 55
- candidate-d3s7-vs-candidate-1ply
- score
- n
- 256
- meanDelta
- 203136.6602
- pairedSd
- 359655.2798
- bootstrapLower95
- 167198.7932
- bootstrapUpper95
- 240597.7713
- studentTLower95
- 166028.0782
- detectionFloor
- 36977.0585
- wins
- 185
- ties
- 0
- losses
- 71
- firstHalfMeanDelta
- 210323.1250
- secondHalfMeanDelta
- 195950.1953
- q25Delta
- 55069.2500
- candidateQ25
- 212819.7500
- referenceQ25
- 157750.5000
- moves
- n
- 256
- meanDelta
- 55.9063
- pairedSd
- 99.8785
- bootstrapLower95
- 45.9451
- bootstrapUpper95
- 66.3281
- studentTLower95
- 45.6010
- detectionFloor
- 10.2688
- wins
- 179
- ties
- 8
- losses
- 69
- firstHalfMeanDelta
- 57.6484
- secondHalfMeanDelta
- 54.1641
- q25Delta
- 15
- candidateQ25
- 65
- referenceQ25
- 50
- layout
- rows,cols,win23,win32,phase=all
- alpha
- 1
- entries
- 1,000,000,000
- movesTotal
- 4,000,004,271
- gamesTotal
- 45,852,198
- wallSeconds
- 2468.6000
- meanMovesPerSecond
- 1956636.3300
- best
- moves
- 1,400,240,319
- artifact
- val-001400240319.json
- pairedDeltaD3
- 270022.7813
- ntupleD3Mean
- 607633.3750
- fairD3Mean
- 337610.5938
- validations
- movesTrained
- 200,027,819
- ntupleD3Mean
- 453535.5625
- directMean
- 248686.2188
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 115924.9688
- bootstrapLower95
- 46102.8594
- wins
- 41
- losses
- 23
- movesTrained
- 400,060,957
- ntupleD3Mean
- 473806.8906
- directMean
- 281009.3750
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 136196.2969
- bootstrapLower95
- 60912.2789
- wins
- 39
- losses
- 25
- movesTrained
- 600,095,322
- ntupleD3Mean
- 481647.8594
- directMean
- 281904.2500
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 144037.2656
- bootstrapLower95
- 70139.7203
- wins
- 40
- losses
- 24
- movesTrained
- 800,131,078
- ntupleD3Mean
- 491212.7813
- directMean
- 255970.2188
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 153602.1875
- bootstrapLower95
- 69106.0609
- wins
- 39
- losses
- 25
- movesTrained
- 1,000,167,066
- ntupleD3Mean
- 604501.7031
- directMean
- 302303.4375
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 266891.1094
- bootstrapLower95
- 158786.7648
- wins
- 44
- losses
- 20
- movesTrained
- 1,200,203,606
- ntupleD3Mean
- 474549.7031
- directMean
- 265703.8906
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 136939.1094
- bootstrapLower95
- 61272.7938
- wins
- 41
- losses
- 23
- movesTrained
- 1,400,240,319
- ntupleD3Mean
- 607633.3750
- directMean
- 323224.9219
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 270022.7813
- bootstrapLower95
- 165079.2219
- wins
- 47
- losses
- 17
- movesTrained
- 1,600,277,123
- ntupleD3Mean
- 509887.6719
- directMean
- 276702.4375
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 172277.0781
- bootstrapLower95
- 84741.3750
- wins
- 43
- losses
- 21
- movesTrained
- 1,800,315,771
- ntupleD3Mean
- 531421.6250
- directMean
- 319334.0156
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 193811.0313
- bootstrapLower95
- 107981.8070
- wins
- 41
- losses
- 23
- movesTrained
- 2,000,352,773
- ntupleD3Mean
- 593476.5781
- directMean
- 318354.1406
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 255865.9844
- bootstrapLower95
- 160477.3344
- wins
- 39
- losses
- 25
- movesTrained
- 2,200,391,703
- ntupleD3Mean
- 453484.7813
- directMean
- 327689.7344
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 115874.1875
- bootstrapLower95
- 38562.4789
- wins
- 41
- losses
- 23
- movesTrained
- 2,400,429,413
- ntupleD3Mean
- 552723.8125
- directMean
- 304749.6250
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 215113.2188
- bootstrapLower95
- 116273.5383
- wins
- 43
- losses
- 21
- movesTrained
- 2,600,469,503
- ntupleD3Mean
- 482608.7500
- directMean
- 285457.5313
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 144998.1563
- bootstrapLower95
- 70309.5562
- wins
- 44
- losses
- 20
- movesTrained
- 2,800,506,807
- ntupleD3Mean
- 496445.7344
- directMean
- 302053.8594
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 158835.1406
- bootstrapLower95
- 67962.9695
- wins
- 37
- losses
- 27
- movesTrained
- 3,000,545,916
- ntupleD3Mean
- 517928.1250
- directMean
- 295604.6563
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 180317.5313
- bootstrapLower95
- 102679.1250
- wins
- 43
- losses
- 21
- movesTrained
- 3,200,585,530
- ntupleD3Mean
- 547107.2344
- directMean
- 298385.6094
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 209496.6406
- bootstrapLower95
- 133542.7383
- wins
- 44
- losses
- 20
- movesTrained
- 3,400,627,531
- ntupleD3Mean
- 506536.4219
- directMean
- 317633.5781
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 168925.8281
- bootstrapLower95
- 75604.8477
- wins
- 41
- losses
- 23
- movesTrained
- 3,600,668,274
- ntupleD3Mean
- 470056.4063
- directMean
- 303216.0313
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 132445.8125
- bootstrapLower95
- 58261.5695
- wins
- 41
- losses
- 23
- movesTrained
- 3,800,707,333
- ntupleD3Mean
- 507070.8906
- directMean
- 296535.6563
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 169460.2969
- bootstrapLower95
- 90402.4133
- wins
- 45
- losses
- 19
- movesTrained
- 4,000,004,271
- ntupleD3Mean
- 530088.1406
- directMean
- 320977.1563
- fairD3Mean
- 337610.5938
- pairedDeltaD3
- 192477.5469
- bootstrapLower95
- 113016.1180
- wins
- 43
- losses
- 21
- anyPositiveMargin
- true
- A
- layout
- rows,cols,win23,win32,phase=cols
- alpha
- 1
- entries
- 480,000,000
- movesTotal
- 200,003,947
- finalMargin
- 95050.8281
- bestMargin
- 170874.3750
- B
- layout
- rows,cols,win23,win32,phase=none
- alpha
- 1
- entries
- 200,000,000
- movesTotal
- 200,002,183
- finalMargin
- -70586.8906
- bestMargin
- -35090.6563
- C
- layout
- rows,cols,win23,win32,phase=all
- alpha
- 1
- entries
- 1,000,000,000
- movesTotal
- 200,002,957
- finalMargin
- 123949.5156
- bestMargin
- 123949.5156
- D
- layout
- rows,cols,phase=cols
- alpha
- 1
- entries
- 420,000,000
- movesTotal
- 200,002,392
- finalMargin
- 26950.8438
- bestMargin
- 94015.3750
- E
- layout
- win23,win32,phase=none
- alpha
- 1
- entries
- 60,000,000
- movesTotal
- 200,001,766
- finalMargin
- -83261.4531
- bestMargin
- -80696.1250
- F
- layout
- rows,cols,win23,win32,phase=cols
- alpha
- 0.2500
- entries
- 480,000,000
- movesTotal
- 200,003,528
- finalMargin
- 73116.2031
- bestMargin
- 112885.6719
- arm
- C
- layout
- rows,cols,win23,win32,phase=all
- alpha
- 1
- finalMargin
- 123949.5156
- ranking
- arm
- C
- finalMargin
- 123949.5156
- entries
- 1,000,000,000
- arm
- A
- finalMargin
- 95050.8281
- entries
- 480,000,000
- arm
- F
- finalMargin
- 73116.2031
- entries
- 480,000,000
- arm
- D
- finalMargin
- 26950.8438
- entries
- 420,000,000
- arm
- B
- finalMargin
- -70586.8906
- entries
- 200,000,000
- arm
- E
- finalMargin
- -83261.4531
- entries
- 60,000,000
- rule
- the arm whose final validation point has the largest paired mean margin of ntuple-d3s7 over fair-d3s7; ties by fewer table entries
- Public-development SCREEN tier, 256 paired games opened once; nothing here is a qualification claim, and protected and final cohorts stay sealed.
- The candidate is the validation point with the largest paired margin on a 64-game training-role block that was read at every validation point and also chose the configuration; that selection is upward-biased, which is why the held-out screen exists.
- Training used lock-free asynchronous updates from 32 threads, so the training run is not bit-reproducible; the frozen tables are hashed and every gameplay arm is deterministic and worker-count independent.
- The fair-d4s7 arm is the program's standing reference for context only; the preregistered comparator is the identical depth-3 search with the frozen fair leaf.
- Table files (1.9 GB weights, 5.8 GB with accumulators for the pilot layouts; 4.0 GB and 12 GB for the selected phase=all layout) are retained on the workstation with their SHA-256 and are not committed.
- Wall times were measured on a shared workstation with the web console building concurrently for part of the run; ratios between arms on the same seeds are the trustworthy quantity.
Agent contextHow to extend this record
To add a reader-facing explanation, write web/content/research/EX-20260905-ntuple-scale-tc-td-leaf-d3-535b2620.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-20260905-ntuple-scale-tc-td-leaf-d3-535b2620.json, validated against research/schemas/experiment-v1.schema.json. Protocol hash: 4a867db795eec7e5e0858e58d6f59b14a13ed8ec03629cd155ce37a4b174b718.
Registered by Claude Code / claude-fable-5-1 (claude-code-ntuple-scale-experiment).