Drop7 Research
← Docs
docs/strategies.md

Drop7 strategy catalog

This guide explains the strategy ideas in this repository, the evidence for each one, and the most useful open directions. It begins with the game itself, then introduces research terms as they become useful.

The problem

In Drop7, you choose one of seven columns for the next numbered disc. A 3, for example, breaks when it sits in an unbroken horizontal or vertical group of exactly three occupied cells. One break can make other discs fall and break, creating a chain. Breaks beside covered discs also crack or reveal them.

In the fast five-drop mode studied here, a new covered row rises after every five drops. This creates three competing jobs:

  1. Stay alive. Keep stacks away from the top before the next row rises.
  2. Open the board. Break and reveal covered discs, especially dangerous ones that are already high.
  3. Prepare useful chains. Leave numbered discs in arrangements that can clear several waves later instead of making only the easiest break now.

A move can help one job and hurt another. Clearing one disc immediately may destroy a future chain. Building a chain may leave the board too tall to survive the next rise. Random future discs and random covered-disc reveals make the tradeoff harder.

The easiest way to understand the computer strategies is to imagine three kinds of player:

  • A rule-following player gives points to board features such as low height, open edges, revealed covers, and chain readiness.
  • A look-ahead player tries each legal column in a simulator, imagines several possible random outcomes, and chooses the move with the best future.
  • A learning player plays or observes many games and learns which board patterns tend to lead to long survival or high scores.

The strongest established baseline in this repository combines the first two. It looks four decision steps ahead and uses a carefully designed board evaluation at the end of each simulated branch. It is called fair D4. “Fair” means that it uses only information a real player could know; it does not peek at the hidden random seed or future disc sequence.

Fair D4 is a baseline, not a solution to Drop7. On the corrected Hardcore scoring replay, its eight-game confirmation mean was about 401,000 points. It did not establish a million-point policy, and no search performed here proves that its moves are optimal.

What counts as evidence

Rules and mode

The research target is the numbered-disc-only, five-drops-per-rise mode called Hardcore in the original app and Blitz in some later descriptions. It awards 17,000 points at a level rise. Normal and Sequence modes begin with much longer levels and use a 7,000-point level award. Their score distributions and strategic constraints are different.

Some early experiments accidentally used the 7,000-point Sequence-style level award. Those runs can still show that one policy beat another on the same games, or that an idea was too slow, but their absolute scores are not evidence for the Hardcore target. See the mode correction and full experiment record.

Information boundary

A deployable policy may use the visible board, the next visible numbered disc, and the number of drops until the next row rise. It may not use the game seed, hidden covered numbers, future discs, future reveals, score history, or an offline scenario identity. Oracle experiments that use hidden futures are diagnostics, not playable strategies.

Status words used here

  • Baseline means the implementation is verified and has survived the repository's comparison gates well enough to serve as a reference.
  • Rejected means the tested version failed its frozen gate. It does not prove that every possible version of the broad idea is bad.
  • Signal only means a diagnostic or small pilot was interesting but did not provide enough independent evidence or meet the runtime requirement.
  • Proposed means there is not yet an implementation and result.

Small samples are especially dangerous in Drop7. A policy can win because one random game becomes unusually long. The strongest claims therefore require paired games, disjoint fitting and evaluation seeds, frozen thresholds, whole- game uncertainty estimates, censoring counts, and no tuning after a protected cohort is opened. The experiment record describes the repository's seed discipline.

Current reference: fair D4

The reference implementation is fair-only-depth4.cpp. It considers every legal root move, completes four decision plies, and uses five deterministic, stratified samples at chance nodes. Its leaf evaluation rewards build readiness and latent chain potential while penalizing height, covered-disc altitude, low-number clogs, danger near a rise, and other public risks. The search has fixed work and cache bounds and completes the promised depth instead of silently returning a partial iteration.

The most useful result is the corrected-score replay on an already-consumed eight-game confirmation cohort:

PolicyMean scoreMean movesPaired wins
Fair D3235,07171.0001 of 8
Fair D4400,675116.3757 of 8

D4 changed about 34% of the decisions that D3 would have made. It used about 1.35 million logical work units per move and ran at roughly 0.74 moves per aggregate game-second in that replay. These data establish a strong local baseline and show that the fourth ply matters with this leaf. They do not establish optimality, a stable population mean, or a million-point result. The protected validation and final seed banks were not opened. Full context is in the D4 experiment and corrected Hardcore replay.

Strategy families already studied

Hand-built heuristics and shallow search

Idea. Describe a good board with understandable features, then choose the move that produces the best immediate or short-horizon evaluation.

The repository includes phase-aware scoring, tunneling, gray-disc throughput, virtual ignition, risk-sensitive planning, recursive potential, edge priority, cycle abstraction, rollouts, sparse expectimax, and evolved feature weights. The TypeScript implementations are organized under approaches/heuristic-search, with reusable evaluators in src/core/typescript.

Evidence. These policies helped identify useful concepts — height danger, reveal flow, build readiness, rise timing — but as complete policies they were brittle, and no tested hand-built policy displaced fair D4. Per-experiment outcomes are in the experiment index and the evidence map below.

Conclusion. Keep interpretable features as diagnostics and leaf inputs. Do not treat a higher fitting score from another weight sweep as a new result without a fresh, paired gate.

Fair expectimax and deeper tactical search

Idea. Explicitly branch over legal moves and representative chance outcomes. This is the most direct way to value a move without knowing the real future.

Code for the reference searches and their extensions is under approaches/fair-expectimax. The major variants tested different leaf terms, transition rewards, seven rather than five chance strata, root downside/CVaR, CEM-tuned weights, selective extra depth, vertical-ladder energy, and full-width D5.

Evidence. Completed fair D4 was the clear positive result; most additions made the policy worse on held-out or gameplay gates, and “deeper” was not assumed to mean “better.” The 2026-08-21 depth-by-chance-resolution factorial below is the measured form of that lesson; per-variant rows are in the experiment index.

