Hidden-Information Game Lab
Does this extend beyond poker? The solver stack runs on a generic extensive-form Game interface — every game below is implemented against it, solved by the SAME CFR implementation, and verified by exact exploitability.
| game | states | infosets | terminals | CFR iterations | exact exploitability | train time |
|---|---|---|---|---|---|---|
| Kuhn poker | 55 | 12 | 30 | 10,000 | 0.001486 | 1.27s |
| Leduc poker | 9,451 | 288 | 5,520 | 1,500 | 0.012643 | 35.21s |
| Sealed-bid auction duel | 118 | 6 | 81 | 5,000 | 0.000028 | 1s |
Kuhn poker
Three cards, one betting round — the smallest game that forces bluffing and mixed strategies. Teaches: why equilibria randomize.
Leduc poker
Six cards, two betting rounds, a public board card — a standard mid-size research benchmark. Teaches: public information updating private beliefs.
Sealed-bid auction duel
Each player privately values an item, then bids blind. Zero-sum duel form (payoff = your surplus minus theirs; ties award nobody) — deliberately NOT the classic general-sum first-price auction. Teaches: hidden private values outside poker entirely.
The CFR equilibrium (exploitability 0.000028): bids shade BELOW value, and higher private values never bid less — classic hidden-information behavior, learned, not programmed:
| private value | equilibrium bid mix |
|---|---|
| value 0 | bid 0: 100% |
| value 1 | bid 1: 100% |
| value 2 | bid 1: 100% |
Poker is the flagship, not the limit
PokerAlpha began with poker because it concentrates hidden information, bluffing, randomized strategies and adaptation into one measurable setting. The research infrastructure — the Game interface, the CFR family, exact evaluation, the agent tournament harness — applies to other SMALL imperfect-information games like the ones above. No claim is made about arbitrary real-world decisions.
Define a new game: subclass poker_alpha.games.base.Game (~60 lines for the auction duel, tests included) and every solver, evaluator and tournament tool works on it unchanged. Read the auction implementation