Drop7 Research
← All families

Afterstate learning

Judge the position a move leaves behind rather than the move itself — and build training data in which every column the player could have chosen has been measured, not guessed.

Every earlier learning attempt in this repository was asked, at play time, to compare boards it had never been shown. This family removes that possibility by construction: it trains one evaluator of resolved positions, and it labels every position the player could reach, not just the one that happened.

The two changes, and why they go together

Almost every learned evaluator here failed in the same way, and the failure has its own page: evaluating a board, and the sibling trap. This family is the direct response to it, and it makes exactly two changes.

Change one: value the afterstate, not the action. An afterstate is the board after your disc has landed and all the clearing and falling has finished, but before the game deals the next disc. The evaluator takes only that picture — the board, the next visible disc, and how many drops remain before the next rise — and never learns which column produced it. A model that cannot see the action cannot take a shortcut through the action: it has to judge the position.

Change two: label every sibling. The corpus is built to be successor-closed: at every harvested position, all of the legal columns are played out and labelled, under chance events that are held identical across them. At play time the evaluator is therefore always being asked about the kind of position it was trained on, and the seven columns it is comparing were measured on equal terms rather than on the luck of seven different futures.

the positionup to 7 columnsafterstate of column 1afterstate of column 2…every legal columnone evaluatornever told the columnan orderingof all of them

What is in this family

One approach, one registered theory, four preregistered experiments and four recorded results — the densest evidence trail in the repository for any recent idea.

  • Distributional afterstate ranker — the corpus builder, the evaluator, and the two questions that were actually gated: can this model replace the reference search, and can it correct the reference search where the search is least sure.

What happened, in plain English

The corpus machinery worked on the first try and kept working: every legal sibling received a label in every run, and the mechanics, legality, determinism and information-boundary checks passed before any label was looked at.

The interesting part is that the first two attempts could not deliver a verdict at all — for a reason worth understanding. To label a position you have to simulate the future, and the future is random, so the label is an average over a handful of imagined futures. With too few of them, the "best column" that the labels point to is mostly noise: split the futures in half and the two halves disagree about which column is best. There is then no trustworthy answer for a model to be graded against, and the honest verdict is inconclusive rather than pass or fail. It took 256 aligned futures per sibling before the two halves agreed well enough for the comparison to mean anything.

With a trustworthy target in hand, the result was a clean negative: the trained evaluator ranked columns clearly better than the weak policy that generated its labels, and clearly worse than the fair depth-4 search it was hoping to replace, in both fresh halves of the held-out games.

A final experiment asked a narrower and more realistic question: leave the depth-4 search in charge, and let the model overrule it only where the search itself rates its top two columns as nearly equal. That is the first preregistered, held-out test in this repository in which a learned model's intervention improved on the reference search at all — and it still missed its frozen threshold, in one of the two halves, by a small margin. The approach page explains why "the mechanism worked and the gate failed" is the honest reading of both facts at once.

Approaches in this family