Mean score by search depth and chance resolution (shared cohort) Mean score by search depth and chance resolution (shared cohort). Cohort 0xa51d1000-0xa51d103f, corrected 17,000-point Hardcore scoring, 64 games per cell except the depth-5 seven-stratum arm, which was stopped by decision after the first 32 seeds (0xa51d1000-0xa51d101f) and is final. The stopped arm is drawn as its own dashed one-point series so the two sample sizes are never joined by a line (same convention as score-vs-depth). No per-mean confidence intervals are recorded anywhere for these arms; the bounds on the paired contrasts live in detection-floor-map. The d2s5 mean is the coordinator-supplied figure printed in finding-10's position-mode table and in the 2026-08-21 log ArmTable (the log path is not an accepted sourceRecord scheme, so the finding is cited). Evidence tier: development / public-development. Sources: docs/exploratory/finding-10-suite-validation.md, docs/exploratory/finding-05-chance-strata.md, docs/exploratory/finding-15-depth5-exact-estimator.md, RS-20260821T205102Z-d89df4b5. Mean score by search depth and chance resolution (shared cohort)200,000250,000300,000350,000400,000450,0002345mean score (points)search depth (plies)5 strata (approximate chance), search depth 2 | d2s5 | mean score: 249,641 points | n = 64 games | source: docs/exploratory/finding-10-suite-validation.md · | position-mode table, d2s5 row (also log 2026-08-21 ArmTable)5 strata (approximate chance), search depth 2d2s5mean score: 249,641 pointsn = 64 gamessource: docs/exploratory/finding-10-suite-validation.md ·position-mode table, d2s5 row (also log 2026-08-21 ArmTable)5 strata (approximate chance), search depth 3 | d3s5 | mean score: 305,051 points | n = 64 games | source: docs/exploratory/finding-05-chance-strata.md · Cost | table, depth 3 / 5 strata row5 strata (approximate chance), search depth 3d3s5mean score: 305,051 pointsn = 64 gamessource: docs/exploratory/finding-05-chance-strata.md · Costtable, depth 3 / 5 strata row5 strata (approximate chance), search depth 4 | d4s5 (frozen reference) | mean score: 297,327 points | n = 64 games | source: docs/exploratory/finding-15-depth5-exact-estimator.md · | 8.3 cohort means table5 strata (approximate chance), search depth 4d4s5 (frozen reference)mean score: 297,327 pointsn = 64 gamessource: docs/exploratory/finding-15-depth5-exact-estimator.md ·8.3 cohort means table5 strata (approximate chance), search depth 5 | d5s5 | mean score: 288,704 points | n = 64 games | source: docs/exploratory/finding-15-depth5-exact-estimator.md · | 8.3 cohort means table5 strata (approximate chance), search depth 5d5s5mean score: 288,704 pointsn = 64 gamessource: docs/exploratory/finding-15-depth5-exact-estimator.md ·8.3 cohort means table7 strata (exact chance), search depth 2 | d2s7 | mean score: 265,294 points | n = 64 games | source: docs/exploratory/finding-05-chance-strata.md · Cost | table, depth 2 / 7 strata row7 strata (exact chance), search depth 2d2s7mean score: 265,294 pointsn = 64 gamessource: docs/exploratory/finding-05-chance-strata.md · Costtable, depth 2 / 7 strata row7 strata (exact chance), search depth 3 | d3s7 | mean score: 312,327 points | n = 64 games | source: docs/exploratory/finding-15-depth5-exact-estimator.md · | 8.3 cohort means table7 strata (exact chance), search depth 3d3s7mean score: 312,327 pointsn = 64 gamessource: docs/exploratory/finding-15-depth5-exact-estimator.md ·8.3 cohort means table7 strata (exact chance), search depth 4 | d4s7 | mean score: 398,498 points | n = 64 games | source: docs/exploratory/finding-15-depth5-exact-estimator.md · | 8.3 cohort means table7 strata (exact chance), search depth 4d4s7mean score: 398,498 pointsn = 64 gamessource: docs/exploratory/finding-15-depth5-exact-estimator.md ·8.3 cohort means table7 strata, first 32 seeds (arm stopped, final), search depth 5 | d5s7: 32 of 64 planned games, stopped by decision, final | mean score: 411,874 points | n = 32 games | source: RS-20260821T205102Z-d89df4b5 · metrics.d5s7MeanScore | (411,873.65625)7 strata, first 32 seeds (arm stopped, final), search depth 5d5s7: 32 of 64 planned games, stopped by decision, finalmean score: 411,874 pointsn = 32 gamessource: RS-20260821T205102Z-d89df4b5 · metrics.d5s7MeanScore(411,873.65625)5 strata (approximate chance)7 strata (exact chance)7 strata, first 32 seeds (arm stopped, final)
Mean score by search depth and chance resolution. With an approximate chance model the best depth is three; with an exact chance model it is four.
Source data

Cohort 0xa51d1000-0xa51d103f, corrected 17,000-point Hardcore scoring, 64 games per cell except the depth-5 seven-stratum arm, which was stopped by decision after the first 32 seeds (0xa51d1000-0xa51d101f) and is final. The stopped arm is drawn as its own dashed one-point series so the two sample sizes are never joined by a line (same convention as score-vs-depth). No per-mean confidence intervals are recorded anywhere for these arms; the bounds on the paired contrasts live in detection-floor-map. The d2s5 mean is the coordinator-supplied figure printed in finding-10's position-mode table and in the 2026-08-21 log ArmTable (the log path is not an accepted sourceRecord scheme, so the finding is cited). Evidence tier: development / public-development.

Seriessearch depthmean scoreBoundsnSource
5 strata (approximate chance)2 d2s5249,641 points64docs/exploratory/finding-10-suite-validation.md position-mode table, d2s5 row (also log 2026-08-21 ArmTable)
5 strata (approximate chance)3 d3s5305,051 points64docs/exploratory/finding-05-chance-strata.md Cost table, depth 3 / 5 strata row
5 strata (approximate chance)4 d4s5 (frozen reference)297,327 points64docs/exploratory/finding-15-depth5-exact-estimator.md 8.3 cohort means table
5 strata (approximate chance)5 d5s5288,704 points64docs/exploratory/finding-15-depth5-exact-estimator.md 8.3 cohort means table
7 strata (exact chance)2 d2s7265,294 points64docs/exploratory/finding-05-chance-strata.md Cost table, depth 2 / 7 strata row
7 strata (exact chance)3 d3s7312,327 points64docs/exploratory/finding-15-depth5-exact-estimator.md 8.3 cohort means table
7 strata (exact chance)4 d4s7398,498 points64docs/exploratory/finding-15-depth5-exact-estimator.md 8.3 cohort means table
7 strata, first 32 seeds (arm stopped, final)5 d5s7: 32 of 64 planned games, stopped by decision, final411,874 points32RS-20260821T205102Z-d89df4b5 metrics.d5s7MeanScore (411,873.65625)

Spec: web/content/figures/depth-chance-factorial.json · 4 source records

Conclusion. Fair D4 remains the strongest known baseline. Exact or completed D5 is still scientifically interesting only if its cost can be reduced enough for a properly powered comparison.

N-tuple value learning and Q-learning

Idea. Learn values for overlapping board patterns. N-tuples can represent local shapes with far fewer parameters than a table containing every complete board.

Implementations under approaches/ntuple-rl include episodic and chance-state values, hierarchical position residuals, temporal-coherence updates, phase-conditioned values, Rainbow-style Q-learning, native PPO experiments, and a bounded two-rise rollout driven by an optimistic phase-conditioned n-tuple.

Evidence. Corrected and extended n-tuple systems repeatedly improved at an early stage and then failed their larger gates, and the optimistic phase-conditioned system's direct policy and two-boundary rollout both fell far below fair D4 on the mandatory 64-game gate. The retained numbers are in the experiment index rows for this family.

Conclusion. Pattern learning is computationally attractive, but the tested TD and Q-learning targets did not learn a reliable long-horizon action ranking. Future work needs better coverage of legal siblings and less extrapolation from the single action chosen by the data-collection policy.

Learned values, policies, and neural evaluators

Idea. Train a compact model to predict survival, score, or the advantage of one legal move, then use it directly or as a search leaf.

The experiments in approaches/value-policy-learning and approaches/d4-long-outcome cover Monte Carlo state values, structured and denoised NNUE-style models, DQN, policy cloning, sibling-advantage learning, D4 distillation, and long-outcome classifiers.

Evidence. Direct value policies, structured models, counterfactual- successor leaves, D4-Q clones, and learned sibling rankers usually improved fitting metrics and then regressed on whole-game-held-out roots. The held-out ranking metrics for every learned evaluator are charted below; per-experiment rows are in the experiment index.

