kuhn-poker
Table of Contents
- Overview
- Game Rules
- Game Tree Structure
- Information Sets
- Nash Equilibrium
- Why Kuhn Poker Matters
- CFR Results
- Sources
Overview
Kuhn Poker is a simplified form of poker developed by mathematician Harold W. Kuhn as a tractable model for studying zero-sum two-player imperfect-information games. Despite its simplicity, it captures essential poker dynamics including bluffing, slow-playing, and strategic deception.
Classification: Two-player, zero-sum, finite game with imperfect information and chance moves.
Game Rules
Setup
- Deck: 3 cards (King > Queen > Jack)
- Players: 2
- Ante: Each player antes 1 chip
Deal
One card dealt to each player (hidden from opponent). One card remains unseen.
Betting Round
Player 1 acts first:
- Check (pass): No additional bet
- Bet: Add 1 chip to pot
Player 2 responds:
- If Player 1 checked:
- Check: Showdown
- Bet: Add 1 chip
- If Player 1 bet:
- Fold: Player 1 wins pot
- Call: Add 1 chip, showdown
If Player 2 bet after Player 1 check:
- Player 1 can Fold or Call
Showdown
Higher card wins the pot.
Payoff Structure
| Sequence | Winner | P1 Payoff | P2 Payoff |
|---|---|---|---|
| Check-Check | Higher card | +1 or -1 | -1 or +1 |
| Check-Bet-Fold | P2 | -1 | +1 |
| Check-Bet-Call | Higher card | +2 or -2 | -2 or +2 |
| Bet-Fold | P1 | +1 | -1 |
| Bet-Call | Higher card | +2 or -2 | -2 or +2 |
Game Tree Structure
[Chance: Deal Cards] | /--------------+--------------\ / | \ P1:J P1:Q P1:K | | | /-----\ /-----\ /-----\ Check Bet Check Bet Check Bet | | | | | | P2:? P2:? P2:? P2:? P2:? P2:? | | | | | | /---\ /---\ /---\ /---\ /---\ /---\ C B F C C B F C C B F C | | | | | | | | | | | | SD P1 +1 SD SD P1 +1 SD SD P1 +1 SD | | | /---\ /---\ /---\ F C F C F C | | | | | | -1 SD -1 SD -1 SDLegend: C=Check, B=Bet, F=Fold, SD=Showdown
Information Sets
An information set contains all game states indistinguishable to a player. In Kuhn Poker:
Player 1 Information Sets (6 total):
| Info Set | Player 1 Knows | Possible P2 Cards |
|---|---|---|
| J | Has Jack, no bets yet | Q or K |
| Q | Has Queen, no bets yet | J or K |
| K | Has King, no bets yet | J or Q |
| J-cb | Has Jack, checked, P2 bet | Q or K |
| Q-cb | Has Queen, checked, P2 bet | J or K |
| K-cb | Has King, checked, P2 bet | J or Q |
Player 2 Information Sets (6 total):
| Info Set | Player 2 Knows | Possible P1 Cards |
|---|---|---|
| J-c | Has Jack, P1 checked | Q or K |
| Q-c | Has Queen, P1 checked | J or K |
| K-c | Has King, P1 checked | J or Q |
| J-b | Has Jack, P1 bet | Q or K |
| Q-b | Has Queen, P1 bet | J or K |
| K-b | Has King, P1 bet | J or Q |
Total: 12 information sets in the game.
Nash Equilibrium
Game Value
At Nash equilibrium, Player 1 expects to lose -1/18 per hand (≈ -0.0556).
This means Player 2 has a slight positional advantage from acting second.
Equilibrium Properties
Kuhn Poker has infinitely many Nash equilibria, but all share the same game value of -1/18.
There is no pure strategy equilibrium - optimal play requires randomization (mixed strategies).
Equilibrium Strategy Ranges
Player 1 with Jack (weakest card):
- First action: Check ~79%, Bet ~21%
- After Check-Bet: Always Fold
The ~21% betting with Jack is a bluff - betting with a weak hand to potentially win without showdown.
Player 1 with King (strongest card):
- First action: Mix of Check and Bet
- After Check-Bet: Always Call
Checking with King is slow-playing - concealing strength to extract value later.
Player 1 with Queen (middle card):
- First action: Always Check (betting dominated)
- After Check-Bet: Mix of Fold and Call
Queen plays depend heavily on opponent tendencies.
Why Mixed Strategies?
Pure strategies are exploitable. If Player 1 never bluffs with Jack:
- Player 2 can always fold to bets, never losing extra chips to bluffs
If Player 1 always bluffs with Jack:
- Player 2 can always call bets, catching every bluff
The equilibrium mix makes Player 2 indifferent to calling/folding against P1’s bets, preventing exploitation.
Why Kuhn Poker Matters
1. Tractable Yet Non-Trivial
With only 12 information sets, the game is small enough for:
- Complete analytical solution
- Rapid algorithm testing
- Educational understanding
Yet rich enough to exhibit:
- Bluffing as emergent optimal behavior
- Mixed strategy equilibria
- Positional advantage
2. Algorithm Benchmarking
Kuhn Poker is the canonical benchmark for testing:
- CFR convergence rates
- MCCFR variant performance
- New equilibrium-finding algorithms
Performance comparison (iterations to ε-equilibrium):
| Algorithm | Relative Speed |
|---|---|
| DCFR | Fastest |
| CFR+ | Fast |
| RCFR | Medium |
| Vanilla CFR | Slow |
| FSP | Slower |
3. Extensibility
Variants allow controlled complexity increases:
- Leduc Poker: 6-card deck, 2 betting rounds
- 3-player Kuhn: Multiplayer dynamics
- Larger decks: More cards increase state space
4. Theoretical Foundation
Results on Kuhn Poker often generalize to larger games, making it ideal for:
- Proving algorithmic properties
- Testing convergence bounds
- Validating implementation correctness
CFR Results
Convergence Example
Running vanilla CFR for 100,000 iterations yields:
- Game value: ≈ -0.0554 (actual: -1/18 ≈ -0.0556)
- Error: < 0.04%
Sample Equilibrium Strategy
After CFR training, Player 1’s strategy approximates:
| Card | Check | Bet |
|---|---|---|
| Jack | 0.79 | 0.21 |
| Queen | 1.00 | 0.00 |
| King | 0.67 | 0.33 |
Facing Check-Bet:
| Card | Fold | Call |
|---|---|---|
| Jack | 1.00 | 0.00 |
| Queen | 0.67 | 0.33 |
| King | 0.00 | 1.00 |
Exploitability Metrics
CFR variants on Kuhn Poker achieve very low exploitability:
| Algorithm | Exploitability (after 10K iterations) |
|---|---|
| DCFR | ~0.0001 |
| CFR+ | ~0.001 |
| Vanilla CFR | ~0.01 |
Sources
- Kuhn Poker - Wikipedia
- CFR on Kuhn Poker - labml.ai
- Vanilla CFR for Engineers
- Kuhn Poker - Grokipedia
- GitHub: Kuhn Poker CFR
- Kuhn, H.W. (1950) - “A Simplified Two-Person Poker”