HunterMatrix plays heads-up 5-card Pot Limit Omaha on a 36-card short deck (six through ace). It is an HTTP bot: a match judge deals the hand, and the bot answers with fold, check/call, half-pot, or pot.

Most bots in this format either play a fixed chart or bet on raw hand strength. HunterMatrix treats the opponent as a range that changes during the hand. On each street it samples opponent holdings and board runouts, scores them with a precomputed hand table, then reweights that range from the actions this opponent actually took. Showdowns update the model: a player who bets the nuts and a player who bets anything stop looking the same. It also tracks how often this opponent folds and re-raises, then picks the action with the highest expected value in chips, including equity still to come and the cost of checking into a bet.

The hot path is a NumPy lookup table. Any 5-card Omaha hand is the best of its hole pairs plus board triples, so one table lets the bot score thousands of range matchups without resimulating the deck. Parameters in brain/data/params.json set priors for strength, fold frequency, and aggression. A time budget keeps decisions inside the match clock: if the bank runs low, the bot shrinks the sample and falls back to the tables instead of timing out. If the strategy throws, a safety shell returns a legal action so five errors cannot forfeit the match.

Built With

Share this project:

Updates

Submission history