Inspiration

House Edge scores our probabilities against the simulator's hidden true odds, so luck can't decide the result. We asked what the simulator is doing underneath, instead of adding a bigger black box.

What we built

For each machine we predict $p=(p_0,p_1,p_2,p_5,p_{20})$ from history before the cutoff. We replaced boosted models (~39/60) with exact Bayesian inference over the simulator's rules: which lagged payouts matter, their direction, and when flips happen. Flip evidence is pooled across the episode, the payout table is inferred, and a small logit correction handles residuals.

Results (cross-validated on validation, not test)

  • Main: about 58.9/60.
  • Adaptation: about 19.7/20. The rules changed (lag pairs moved from (1,3), (2,5), (4,7) to (1,4), (2,6), (3,8)). The main model run unchanged scored only 7.73/20, but the same pipeline rediscovered the new rules from the new data in about 11 minutes, with no hand-tuning.

Learned

Finding the generating structure beat adding capacity. We kept whole episodes together and used leave-one-episode-out scoring and held-out halves to check for overfitting.

Challenges

Hidden state, sparse short histories, missing ticks (unknown, not zero), and packaging for an offline runner. Round two had a 90-minute window, so refitting is automatic and a family_check flags a changed rule family.

Built With

Share this project:

Updates

Submission history