Learned evaluators versus exact search: top-1, pairwise and regret on held-out roots Learned evaluators versus exact search: top-1, pairwise and regret on held-out roots. Panels differ across points and are named per category: the afterstate models and the fair D4 / fair D1 comparators are gated on the H40 D1-continuation panel; the D4-value student on a D4-ordering panel; the planner-distill student and its comparator on the fair-planner H5K256 panel; martingale-dual B0 and its comparator on the locked 477-root H200 panel; exact D1 / exact D2 on the historical panel of RS-20260821T104500Z-77d21e90. Compare within a panel, not across. Fair D1 pairwise and regret on the afterstate panel are not recorded, and exact D1 / exact D2 are recorded top-1 only, so those series points are omitted. Full-train pairwise 0.658 is from the record's summary prose; its per-half values are not recorded. Per-point labels are omitted to keep the dot grid readable; every popover carries the value and source. All eight students sit below their panel's fair-D4 comparator column. Evidence tier: pilot (afterstate and D4-value line); see each source for its panel definition. Sources: RS-20260820T094500Z-5c1e9a04, RS-20260820T114500Z-2b7c9e31, RS-20260820T142500Z-8f4a2d17, RS-20260821T094500Z-1a7e3c55, RS-20260821T134500Z-4b9d2f68, RS-20260821T104500Z-77d21e90, docs/exploratory/finding-11-planner-distillation.md, docs/research/history.md. Learned evaluators versus exact search: top-1, pairwise and regret onheld-out roots00.20.40.60.8afterstate K=8 · H40afterstate K=64 · H40afterstate K=256 · H40afterstate full-train · H40afterstate D2-teacher · H40D4-value student · D4 panelplanner-distill · planner panelmartingale-dual B0 · H200fairD4 · H40fairD1 · H40exactD1 · historical panelexactD2 · historical panelfairD4 · planner panelfairD4 · H200metric value (unitless)evaluator (evaluation panel after the dot)top-1 accuracy — afterstate K=8 · H40 | metric value: 0.25 unitless | source: RS-20260820T094500Z-5c1e9a04 · metrics.modelTop1Pooledtop-1 accuracy — afterstate K=8 · H40metric value: 0.25 unitlesssource: RS-20260820T094500Z-5c1e9a04 · metrics.modelTop1Pooledtop-1 accuracy — afterstate K=64 · H40 | metric value: 0.34 unitless | source: RS-20260820T114500Z-2b7c9e31 · metrics.modelTop1Pooledtop-1 accuracy — afterstate K=64 · H40metric value: 0.34 unitlesssource: RS-20260820T114500Z-2b7c9e31 · metrics.modelTop1Pooledtop-1 accuracy — afterstate K=256 · H40 | metric value: 0.42 unitless | source: RS-20260820T142500Z-8f4a2d17 · metrics.modelTop1Pooledtop-1 accuracy — afterstate K=256 · H40metric value: 0.42 unitlesssource: RS-20260820T142500Z-8f4a2d17 · metrics.modelTop1Pooledtop-1 accuracy — afterstate full-train · H40 | metric value: 0.36 unitless | source: RS-20260821T094500Z-1a7e3c55 · | metrics.diagnosticTop1VsIter3top-1 accuracy — afterstate full-train · H40metric value: 0.36 unitlesssource: RS-20260821T094500Z-1a7e3c55 ·metrics.diagnosticTop1VsIter3top-1 accuracy — afterstate D2-teacher · H40 | metric value: 0.34 unitless | source: RS-20260821T134500Z-4b9d2f68 · metrics.rankingTop1Pooledtop-1 accuracy — afterstate D2-teacher · H40metric value: 0.34 unitlesssource: RS-20260821T134500Z-4b9d2f68 · metrics.rankingTop1Pooledtop-1 accuracy — D4-value student · D4 panel | metric value: 0.38 unitless | source: RS-20260821T104500Z-77d21e90 · metrics.top1Pooledtop-1 accuracy — D4-value student · D4 panelmetric value: 0.38 unitlesssource: RS-20260821T104500Z-77d21e90 · metrics.top1Pooledtop-1 accuracy — planner-distill · planner panel | metric value: 0.49 unitless | source: docs/exploratory/finding-11-planner-distillation.md · | Summary tabletop-1 accuracy — planner-distill · planner panelmetric value: 0.49 unitlesssource: docs/exploratory/finding-11-planner-distillation.md ·Summary tabletop-1 accuracy — martingale-dual B0 · H200 | metric value: 0.29 unitless | source: docs/research/history.md · Martingale-dual B0 ranking | audit table (line 4526)top-1 accuracy — martingale-dual B0 · H200metric value: 0.29 unitlesssource: docs/research/history.md · Martingale-dual B0 rankingaudit table (line 4526)top-1 accuracy — fair D4 · H40 | metric value: 0.5 unitless | source: RS-20260820T142500Z-8f4a2d17 · metrics.d4Top1Pooledtop-1 accuracy — fair D4 · H40metric value: 0.5 unitlesssource: RS-20260820T142500Z-8f4a2d17 · metrics.d4Top1Pooledtop-1 accuracy — fair D1 · H40 | metric value: 0.32 unitless | source: RS-20260820T142500Z-8f4a2d17 · metrics.d1Top1Pooledtop-1 accuracy — fair D1 · H40metric value: 0.32 unitlesssource: RS-20260820T142500Z-8f4a2d17 · metrics.d1Top1Pooledtop-1 accuracy — exact D1 · historical panel | metric value: 0.49 unitless | source: RS-20260821T104500Z-77d21e90 · metrics.referenceD1Top1top-1 accuracy — exact D1 · historical panelmetric value: 0.49 unitlesssource: RS-20260821T104500Z-77d21e90 · metrics.referenceD1Top1top-1 accuracy — exact D2 · historical panel | metric value: 0.57 unitless | source: RS-20260821T104500Z-77d21e90 · metrics.referenceD2Top1top-1 accuracy — exact D2 · historical panelmetric value: 0.57 unitlesssource: RS-20260821T104500Z-77d21e90 · metrics.referenceD2Top1top-1 accuracy — fair D4 · planner panel | metric value: 0.61 unitless | source: docs/exploratory/finding-11-planner-distillation.md · | Summary tabletop-1 accuracy — fair D4 · planner panelmetric value: 0.61 unitlesssource: docs/exploratory/finding-11-planner-distillation.md ·Summary tabletop-1 accuracy — fair D4 · H200 | metric value: 0.38 unitless | source: docs/research/history.md · Martingale-dual B0 ranking | audit table (line 4527)top-1 accuracy — fair D4 · H200metric value: 0.38 unitlesssource: docs/research/history.md · Martingale-dual B0 rankingaudit table (line 4527)pairwise accuracy — afterstate K=8 · H40 | metric value: 0.57 unitless | source: RS-20260820T094500Z-5c1e9a04 · | metrics.modelPairwisePooledpairwise accuracy — afterstate K=8 · H40metric value: 0.57 unitlesssource: RS-20260820T094500Z-5c1e9a04 ·metrics.modelPairwisePooledpairwise accuracy — afterstate K=64 · H40 | metric value: 0.64 unitless | source: RS-20260820T114500Z-2b7c9e31 · | metrics.modelPairwisePooledpairwise accuracy — afterstate K=64 · H40metric value: 0.64 unitlesssource: RS-20260820T114500Z-2b7c9e31 ·metrics.modelPairwisePooledpairwise accuracy — afterstate K=256 · H40 | metric value: 0.69 unitless | source: RS-20260820T142500Z-8f4a2d17 · | metrics.modelPairwisePooledpairwise accuracy — afterstate K=256 · H40metric value: 0.69 unitlesssource: RS-20260820T142500Z-8f4a2d17 ·metrics.modelPairwisePooledpairwise accuracy — afterstate full-train · H40 | metric value: 0.66 unitless | source: RS-20260821T094500Z-1a7e3c55 · summary (pairwise 0.658 | vs 0.685)pairwise accuracy — afterstate full-train · H40metric value: 0.66 unitlesssource: RS-20260821T094500Z-1a7e3c55 · summary (pairwise 0.658vs 0.685)pairwise accuracy — afterstate D2-teacher · H40 | metric value: 0.63 unitless | source: RS-20260821T134500Z-4b9d2f68 · | metrics.rankingPairwisePooledpairwise accuracy — afterstate D2-teacher · H40metric value: 0.63 unitlesssource: RS-20260821T134500Z-4b9d2f68 ·metrics.rankingPairwisePooledpairwise accuracy — D4-value student · D4 panel | metric value: 0.64 unitless | source: RS-20260821T104500Z-77d21e90 · metrics.pairwisePooledpairwise accuracy — D4-value student · D4 panelmetric value: 0.64 unitlesssource: RS-20260821T104500Z-77d21e90 · metrics.pairwisePooledpairwise accuracy — planner-distill · planner panel | metric value: 0.74 unitless | source: docs/exploratory/finding-11-planner-distillation.md · | Summary tablepairwise accuracy — planner-distill · planner panelmetric value: 0.74 unitlesssource: docs/exploratory/finding-11-planner-distillation.md ·Summary tablepairwise accuracy — martingale-dual B0 · H200 | metric value: 0.6 unitless | source: docs/research/history.md · Martingale-dual B0 ranking | audit table (line 4526)pairwise accuracy — martingale-dual B0 · H200metric value: 0.6 unitlesssource: docs/research/history.md · Martingale-dual B0 rankingaudit table (line 4526)pairwise accuracy — fair D4 · H40 | metric value: 0.74 unitless | source: RS-20260820T142500Z-8f4a2d17 · metrics.d4PairwisePooledpairwise accuracy — fair D4 · H40metric value: 0.74 unitlesssource: RS-20260820T142500Z-8f4a2d17 · metrics.d4PairwisePooledpairwise accuracy — fair D4 · planner panel | metric value: 0.8 unitless | source: docs/exploratory/finding-11-planner-distillation.md · | Summary tablepairwise accuracy — fair D4 · planner panelmetric value: 0.8 unitlesssource: docs/exploratory/finding-11-planner-distillation.md ·Summary tablepairwise accuracy — fair D4 · H200 | metric value: 0.67 unitless | source: docs/research/history.md · Martingale-dual B0 ranking | audit table (line 4527)pairwise accuracy — fair D4 · H200metric value: 0.67 unitlesssource: docs/research/history.md · Martingale-dual B0 rankingaudit table (line 4527)normalized regret — afterstate K=8 · H40 | metric value: 0.41 unitless | source: RS-20260820T094500Z-5c1e9a04 · metrics.modelRegretPoolednormalized regret — afterstate K=8 · H40metric value: 0.41 unitlesssource: RS-20260820T094500Z-5c1e9a04 · metrics.modelRegretPoolednormalized regret — afterstate K=64 · H40 | metric value: 0.3 unitless | source: RS-20260820T114500Z-2b7c9e31 · metrics.modelRegretPoolednormalized regret — afterstate K=64 · H40metric value: 0.3 unitlesssource: RS-20260820T114500Z-2b7c9e31 · metrics.modelRegretPoolednormalized regret — afterstate K=256 · H40 | metric value: 0.24 unitless | source: RS-20260820T142500Z-8f4a2d17 · metrics.modelRegretPoolednormalized regret — afterstate K=256 · H40metric value: 0.24 unitlesssource: RS-20260820T142500Z-8f4a2d17 · metrics.modelRegretPoolednormalized regret — afterstate full-train · H40 | metric value: 0.28 unitless | source: RS-20260821T094500Z-1a7e3c55 · | metrics.diagnosticRegretVsIter3normalized regret — afterstate full-train · H40metric value: 0.28 unitlesssource: RS-20260821T094500Z-1a7e3c55 ·metrics.diagnosticRegretVsIter3normalized regret — afterstate D2-teacher · H40 | metric value: 0.31 unitless | source: RS-20260821T134500Z-4b9d2f68 · | metrics.rankingRegretPoolednormalized regret — afterstate D2-teacher · H40metric value: 0.31 unitlesssource: RS-20260821T134500Z-4b9d2f68 ·metrics.rankingRegretPoolednormalized regret — D4-value student · D4 panel | metric value: 0.29 unitless | source: RS-20260821T104500Z-77d21e90 · metrics.regretPoolednormalized regret — D4-value student · D4 panelmetric value: 0.29 unitlesssource: RS-20260821T104500Z-77d21e90 · metrics.regretPoolednormalized regret — planner-distill · planner panel | metric value: 0.19 unitless | source: docs/exploratory/finding-11-planner-distillation.md · | Summary tablenormalized regret — planner-distill · planner panelmetric value: 0.19 unitlesssource: docs/exploratory/finding-11-planner-distillation.md ·Summary tablenormalized regret — martingale-dual B0 · H200 | metric value: 0.35 unitless | source: docs/research/history.md · Martingale-dual B0 ranking | audit table (line 4526)normalized regret — martingale-dual B0 · H200metric value: 0.35 unitlesssource: docs/research/history.md · Martingale-dual B0 rankingaudit table (line 4526)normalized regret — fair D4 · H40 | metric value: 0.18 unitless | source: RS-20260820T142500Z-8f4a2d17 · metrics.d4RegretPoolednormalized regret — fair D4 · H40metric value: 0.18 unitlesssource: RS-20260820T142500Z-8f4a2d17 · metrics.d4RegretPoolednormalized regret — fair D4 · planner panel | metric value: 0.13 unitless | source: docs/exploratory/finding-11-planner-distillation.md · | Summary tablenormalized regret — fair D4 · planner panelmetric value: 0.13 unitlesssource: docs/exploratory/finding-11-planner-distillation.md ·Summary tablenormalized regret — fair D4 · H200 | metric value: 0.28 unitless | source: docs/research/history.md · Martingale-dual B0 ranking | audit table (line 4527)normalized regret — fair D4 · H200metric value: 0.28 unitlesssource: docs/research/history.md · Martingale-dual B0 rankingaudit table (line 4527)top-1 accuracypairwise accuracynormalized regret
Learned evaluators against exact search on held-out roots: top-1, pairwise accuracy and normalized regret. Every student sits below its panel's fair-D4 comparator.
Source data

