Drop7 Research
โ† Concepts

Choice, chance, and looking ahead

Why a Drop7 strategy has to average over luck instead of hoping for it, what "depth" means, and why the strongest policy here is called fair D4.

Every Drop7 turn is two things glued together. First a choice: you pick one of seven columns. Then chance: the game deals the next disc (any of 1โ€“7, equally likely) and, if your move opened a gray disc, shows you a hidden number you could not have known. A strategy that asks only "which column scores the most right now?" ignores half the game.

The examples build the idea of looking ahead one piece at a time on a real position, using numbers computed by the repository's rules engine. The only "evaluation" used here is points scored, so you can check every figure by hand.

A real position

the position ยท next disc17234Seven columns, seven futuresThe player knows the next disc. What they do not know is thedisc after that, nor what is hidden under any gray disc.Each column below shows the board after the drop, and thepoints the move scores by itself. Points are the simplestpossible way to judge a move โ€” and, as the next figuresshow, judging by points alone is a trap.column 17234+7 now1 wavecolumn 27234+7 now1 wavecolumn 37234+7 now1 wavecolumn 4724+14 now1 wavecolumn 51734+7 now1 wavecolumn 637+53 now2 wavescolumn 7724+14 now1 wave
Every board and score is engine output for this exact position. The yellow number is the largest immediate score. The four ways of judging the position disagree, making the tradeoff visible.

Column 6 looks wonderful: the 1 lands on the stack, clears, the 4 underneath finds itself in a column of exactly four and clears too, and the 2 falls beside the 3 and clears as a second wave. The move earns 53 points. A player who only looks at the present takes it immediately. We will call that player greedy.

The disc you do not know yet

Now suppose you are a little more patient. You know the current disc is a 1. You do not know what comes after. But you know the odds exactly: seven possibilities, each one in seven. So for each column you could ask: after I play here, what is the best I can do with each possible next disc, and what is that worth on average?

That question is a chance node, and the average is its expected value. Here it is for the greedy move:

After column 6 (+53 now): which disc comes next?Seven possibilities, each equally likely. For each one, the best immediate reply and what it scores.next disc17reply: column 4+14next disc27reply: column 7+46next disc37reply: column 4+14next disc447reply: column 4+7next disc557reply: column 4+7next disc667reply: column 4+7next disc777reply: column 4+7Fair value of column 6 = 53 now + average of the seven best replies= 53 + (14 + 46 + 14 + 7 + 7 + 7 + 7) รท 7 = 53 + 14.6 = 67.6Optimistic (assume the best disc comes): 53 + 46 = 99 ยท Pessimistic (assume the worst): 53 + 7 = 60
After taking the 53-point chain, the board is almost empty. Whatever disc comes next, the best follow-up is small: the average of the seven best replies is only 14.6 points. The move's fair value is 53 + 14.6 = 67.6.

And here it is for a quieter move, dropping the 1 in column 1 where it simply clears on its own for 7 points and leaves the chain structure standing:

After column 1 (+7 now): which disc comes next?Seven possibilities, each equally likely. For each one, the best immediate reply and what it scores.next disc137reply: column 6+53next disc237reply: column 6+155next disc337reply: column 6+85next disc437reply: column 6+53next disc5537reply: column 6+46next disc6637reply: column 6+46next disc7737reply: column 6+46Fair value of column 1 = 7 now + average of the seven best replies= 7 + (53 + 155 + 85 + 53 + 46 + 46 + 46) รท 7 = 7 + 69.1 = 76.1Optimistic (assume the best disc comes): 7 + 155 = 162 ยท Pessimistic (assume the worst): 7 + 46 = 53
The board is unchanged except for 7 points banked. Every possible next disc has a strong follow-up. A 2, for example, starts a 155-point three-wave chain. The average reply is worth 69.1, so the move's fair value is 7 + 69.1 = 76.1. That beats the 53-point chain.

That is the whole idea of expectimax in one comparison. The greedy move banks more now; the patient move is worth more on average, because it keeps the future open. Neither number required a clever trick. They came from enumerating what chance can do.

Four ways to handle the same uncertainty

Averaging is not the only option. You could assume the best disc will come (optimistic), or the worst (pessimistic), or ignore the future altogether (greedy). On this position, these four attitudes pick three different columns:

Greedypoints right now, ignore the futureGreedy: column 1 = 71Greedy: column 2 = 72Greedy: column 3 = 73Greedy: column 4 = 144Greedy: column 5 = 75Greedy: column 6 = 53653Greedy: column 7 = 147picks column 6Optimisticassume the luckiest next discOptimistic: column 1 = 1621Optimistic: column 2 = 1622Optimistic: column 3 = 1623Optimistic: column 4 = 1694169Optimistic: column 5 = 1625Optimistic: column 6 = 996Optimistic: column 7 = 1697picks column 4Fair (expectimax)average over every next discFair (expectimax): column 1 = 76.1176.1Fair (expectimax): column 2 = 76.12Fair (expectimax): column 3 = 76.13Fair (expectimax): column 4 = 55.34Fair (expectimax): column 5 = 70.65Fair (expectimax): column 6 = 67.66Fair (expectimax): column 7 = 55.37picks column 1Pessimisticassume the unluckiest next discPessimistic: column 1 = 531Pessimistic: column 2 = 532Pessimistic: column 3 = 533Pessimistic: column 4 = 214Pessimistic: column 5 = 535Pessimistic: column 6 = 60660Pessimistic: column 7 = 217picks column 6
table view
columnGreedyOptimisticFair (expectimax)Pessimistic
1716276.153
2716276.153
3716276.153
41416955.321
5716270.653
6539967.660
71416955.321
The same seven columns valued four ways. Greedy and pessimistic both take the 53-point chain for different reasons: one ignores the future, while the other distrusts it. The optimist plays column 4 and hopes for a 3 next, a one-in-seven chance worth 155 points. The fair player chooses column 1. Columns 1, 2, and 3 are identical here, so the leftmost tied column wins.

