CFR Poker Solver
Free & Open Source

CFR Poker Solver

Build a Counterfactual Regret Minimization solver from first principles. Play against the algorithms, visualize convergence, and go from Rock-Paper-Scissors to No-Limit Hold'em.

Start Chapter 1

Curriculum

Five chapters taking you from zero to a working NLHE solver.

Chapter 1 Available

Regret Matching & Nash Equilibrium

The atomic algorithm inside every poker solver, understood through Rock-Paper-Scissors. Play against a learning bot and watch it adapt to your strategy.

Rock-Paper-Scissors Nash Equilibrium Regret Matching Exploitability
Chapter 2 Available

Kuhn Poker & CFR

Extend regret matching to sequential games with hidden information. Play Kuhn Poker against Nash Equilibrium and build a full CFR solver.

Kuhn Poker Game Trees Information Sets CFR
Chapter 3 Available

Leduc Poker & Multi-Street CFR

Community cards, multiple betting rounds, and the emergence of semibluffing. Play against a Nash bot and explore equilibrium strategies.

Leduc Poker Multi-Street Chance Nodes Semibluffing
Chapter 4 Coming Soon

Abstraction for Real Poker

Card bucketing, action abstraction, and the engineering tricks that make solving NLHE tractable.

Card Abstraction Action Abstraction Bucketing
Chapter 5 Coming Soon

Building the NLHE Solver

Putting it all together: CFR+ and Monte Carlo CFR applied to real No-Limit Hold'em subgames.

CFR+ MCCFR NLHE

What You'll Learn

Theory

Nash Equilibrium, the Minimax Theorem, regret minimization, and convergence guarantees with full proofs and citations.

Implementation

Working Python code at every step. Each chapter includes a companion script you can run and modify.

Interactive Demos

Play against the algorithms yourself, visualize convergence, and explore equilibrium strategies in your browser.

Poker Applications

Understand exactly how tools like PIOsolver work under the hood, from regret matching to full NLHE solving.

Who This Is For

This course sits at the intersection of game theory, algorithms, and poker. You'll get the most out of it if you have:

1

Basic programming skills

Python experience helps for the companion code, but the interactive demos work with no setup.

2

Comfort with probability

Expected value, probability distributions, and basic linear algebra. Nothing beyond undergraduate level.

3

Curiosity about poker or game theory

Whether you're a poker player wanting to understand solvers, a CS student studying game theory, or just curious how AI plays poker — this course is for you.