Inspiration

Short Deck 5-Card PLO turns normal poker upside down: the deck has 36 cards, a flush beats a full house, and every hand must use exactly two hole cards. The bot also gets only 8 seconds of thinking time for 1,000 hands. We wanted to see how strong a bot could get under those limits.

What it does

Our estimates its chances with fast Monte Carlo simulation and reads its opponent as the match goes. It narrows the opponent’s likely hands based on how they bet, and labels them.

How we built it

We used Python and numpy on the provided server, with a precomputed preflop table and a vectorized equity engine. To test it, we built an adversarial lab of over 70 opponent bots. This build was AI assisted using Claude.

Challenges we ran into

Speed: about 2 to 4 ms per decision in Python. Overfitting: two ideas that looked great in testing failed on fresh seeds. Small edges: a real improvement can be hidden inside poker’s variance.

Accomplishments that we're proud of

Speed: it uses only about 2 to 3 seconds of its 8-second time bank per 1,000 hands. Steady improvement: our final version beat our previous one on every test seed through the real judge.

What we learned

Most “improvements” aren’t: we rejected four of the seven ideas we tested in the last round. Fresh test data and opponents you never tuned on are the only honest check.

What's next for Heads Up Submission

We want to test against stronger opponents.

Built With

Share this project:

Updates

Submission history