Panels differ across points and are named per category: the afterstate models and the fair D4 / fair D1 comparators are gated on the H40 D1-continuation panel; the D4-value student on a D4-ordering panel; the planner-distill student and its comparator on the fair-planner H5K256 panel; martingale-dual B0 and its comparator on the locked 477-root H200 panel; exact D1 / exact D2 on the historical panel of RS-20260821T104500Z-77d21e90. Compare within a panel, not across. Fair D1 pairwise and regret on the afterstate panel are not recorded, and exact D1 / exact D2 are recorded top-1 only, so those series points are omitted. Full-train pairwise 0.658 is from the record's summary prose; its per-half values are not recorded. Per-point labels are omitted to keep the dot grid readable; every popover carries the value and source. All eight students sit below their panel's fair-D4 comparator column. Evidence tier: pilot (afterstate and D4-value line); see each source for its panel definition.

Seriesevaluator (evaluation panel after the dot)metric valueBoundsnSource
top-1 accuracyafterstate K=8 · H400.25 unitlessRS-20260820T094500Z-5c1e9a04 metrics.modelTop1Pooled
top-1 accuracyafterstate K=64 · H400.34 unitlessRS-20260820T114500Z-2b7c9e31 metrics.modelTop1Pooled
top-1 accuracyafterstate K=256 · H400.42 unitlessRS-20260820T142500Z-8f4a2d17 metrics.modelTop1Pooled
top-1 accuracyafterstate full-train · H400.36 unitlessRS-20260821T094500Z-1a7e3c55 metrics.diagnosticTop1VsIter3
top-1 accuracyafterstate D2-teacher · H400.34 unitlessRS-20260821T134500Z-4b9d2f68 metrics.rankingTop1Pooled
top-1 accuracyD4-value student · D4 panel0.38 unitlessRS-20260821T104500Z-77d21e90 metrics.top1Pooled
top-1 accuracyplanner-distill · planner panel0.49 unitlessdocs/exploratory/finding-11-planner-distillation.md Summary table
top-1 accuracymartingale-dual B0 · H2000.29 unitlessdocs/research/history.md Martingale-dual B0 ranking audit table (line 4526)
top-1 accuracyfair D4 · H400.5 unitlessRS-20260820T142500Z-8f4a2d17 metrics.d4Top1Pooled
top-1 accuracyfair D1 · H400.32 unitlessRS-20260820T142500Z-8f4a2d17 metrics.d1Top1Pooled
top-1 accuracyexact D1 · historical panel0.49 unitlessRS-20260821T104500Z-77d21e90 metrics.referenceD1Top1
top-1 accuracyexact D2 · historical panel0.57 unitlessRS-20260821T104500Z-77d21e90 metrics.referenceD2Top1
top-1 accuracyfair D4 · planner panel0.61 unitlessdocs/exploratory/finding-11-planner-distillation.md Summary table
top-1 accuracyfair D4 · H2000.38 unitlessdocs/research/history.md Martingale-dual B0 ranking audit table (line 4527)
pairwise accuracyafterstate K=8 · H400.57 unitlessRS-20260820T094500Z-5c1e9a04 metrics.modelPairwisePooled
pairwise accuracyafterstate K=64 · H400.64 unitlessRS-20260820T114500Z-2b7c9e31 metrics.modelPairwisePooled
pairwise accuracyafterstate K=256 · H400.69 unitlessRS-20260820T142500Z-8f4a2d17 metrics.modelPairwisePooled
pairwise accuracyafterstate full-train · H400.66 unitlessRS-20260821T094500Z-1a7e3c55 summary (pairwise 0.658 vs 0.685)
pairwise accuracyafterstate D2-teacher · H400.63 unitlessRS-20260821T134500Z-4b9d2f68 metrics.rankingPairwisePooled
pairwise accuracyD4-value student · D4 panel0.64 unitlessRS-20260821T104500Z-77d21e90 metrics.pairwisePooled
pairwise accuracyplanner-distill · planner panel0.74 unitlessdocs/exploratory/finding-11-planner-distillation.md Summary table
pairwise accuracymartingale-dual B0 · H2000.6 unitlessdocs/research/history.md Martingale-dual B0 ranking audit table (line 4526)
pairwise accuracyfair D4 · H400.74 unitlessRS-20260820T142500Z-8f4a2d17 metrics.d4PairwisePooled
pairwise accuracyfair D4 · planner panel0.8 unitlessdocs/exploratory/finding-11-planner-distillation.md Summary table
pairwise accuracyfair D4 · H2000.67 unitlessdocs/research/history.md Martingale-dual B0 ranking audit table (line 4527)
normalized regretafterstate K=8 · H400.41 unitlessRS-20260820T094500Z-5c1e9a04 metrics.modelRegretPooled
normalized regretafterstate K=64 · H400.3 unitlessRS-20260820T114500Z-2b7c9e31 metrics.modelRegretPooled
normalized regretafterstate K=256 · H400.24 unitlessRS-20260820T142500Z-8f4a2d17 metrics.modelRegretPooled
normalized regretafterstate full-train · H400.28 unitlessRS-20260821T094500Z-1a7e3c55 metrics.diagnosticRegretVsIter3
normalized regretafterstate D2-teacher · H400.31 unitlessRS-20260821T134500Z-4b9d2f68 metrics.rankingRegretPooled
normalized regretD4-value student · D4 panel0.29 unitlessRS-20260821T104500Z-77d21e90 metrics.regretPooled
normalized regretplanner-distill · planner panel0.19 unitlessdocs/exploratory/finding-11-planner-distillation.md Summary table
normalized regretmartingale-dual B0 · H2000.35 unitlessdocs/research/history.md Martingale-dual B0 ranking audit table (line 4526)
normalized regretfair D4 · H400.18 unitlessRS-20260820T142500Z-8f4a2d17 metrics.d4RegretPooled
normalized regretfair D4 · planner panel0.13 unitlessdocs/exploratory/finding-11-planner-distillation.md Summary table
normalized regretfair D4 · H2000.28 unitlessdocs/research/history.md Martingale-dual B0 ranking audit table (line 4527)