Across the research ledger, the repository's status summary lists "fair chance handling matters" as its first durable conclusion: optimistic, worst-case, and tiny reused reveal samples ranked moves incorrectly in measured games. The optimist chases jackpots that usually do not arrive; the pessimist refuses to build anything; averaging is the attitude that survives contact with a random disc stream.

Looking further ahead: depth

Everything above looks one move ahead and then stops. Nothing prevents you from continuing: after each possible next disc, consider each column again, then each disc after that, and so on. How many moves ahead you go is the search's depth. A depth-4 search, written "D4", plays out four of its own choices interleaved with four rounds of chance before it evaluates what it sees.

The price is steep:

Positions at the bottom of a full-width tree: 7 columns ร— 7 possible next discs per ply
look 1 move ahead49look 2 moves ahead2,401look 3 moves ahead117,649look 4 moves ahead5,764,801look 5 moves ahead282,475,249bar length is logarithmic โ€” each step is 49ร— the last.gray-disc reveals add further chance branches on top of these.
Seven columns times seven next discs means every extra move ahead multiplies the tree by 49. Gray-disc reveals multiply it again. A literal depth-4 tree has millions of leaves; the measured work of the repository's depth-4 search is about 1.5 million evaluations per decision, because identical positions reached by different routes are recognised and shared (a transposition table).

Because the tree explodes, two tricks are universal:

  • Evaluate, don't finish. At the bottom of the tree the game is not over, so the search needs an opinion about how good each leaf board is. That opinion is the leaf evaluator: a hand-written scoring function in the reference policy, a learned model in many experiments. The concept page on evaluating a board is about how hard that opinion is to get right.
  • Sample the chance. When enumerating every disc and every hidden reveal is too expensive, the search looks at a fixed handful of representative outcomes per chance node. The repository calls these samples strata, usually five or seven. Fewer strata is faster and noisier.

A live tree you can search yourself

Everything above was drawn from one recorded position. The explorer below builds the same kind of tree live, in your browser, for any seeded game: the position is the MAX node, each legal column is a choice whose number is the exact average over every chance outcome of that drop, and the outcomes under the expanded column are real boards the engine produced, each with its probability and the leaf's opinion of it. Click a column to expand it, click an outcome to watch the engine play that transition and carry on from the board it leaves behind. Set "below each outcome" to one or two plies to see the values move as the search looks further.

building the treeโ€ฆ
building the tree in the browserโ€ฆ
MAX node the position; the search picks the column with the highest expected value.chance branches every exact outcome of a drop โ€” the next disc, and what any cracked gray disc turns out to be โ€” weighted by its probability.leaf the opinion of the board scorer where the look-ahead stops. Click a column to expand it; click an outcome to play that transition and continue from it.Columns are numbered 1โ€“7 from the left. Values come from the browser solver and are a demonstration, never research evidence; seed 0x5eed1001 is the same game as /play.
A live expectimax tree on a seeded game, built by the browser solver. A fair search plays the column with the highest expected value. The chance branches carry exact probabilities: one in seven for each next disc, then one in seven for each gray disc the move cracks.

Walk the tree yourself

Pick a column, then a next disc, then see every reply ranked. This is exactly the tree a depth-2 search walks, and you can verify any of the numbers above by following the same path.

the position ยท next disc is a 1
7
2
3
4
1 ยท choose a column for the 1
Every board and number here was computed in advance by the rules engine with a points-only evaluator; the explorer only lets you walk the tree.
Interactive version of the figures above. A real search does this for every column, every disc, and every reply, several levels deep, millions of times per decision.

What "fair D4" means

The repository's reference policy, fair D4, is a depth-4 search that takes the best column at every choice node, averages over chance at every chance node (no optimism, no pessimism), samples five or seven strata per chance node, and scores leaves with a hand-tuned evaluator. "Fair" also means it uses only what a real player can see. It never reads hidden gray values or the random seed.

Fair D4 is a careful, patient, slightly short-sighted player. On its broad reference cohort it averaged about 308,000 points per game over 64 games, compared with a target of one million. It is the yardstick every other idea in this repository is measured against.

Why deeper is not automatically better

The natural next question (so go to depth 5, 6, 7?) has been asked and tested. The status summary records that selective depth 5, full depth 5, and cycle-boundary variants "often spent much more work, sampled chance outcomes too noisily, or overrode good D4 actions on unstable estimates." Deeper trees need more chance samples to stay fair, and a deep search with noisy chance can talk itself out of a good move. Depth interacts with chance sampling, with the quality of the leaf evaluator, and with the work budget; it is a dial, not a ladder. The concept page on whether more computation is the answer goes through the evidence.