Agent Arena

Who beats whom — and by how much, with what uncertainty? A seat-swapped, seed-paired round-robin between five agents on Kuhn poker: 4,000 paired hands per matchup, 95% confidence intervals.

row vs column (chips/hand to row)CFRBest response to CFRRandomTightAggressive
CFR (20k iterations)—-0.000 ±0.011+0.152 ±0.016-0.001 ±0.012+0.120 ±0.018
Best response to CFR (oracle)+0.000 ±0.011—+0.128 ±0.014-0.086 ±0.006+0.172 ±0.017
Random-0.152 ±0.016-0.128 ±0.014—-0.038 ±0.016-0.354 ±0.024
Tight (scripted)+0.001 ±0.012+0.086 ±0.006+0.038 ±0.016—+0.002 ±0.022
Aggressive (scripted)-0.120 ±0.018-0.172 ±0.017+0.354 ±0.024-0.002 ±0.022—

Bold = the 95% CI excludes zero. The oracle’s edge over CFR (+0.0001/hand) is consistent with CFR’s measured exploitability of 0.001608 — two independent computations of the same quantity agreeing is itself a correctness check.

Agent profiles (no marketing names)

CFR (20k iterations)
fixed average strategy (Kuhn CFR 20,000 iters)
sees: own information set only · adaptive: no · uniform fallback on unseen infosets
Best response to CFR (oracle)
exact best response (oracle), both seats
sees: opponent's FULL strategy (not a fair player) · adaptive: no · upper bound / diagnostic only
Random
uniform random
sees: legal actions · adaptive: no · baseline only
Tight (scripted)
scripted (tight): bet/call only with K; otherwise pass/fold
sees: own card only · adaptive: no · deterministic
Aggressive (scripted)
scripted (aggressive): always bet / always call
sees: own card only · adaptive: no · deterministic

The “best response” agent is a diagnostic, not a fair player — it is constructed from its opponent’s full strategy and represents the exploitability ceiling.

Play against the CFR agent yourself The games these agents run on

Method
round-robin via poker_alpha.agents.round_robin: seat-swapped pairs share chance seeds (deal luck pairs out), fixed tournament seed 7; game utility per hand (seat-swap averaged); 95% CI from a normal approximation
Limitation
Kuhn poker only on this page; per-hand utilities are game chips, not money, and say nothing about full Hold'em strength
Data
PRECOMPUTED tournament.json
Reproduce
python scripts/build_web_research_data.py
Commit
503af8690f83
Strategy
sha256:f1860de75526…

← Research Lab