Spec: web/content/figures/learned-ranking-metrics.json · 8 source records

The repeated failure pattern is important: learning the played action or a sparse sample of siblings does not provide trustworthy values for every action the learned policy will later consider. This is a coverage and distribution- shift problem, not merely a need for a larger network.

Conclusion. A learned leaf remains plausible, but a new attempt should begin with a data-coverage proof, whole-origin splits, calibrated uncertainty, and exact fallback parity, not with additional model capacity.

Policy-gradient and actor-critic methods

Idea. Learn the column choice directly from complete interaction rather than fitting a separate value for every candidate move.

Native and PyTorch experiments include PPO, direct PPO, curriculum options, oracle-manifold features, and a primal-dual actor-critic. See approaches/ntuple-rl/torch-ppo, approaches/ntuple-rl/native-ppo, and approaches/ntuple-rl/primal-dual-actor-critic.

Evidence. The tested PPO and actor-critic pipelines failed their agreement, memory, performance, or coverage gates, and none opened a gameplay screen. The retained numbers are in the experiment index.

Conclusion. The tested policy-gradient pipelines were neither competitive nor sample-efficient enough. Reconsider them only with a demonstrably better state representation, training curriculum, and resource plan.

MCTS, PUCT, and open-loop planning

Idea. Grow a search tree around the current board, sampling chance events instead of enumerating the entire stochastic future.

Implementations live in approaches/tree-search and the open-loop experiments in approaches/heuristic-search/open-loop.

Evidence. Observable-state UCT and confidence-gated MCTS overrides failed their held-out ranking gates, and scaling the tree budget improved short-horizon D4 imitation while worsening 25-move outcome ranking; the audit traced the problem to the weak public D1 rollout and repeated empirical chance reservoir rather than simply too few simulations. See the experiment index.

Conclusion. Increasing the tree budget alone is not a promising next experiment. MCTS needs a stronger continuing policy or long-value model and a less biased treatment of fresh chance events.

Long rollouts and terminal policy improvement

Idea. Keep fair D4 as the default, but compare close alternatives by playing them forward for several complete five-drop rise cycles.

The most direct implementation is d4-d2-rollout-veto.cpp. Related compression, learned-ranker, and policy-iteration experiments live under approaches/d4-long-outcome and approaches/terminal-policy-iteration.

Evidence. A public 25-move D4/D2 continuation produced one striking single pilot — signal only, far beyond its runtime limit — and compression, fitting completion, compact rankers, and regenerative panels did not reproduce the signal on disjoint data. The rollout veto's whole-game delta appears in the screen chart below; retained numbers are in the experiment index.

