Weighting the worst outcomes at the root
Instead of judging a column by its average outcome, judge it partly by its worst outcomes, and find that the resulting policy dies much sooner.
When the game ends the first time you go broke, the average payout is the wrong thing to maximise; you also have to care about the bad tail.
On this page
The problem
Drop7 scores are heavy-tailed and every game ends. A policy that maximises the average can be buying a big average with a small chance of dying at once, and dying at once costs everything that would have come after. So it is natural to ask the search to be a little afraid, and to value a column by more than the plain average over the futures it examines. What had never been measured is what happens to the reference search when it is asked to be afraid in a fixed, declared way.
Proposed solution
Replace the average at the root with a blend of the average and the worst outcomes. The statistician's name for "the average of the worst slice" is conditional value at risk; this experiment used the worst 25%. With seven sampled outcomes that slice gives full weight to the worst outcome and three-quarters weight to the second worst, then divides by the 1.75 outcomes of tail mass. The blend was fixed at three parts average to one part worst slice before any game was played, and neither the coefficient nor the scenario count was retuned afterwards.
The bet has an obvious way to fail. Being afraid of the worst sampled future is also being afraid of building anything, because chain structure is fragile in the moves before it fires, and a player who never builds clears less.
Everything the search reads is public. Each of the seven scenarios is constructed from a hash of the canonical visible position, and no later decision sees a scenario tape, the game's seed, the score, the level or the move count.
How it works
- At the root, take every legal column.
- For each, construct exactly seven scenarios from a hash of the public position. A scenario fixes only the immediate chance outcome: the next disc and any reveal.
- Once that outcome is on the board it is observable, so from there the unchanged fair search completes two more of the player's moves with the normal five chance samples at every chance point.
- Combine the seven scenario values as
0.75 × mean + 0.25 × worst-25%in place of the plain mean. - Play the column with the best blended value. The output at every position is one column.
What happened
On the eight fresh games of its screen, the cautious policy lost 89,707.75 points and 52.625 moves per game to the unchanged fair depth-3 search, and won one game of the eight on each measure (rejected, ledger-recorded, ledger section "Fair root CVaR ablation"; historical 7,000-point scoring, archival).
The flow numbers say the same thing from the other side. Clears per move, reveals per move and the average longest chain all fell, which is what a player that stops assembling anything looks like. The policy switched away from the ordinary fair recommendation on 28.25% of its trajectory decisions, so the change in behaviour was real rather than a rounding difference. Both admission means had to improve before the confirmation cohort could open; both regressed, and it was never read.
What we learned
What is rejected is exact: a fixed 75/25 blend of mean and worst-25%, applied at the root only, over seven immediate-outcome scenarios, on top of the depth-3 fair search. Eight games is a screen and cannot resolve a small effect, but this effect was large, it went the same way on both admission measures, and it is legible in the flow numbers, so the configuration is closed.
What the run does not settle is whether the reference search is already cautious in a way nobody chose. An audit of that search points out that its penalty for a modelled game over is a flat −1,000,000, which the audit prices at 58.82 row rises of survival (audit 02, H2). One modelled death among five samples therefore swamps the differences between the options that survive, so the search minimises modelled death probability first and maximises the board evaluation second. If that reading holds, adding explicit downside weighting on top was pushing an already-cautious search further in the direction it was leaning. The open question is what that one constant should be, and calibrating it has not been run.
Agent contextRecords and provenance
Records: experiment index row "Root CVaR", rejected, ledger-recorded, "score, survival, and flow all regressed"; ledger section "Fair root CVaR ablation".
Fresh screen cohort 0x3e9d0000...007, eight games; confirmation cohort
0x3e9e0000...00f, not read. The comparator is the confirmed fair depth-3 search
with five chance samples. The single preregistered root utility is
0.75 * mean + 0.25 * CVaR25.
Agent contextFull results table
Eight-game fresh screen, historical 7,000-point Sequence scoring, archival:
| Arm | Mean score | Mean moves | Clears / move | Reveals / move | Mean max chain |
|---|---|---|---|---|---|
| Fair depth 3 (reference) | 176,819.75 | 114.125 | 2.043 | 1.141 | 7.875 |
| Root risk blend | 87,112 | 61.5 | 1.730 | 0.945 | 5.125 |
Paired change −89,707.75 points and −52.625 moves; one win and seven losses on both measures; neither cohort censored. The policy switched away from the local fair recommendation on 28.25% of trajectory decisions. Policy work 53,423 units per move against 55,674 for the reference; the optional switch audit added another 50,333 units per move and is not part of the deployable policy. Peak resident memory 3,948,544 bytes; 30.7 wall seconds.
Agent contextValidity, gates and limitations
The admission gate required both means to improve. Both regressed by a wide
margin, so 0x3e9e0000...00f was not read, and the coefficient and scenario
count were left as preregistered. Eight games is a screen: it can catch a
regression this size and it certifies nothing about a small one.
Verification: strict -Werror, ASan/UBSan, frozen fair-search parity,
deterministic scenario values, fractional-tail arithmetic, reflection, metadata
blindness, game-seed exclusion, legality, and resource-bound tests all passed.
The audit 02 H2 arithmetic behind the open
question: terminalUtility is −1,000,000, equal to 58.82 row rises, 294.1 moves
of survival, and 3.24× the entire 64-game mean of 308,295.578 recorded for the
reference search.
Agent contextScoring mode
The screen ran under historical 7,000-point Sequence scoring, archival, so its absolute point totals are not corrected 17,000-point Hardcore evidence and are not compared with corrected figures elsewhere on this site. Both admission means regressed in the same direction, so this is one of the ledger rejections that a rescoring to corrected Hardcore rules would strengthen rather than reverse: audit 03 checked every 7,000-point paired comparison for a sign change and found only two, and this is not one of them.
RecordsTheories, experiments and results that reference this directory
Claim: A numbered disc of value n whose column already holds more than n discs and whose horizontal run already exceeds n (an 'entombed' disc; for n >= 3 unpriced by the frozen fair leaf, which has such terms only for 1s and 2s) is an early predictor of death for the fair depth-4 policy: it is present at most deaths, it typically appears well outside the four-ply horizon (more than two rises before death), and it carries lifetime information beyond the eighteen leaf features and occupancy.
This theory is currently not-supported-as-tested at the mechanics-only (checks only, no games played) level.
Claim: Survival instinct: when the next disc (value n >= 3) would land as the (n+1)-th or higher disc of a column it can never clear vertically, and refusing such placements at the root of the fair depth-4 search — leaving the search to choose among the remaining legal columns — extends mean paired lifetime and score on fresh development games relative to the unchanged search, by more than a 128-game paired cohort's detection floor.
This theory is currently mixed at the public-development (a cohort for deciding what to try next, not confirmation) level.
Agent contextSource files, operational notes and how to reproduce
Directory: approaches/fair-expectimax/root-risk