CFR Poker

CFR Poker Screenshot

This post is months overdue at this point, but I figure late is better than never! Back in May, I did a project and presentation as part of the ML Summer School 2025 at Northeastern University. Specifically, I created a variation of Poker (which I deem “Pocket Poker”) and then utilized Counterfactual Regret Minimization (CFR) to train a playable opponent bot.

CFR is essentially a self-play algorithm which iteratively minimizes average overall “regret” for both players used in training. In doing so, CFR uncovers a strategy which is guaranteed to converge to a Nash equilibirum – the ultimate defensive strategy that cannot be beaten in expectation.

You can check out my brief presentation slides here, or play against my bot here!

Pocket Poker Rules

  • 20 card deck (4 suits of 10,J,Q,K,A)
  • 2 hole cards dealt to each player
  • 1 shared community card
  • 1 chip mandatory blind bet
  • 1 round of fixed betting
  • If no player folds, go to showdown and compare hands
  • Hand ranking:
    • Three-of-a-kind
    • Pair
    • High card

Resources

Harris Bubalo Profile Image
 

harris bubalo

Graduate student at the intersection of all things math, computers, and data.


A project on Counterfactual Regret Minimization I did during an ML summer program

2025-09-11