Every screen and confirmation paired delta with its recorded 95% bound Every screen and confirmation paired delta with its recorded 95% bound. Whole-game paired deltas against each experiment's reference arm, corrected 17,000-point Hardcore scoring. Bounds are one-sided 95% bootstrap lower bounds; upper bounds are drawn only where recorded (the three reveal-sampling contrasts, CMA-ES, both survival-instinct arms). finding-03, finding-14, both learned-leaf arms and A900 record no upper bound — the whisker is absent there, not zero. finding-05's confirmation lower bound is printed +47,457 in the finding and +47,446.8 in RS-20260821T205102Z-d89df4b5; the figure uses the record (+47,447). A900's rejection rests on flat flow statistics and opposite-sign halves, not the score delta, which sits inside its 30,957 detection floor (RS-20260823T131226Z-16564ed9). Cohorts differ per bar (n carried per point; the survival-instinct arms share 128 fresh seeds, A900 256 fresh seeds); this chart assembles separate experiments, it does not pool them. Evidence tier: development / public-development screens. Sources: RS-20260821T205102Z-d89df4b5, docs/exploratory/finding-08-learned-leaf.md, RS-20260821T192140Z-189fe392, docs/exploratory/finding-03-rollout-veto-17k.md, docs/exploratory/finding-14-leaf-reweight.md, RS-20260822T120736Z-662b39ca, RS-20260822T233343Z-12becce9, RS-20260823T131226Z-16564ed9. Every screen and confirmation paired delta with its recorded 95% bound-300,000-200,000-100,0000100,000200,000f05confirm d4s7-d4s5f08learned leaf s5f08learned leaf s7f16 d3M6-M1f16 d4M2-M1f16 d3M12-M6f03rollout vetof14full leaf refitCMA-ESleafsurvival STRICTsurvival LITERALA900reveal constr.paired mean score delta (points)screen or confirmation (candidate minus reference)paired mean score delta vs reference — f05 confirm d4s7-d4s5 | finding-05 confirmation, chance strata at depth 4; W-T-L 41-0-23 | paired mean score delta: +101,171 points | 95% lower bound: 47,447 points | n = 64 games | source: RS-20260821T205102Z-d89df4b5 · | metrics.pairedD4s7MinusD4s5paired mean score delta vs reference — f05 confirm d4s7-d4s5finding-05 confirmation, chance strata at depth 4; W-T-L 41-0-23paired mean score delta: +101,171 points95% lower bound: 47,447 pointsn = 64 gamessource: RS-20260821T205102Z-d89df4b5 ·metrics.pairedD4s7MinusD4s5paired mean score delta vs reference — f08 learned leaf s5 | learned leaf minus reference, 5 strata; W-T-L 37-0-27; | significant | paired mean score delta: +39,105 points | 95% lower bound: 1,138 points | n = 64 games | source: docs/exploratory/finding-08-learned-leaf.md · section 7 | paired deltas tablepaired mean score delta vs reference — f08 learned leaf s5learned leaf minus reference, 5 strata; W-T-L 37-0-27;significantpaired mean score delta: +39,105 points95% lower bound: 1,138 pointsn = 64 gamessource: docs/exploratory/finding-08-learned-leaf.md · section 7paired deltas tablepaired mean score delta vs reference — f08 learned leaf s7 | learned leaf minus reference, 7 strata; W-T-L 34-0-30; not | significant | paired mean score delta: +17,281 points | 95% lower bound: -55,892 points | n = 64 games | source: docs/exploratory/finding-08-learned-leaf.md · section 7 | paired deltas tablepaired mean score delta vs reference — f08 learned leaf s7learned leaf minus reference, 7 strata; W-T-L 34-0-30; notsignificantpaired mean score delta: +17,281 points95% lower bound: -55,892 pointsn = 64 gamessource: docs/exploratory/finding-08-learned-leaf.md · section 7paired deltas tablepaired mean score delta vs reference — f16 d3 M6-M1 | reveal sampling at depth 3, M=6 minus M=1; W-T-L 36-0-28 | paired mean score delta: +64,116 points | bounds: 7,475 points to 121,776 points | n = 64 games | source: RS-20260821T192140Z-189fe392 · | metrics.pairedD3M6MinusD3M1paired mean score delta vs reference — f16 d3 M6-M1reveal sampling at depth 3, M=6 minus M=1; W-T-L 36-0-28paired mean score delta: +64,116 pointsbounds: 7,475 points to 121,776 pointsn = 64 gamessource: RS-20260821T192140Z-189fe392 ·metrics.pairedD3M6MinusD3M1paired mean score delta vs reference — f16 d4 M2-M1 | reveal sampling at depth 4, M=2 minus M=1; W-T-L 28-0-36 | paired mean score delta: -41,950 points | bounds: -100,137 points to 17,541 points | n = 64 games | source: RS-20260821T192140Z-189fe392 · | metrics.pairedD4M2MinusD4M1paired mean score delta vs reference — f16 d4 M2-M1reveal sampling at depth 4, M=2 minus M=1; W-T-L 28-0-36paired mean score delta: -41,950 pointsbounds: -100,137 points to 17,541 pointsn = 64 gamessource: RS-20260821T192140Z-189fe392 ·metrics.pairedD4M2MinusD4M1paired mean score delta vs reference — f16 d3 M12-M6 | full joint coverage minus M=6 at depth 3; W-T-L 28-0-36; | saturation | paired mean score delta: -27,097 points | bounds: -83,807 points to 31,209 points | n = 64 games | source: RS-20260821T192140Z-189fe392 · | metrics.pairedD3M12MinusD3M6paired mean score delta vs reference — f16 d3 M12-M6full joint coverage minus M=6 at depth 3; W-T-L 28-0-36;saturationpaired mean score delta: -27,097 pointsbounds: -83,807 points to 31,209 pointsn = 64 gamessource: RS-20260821T192140Z-189fe392 ·metrics.pairedD3M12MinusD3M6paired mean score delta vs reference — f03 rollout veto | 25-move rollout veto, 17,000-point port; W-T-L 9-4-19; rejected | paired mean score delta: -46,511 points | 95% lower bound: -91,925 points | n = 32 games | source: docs/exploratory/finding-03-rollout-veto-17k.md · | section 5.2 paired comparisonpaired mean score delta vs reference — f03 rollout veto25-move rollout veto, 17,000-point port; W-T-L 9-4-19; rejectedpaired mean score delta: -46,511 points95% lower bound: -91,925 pointsn = 32 gamessource: docs/exploratory/finding-03-rollout-veto-17k.md ·section 5.2 paired comparisonpaired mean score delta vs reference — f14 full leaf refit | leaf reweighted fully toward the achievable-clear direction; | W-T-L 7-0-57; rejected | paired mean score delta: -237,182 points | 95% lower bound: -290,406 points | n = 64 games | source: docs/exploratory/finding-14-leaf-reweight.md · Summary / | dose table (t2-fair-a1)paired mean score delta vs reference — f14 full leaf refitleaf reweighted fully toward the achievable-clear direction;W-T-L 7-0-57; rejectedpaired mean score delta: -237,182 points95% lower bound: -290,406 pointsn = 64 gamessource: docs/exploratory/finding-14-leaf-reweight.md · Summary /dose table (t2-fair-a1)paired mean score delta vs reference — CMA-ES leaf | CMA-ES-tuned leaf screen, held out; W-T-L 28-0-36 | paired mean score delta: -30,300 points | bounds: -70,928 points to 9,786 points | n = 64 games | source: RS-20260822T120736Z-662b39ca · | metrics.heldOutD4S5.pairedScorepaired mean score delta vs reference — CMA-ES leafCMA-ES-tuned leaf screen, held out; W-T-L 28-0-36paired mean score delta: -30,300 pointsbounds: -70,928 points to 9,786 pointsn = 64 gamessource: RS-20260822T120736Z-662b39ca ·metrics.heldOutD4S5.pairedScorepaired mean score delta vs reference — survival STRICT | survival-instinct root filter, strict rule; W-T-L 41-26-61; | inconclusive by its coverage rule | paired mean score delta: -1,970 points | bounds: -27,738 points to 22,313 points | n = 128 games | source: RS-20260822T233343Z-12becce9 · | metrics.strict.pairedScorepaired mean score delta vs reference — survival STRICTsurvival-instinct root filter, strict rule; W-T-L 41-26-61;inconclusive by its coverage rulepaired mean score delta: -1,970 pointsbounds: -27,738 points to 22,313 pointsn = 128 gamessource: RS-20260822T233343Z-12becce9 ·metrics.strict.pairedScorepaired mean score delta vs reference — survival LITERAL | survival-instinct root filter, literal rule; W-T-L 43-0-85; | rejected | paired mean score delta: -97,064 points | bounds: -136,887 points to -59,500 points | n = 128 games | source: RS-20260822T233343Z-12becce9 · | metrics.literal.pairedScorepaired mean score delta vs reference — survival LITERALsurvival-instinct root filter, literal rule; W-T-L 43-0-85;rejectedpaired mean score delta: -97,064 pointsbounds: -136,887 points to -59,500 pointsn = 128 gamessource: RS-20260822T233343Z-12becce9 ·metrics.literal.pairedScorepaired mean score delta vs reference — A900 reveal constr. | reveal-construction term at threshold 900; W-T-L 99-53-104; | inside its 30,957 floor | paired mean score delta: +3,204 points | 95% lower bound: -26,860 points | n = 256 games | source: RS-20260823T131226Z-16564ed9 · metrics.A900_minus_frozenpaired mean score delta vs reference — A900 reveal constr.reveal-construction term at threshold 900; W-T-L 99-53-104;inside its 30,957 floorpaired mean score delta: +3,204 points95% lower bound: -26,860 pointsn = 256 gamessource: RS-20260823T131226Z-16564ed9 · metrics.A900_minus_frozenpaired mean score delta vs reference
Every screen and confirmation paired delta with its recorded 95% bound, including the 25-move rollout veto's whole-game loss.
Source data

Whole-game paired deltas against each experiment's reference arm, corrected 17,000-point Hardcore scoring. Bounds are one-sided 95% bootstrap lower bounds; upper bounds are drawn only where recorded (the three reveal-sampling contrasts, CMA-ES, both survival-instinct arms). finding-03, finding-14, both learned-leaf arms and A900 record no upper bound — the whisker is absent there, not zero. finding-05's confirmation lower bound is printed +47,457 in the finding and +47,446.8 in RS-20260821T205102Z-d89df4b5; the figure uses the record (+47,447). A900's rejection rests on flat flow statistics and opposite-sign halves, not the score delta, which sits inside its 30,957 detection floor (RS-20260823T131226Z-16564ed9). Cohorts differ per bar (n carried per point; the survival-instinct arms share 128 fresh seeds, A900 256 fresh seeds); this chart assembles separate experiments, it does not pool them. Evidence tier: development / public-development screens.

Seriesscreen or confirmation (candidate minus reference)paired mean score deltaBoundsnSource
paired mean score delta vs referencef05 confirm d4s7-d4s5 finding-05 confirmation, chance strata at depth 4; W-T-L 41-0-23101,171 pointslower 47,44764RS-20260821T205102Z-d89df4b5 metrics.pairedD4s7MinusD4s5
paired mean score delta vs referencef08 learned leaf s5 learned leaf minus reference, 5 strata; W-T-L 37-0-27; significant39,105 pointslower 1,13864docs/exploratory/finding-08-learned-leaf.md section 7 paired deltas table
paired mean score delta vs referencef08 learned leaf s7 learned leaf minus reference, 7 strata; W-T-L 34-0-30; not significant17,281 pointslower -55,89264docs/exploratory/finding-08-learned-leaf.md section 7 paired deltas table
paired mean score delta vs referencef16 d3 M6-M1 reveal sampling at depth 3, M=6 minus M=1; W-T-L 36-0-2864,116 points7,475 to 121,77664RS-20260821T192140Z-189fe392 metrics.pairedD3M6MinusD3M1
paired mean score delta vs referencef16 d4 M2-M1 reveal sampling at depth 4, M=2 minus M=1; W-T-L 28-0-36-41,950 points-100,137 to 17,54164RS-20260821T192140Z-189fe392 metrics.pairedD4M2MinusD4M1
paired mean score delta vs referencef16 d3 M12-M6 full joint coverage minus M=6 at depth 3; W-T-L 28-0-36; saturation-27,097 points-83,807 to 31,20964RS-20260821T192140Z-189fe392 metrics.pairedD3M12MinusD3M6
paired mean score delta vs referencef03 rollout veto 25-move rollout veto, 17,000-point port; W-T-L 9-4-19; rejected-46,511 pointslower -91,92532docs/exploratory/finding-03-rollout-veto-17k.md section 5.2 paired comparison
paired mean score delta vs referencef14 full leaf refit leaf reweighted fully toward the achievable-clear direction; W-T-L 7-0-57; rejected-237,182 pointslower -290,40664docs/exploratory/finding-14-leaf-reweight.md Summary / dose table (t2-fair-a1)
paired mean score delta vs referenceCMA-ES leaf CMA-ES-tuned leaf screen, held out; W-T-L 28-0-36-30,300 points-70,928 to 9,78664RS-20260822T120736Z-662b39ca metrics.heldOutD4S5.pairedScore
paired mean score delta vs referencesurvival STRICT survival-instinct root filter, strict rule; W-T-L 41-26-61; inconclusive by its coverage rule-1,970 points-27,738 to 22,313128RS-20260822T233343Z-12becce9 metrics.strict.pairedScore
paired mean score delta vs referencesurvival LITERAL survival-instinct root filter, literal rule; W-T-L 43-0-85; rejected-97,064 points-136,887 to -59,500128RS-20260822T233343Z-12becce9 metrics.literal.pairedScore
paired mean score delta vs referenceA900 reveal constr. reveal-construction term at threshold 900; W-T-L 99-53-104; inside its 30,957 floor3,204 pointslower -26,860256RS-20260823T131226Z-16564ed9 metrics.A900_minus_frozen

Spec: web/content/figures/screen-deltas-with-bounds.json · 8 source records

Conclusion. Multi-cycle comparison is one of the more informative open directions, but the existing implementation is neither fast nor robust enough. A successor must be cheaper by design and must not turn the one positive pilot into a tuning target.

Oracle and hindsight curricula

Idea. Let an offline teacher see the future random tape, learn what makes its actions successful, and distill that knowledge into a public policy that cannot see the future.

These diagnostics are under approaches/oracle-curriculum, including a perfect-information oracle, topology and accessible-energy residuals, DAgger, state curricula, and hindsight planning.

Evidence. The perfect-future oracle averaged more than one million points even under the historical 7,000-point score, proving valuable long-horizon structure exists in the simulator; every attempt to transfer that advantage to a public policy failed held-out label, ranking, or gameplay gates, and several apparent wins reversed on confirmation. See the experiment index.

Conclusion. The oracle is useful for measuring information and representation gaps. Future distillation should first show that its public features predict oracle preferences across whole held-out games before it is allowed to control moves.

Constructive reservoirs and complete-cycle planning

Idea. Deliberately store high numbered discs in useful ladders or reservoirs, then release them in a long chain while continuing to expose covered discs.

The experiments are collected in approaches/constructive-reservoir. They include vertical reservoirs, discrete charge/dig/release/repair options, seven- to 27-move constructive spectra, terminal vetoes, and tail-focused CEM.

Evidence. A constructive complete-cycle planner was a real improvement over D1, but inserting its signal into D4 made frequent unstable switches and reduced the fitting mean, longer horizons were not monotonically better, and the 12-move variants still failed their robustness gates. Retained numbers are in the experiment index.

Conclusion. Planning across a whole rise cycle contains information that one-ply heuristics miss. A visible reservoir shape by itself is not a reliable policy, and longer sampled rollouts are not automatically more accurate.

Conservative overrides and tail-risk objectives

Idea. Preserve a trusted search action unless a learned or simulated alternative clears a strict confidence, survival, and flow threshold.

This pattern appears in conservative fitted policy iteration, denoised-value vetoes, D4 long-outcome vetoes, structural terminal vetoes, regenerative panels, root CVaR, and tail-focused evolution.

Evidence. Conservative gates successfully prevented many weak policies from reaching protected tests, but the admitted switches were too rare, poorly calibrated, or unstable, mean-only gains often hid lower-tail damage, and the public regenerative B0 panel was statistically indistinguishable from retaining D4. See the experiment index.

Conclusion. Confidence gates are a safety mechanism, not a source of new strategic information. They become useful only after the underlying challenger can rank legal siblings on disjoint data.

Compact evidence map

FamilyBest-supported findingCurrent status
Fair expectimaxCompleted D4 materially beat D3 on the recorded comparisonStrongest known baseline; not optimal
Hand-built featuresHeight, phase, reveal flow, and build readiness are useful signalsUseful components; standalone policies rejected
N-tuple / Q-learningCompact pattern values learn something, but tested long-horizon action rankings remained weakRejected versions
Neural values and policiesFitting gains repeatedly failed under whole-game or sibling distribution shiftRejected versions
MCTS / open loopMore search improved D4 imitation, not long-outcome rankingArchitecture needs a new continuation model
Long D4/D2 rolloutOne large pilot gain showed possible multi-cycle signalSignal only; runtime and robustness failed
Oracle / hindsightFuture information has very large value, but distillation did not transfer itDiagnostic only
Constructive reservoirComplete-cycle planning beat D1, but destabilized D4Signal below the current baseline
Conservative overrideSafe fallback logic works mechanically; challenger evidence is weakKeep as protocol, not as strategy

Strategies still worth considering

The following are research directions, not claims that an untested policy will work. Each should be preregistered and compared against unchanged fair D4.

1. Resolve AFBR-40's data closure before implementing it

AFBR-40 is a working-name proposal for a state-only, action-free public afterstate model. The intended target spans roughly 40 moves, or eight row-rise cycles. Training data would be successor-closed: every training decision would need the afterstates for all legal actions rather than only the action that the behavior policy selected. Fair D4 would remain the fallback.

This is only a proposal. Work stopped before implementation, and there is no source file, frozen protocol, checkpoint, or result. There is also a known feasibility problem: the available logged panels may not contain every transition and successor needed to construct truly successor-closed training and held-out examples without opening new seeds. That must be audited first. Calling a sparse sibling panel “successor-closed” would repeat the coverage problem seen in earlier value models.

A valid next step is therefore a read-only closure inventory: define the exact afterstate key, enumerate the required legal successors for each candidate root, and report the percentage whose outcomes can be reconstructed from existing artifacts. Only a complete or explicitly bounded construction should advance to a source and protocol.

2. Make multi-cycle sibling comparison affordable

The 25-move D4/D2 rollout and the constructive H12 experiments both suggest that decisions across complete rise cycles contain useful information. A new method could use a cheaper verified continuation, batched transitions, incremental D2 evaluation, admissible early elimination, or a model trained on complete sibling panels. It should preserve common random numbers across siblings and keep the current one-game pilot out of parameter selection.

3. Accelerate completed D5 without changing its semantics

D5 has not received a sufficiently powered, runtime-admissible comparison. Incremental board evaluation, compact transposition keys, reuse across chance strata, and measured cache locality are possible engineering directions. The first milestone should be bit-equivalence with the existing D5 decision on fixtures, followed by a prospective runtime projection. A faster D5 still has to beat D4; deeper search is not assumed superior.

4. Learn a leaf from complete legal-sibling data

Many failures came from training on the behavior action and evaluating unseen alternatives later. A better corpus would record every legal action at a root, use aligned public chance samples, attach multi-cycle outcome distributions, and split by whole origin game. Before gameplay, the model should beat D4 or exact D2 in top-action accuracy, pairwise accuracy, normalized regret, and calibration on every preregistered held-out half. AFBR-40 is one possible formulation, but not the only one.

5. Replace MCTS's weak continuation, not just its budget

A continuing public policy near D4 strength, an independently validated long-value cutoff, and progressive widening or fresh event-keyed chance samples could address the diagnosed MCTS bias. The key offline test is long-outcome ranking, not agreement with D4's short-horizon Q values.

6. Treat human strategy as testable feature hypotheses

High covered discs, weak edge connectivity, and simple 3–4-wave chains are plausible human ideas. They can be converted into reflection-safe public features and tested first on preserved sibling panels. This is more informative than copying a human rule directly into the policy. A feature should advance only if it adds stable held-out action-ranking information beyond D4/D2.

7. Study objectives after establishing action quality

Survival probability, lower-tail return, reveal throughput, and catastrophic rise risk remain valuable evaluation measures. Past CVaR and tail-CEM failures show that changing the objective cannot repair a weak action model. Once a challenger ranks siblings reliably, distributional gates and conservative D4 fallback can test whether it improves both the mean and the bad-game tail.

External prior work

These sources are useful context, but none supplies a benchmark directly comparable with this repository's public-information Hardcore protocol.

Approximate Q-learning report

Erez Klein and Ben Friedmann's Drop7 Q-learning report formulates the game as an MDP and uses linear feature approximation because exact state tables are infeasible. Its reward and reported units emphasize surviving moves, and its environment and evaluation protocol are not interchangeable with this repository's corrected Hardcore score benchmark. It is useful prior work for feature-based Q-learning and for explaining the state-space problem, not a numeric baseline here.

David Walton's Sequence-mode solver

David Walton's solver source and project write-up search fixed blocks of a known Sequence-mode disc stream. The reported play reached more than five million points, including long chains and repeated board clears. It demonstrates the value of macro-scale chain planning when the future sequence is known. Sequence mode exposes a fixed future and has different rise/scoring rules, so the method and score are not evidence for a public stochastic Hardcore policy. Its block-search idea is still relevant to bounded cycle planning if future knowledge is replaced by fair chance models.

Experienced-player strategy: anecdotal

The Drop7 strategy notes by an experienced player recommend prioritizing high covered discs and watching the less-connected edge columns in Hardcore mode. The author explicitly warns that the ideas may be wrong or luck-dependent. Treat them as anecdotal hypotheses, not experimental evidence. They are valuable because they suggest small, interpretable features that can be tested without giving the policy private information.

Recommended decision standard for the next candidate

A serious successor should satisfy all of the following before any million-point claim:

  1. Use the verified rules in engine.hpp and pass native/TypeScript parity tests.
  2. Make decisions from public state only and prove deterministic reflection behavior, legal fallback, and resource bounds.
  3. Freeze the source, data manifest, model, search budget, thresholds, and seed ranges before evaluation.
  4. Compare against unchanged fair D4 on paired, disjoint whole games; report score, moves, clear/reveal flow, lower-tail outcomes, uncertainty, and censoring.
  5. Require stable improvement across preregistered halves or folds, not only a higher aggregate mean.
  6. Keep protected validation and final cohorts sealed until the candidate and its qualification rule are fixed.

The complete chronological record, including exact commands, gates, artifacts, and negative results, remains in docs/research/history.md. This catalog is the map; the history is the audit trail. The ordered, hardware-aware next program is in the research roadmap.

For a walkthrough with board animations, start at how the game works and the concepts primer; every term is defined in the glossary.