A Toy Game Experiment on River Range Composition That I Can't Explain
I've been running a series of toy game experiments, and I've come across a result that seems to contradict my intuition about MDF and river equilibrium. I'm hoping someone with a stronger game theory background can explain what's happening.
Toy game setup
**Board:** 2♦ 2♣ 2♥ 2♠ 3x (effectively 22223)
**Pot:** 100
**Effective stack:** 250
**Street:** River
Both the flop and turn have already gone check-check.
Ranges
Both players start with exactly the same range: 11 pocket pairs from 44-AA
Bet sizes
- B10
- B33
- B75
- B100
- B150
- B250 (Jam)
The experiments below only concern the line where OOP checks, IP bets, and OOP responds.
---
Original equilibrium
OOP's checking range
Total checking range:
- **37.2 weighted combos**
Composition:
- QQ+: **6.265 combos**
- 44-99: **30.96 combos**
Observations:
- Strong hands account for only about 20% of OOP's checking range.
- Before checking, OOP has 50% equity.
- After checking, his range equity drops to roughly 39%.
---
IP's response to the check
IP checks roughly half of his range and only uses two betting sizes: B75 & B150
Range construction:
Checking: 66-JJ
Betting: QQ+
More specifically:
- QQ: pure B75
- KK: mixes between B75 (preferred) and B150
- AA: mixes between B75 and B150
Bluffs:
44-55 are used as bluffs and balanced appropriately.
---
OOP's response versus B75
QQ+: continue naturally
44-55: pure fold
66-99: These four bluff catchers **all mix between calling and folding at roughly 50% each**.
So the defense is **distributed across the entire bluff-catching region**, not concentrated at the top.
---
Experiment 1
I wanted to test whether this mixing actually matters.
So I node-locked OOP.
Instead of mixing every pair: 66-99 at about 50% each, I forced him to play a "top-up" strategy:
- 66: fold 100%
- 77: fold 100%
- 88: call ~100%
- 99: call 100%
Everything else stayed identical:
- QQ+ strategy unchanged
- overall defense frequency unchanged
The weighted calling combos are identical.
---
Result
IP completely changes strategy.
Originally:
- checks about 50%
- uses B75
- uses B150
After the node lock:
- checks about 34%
- uses B75
- jams
- B150 disappears
Value construction changes dramatically.
Originally:
- TT-JJ checked
- QQ+ value bet
Now:
- TT-KK all become pure B75 value bets
- AA jams
OOP loses roughly **4 bb** in EV.
This already surprised me because the overall defense frequency stayed the same.
---
Experiment 2
I then wanted to understand the follow-up node.
So I locked IP to this new betting strategy.
Against B75, OOP's equilibrium response was:
Value:
- KK-AA shove
Bluffs:
55-99
Each bluff hand mixes around 8%.
Against the shove, IP:
- calls roughly 37%
- folds roughly 63%
Specifically:
- KK pure calls
- TT-JJ mix
- 44 pure folds
---
Experiment 3
Now I repeated the same type of node lock.
Instead of bluff-shoving with all five pairs 55-99, I forced OOP to bluff only with the top of that bluff region.
First:
99 only
Later:
88 and 99 only
Importantly:
**The total weighted bluffing combos remained exactly identical.**
Original shove range:
55 = 0.39
66 = 0.39
77 = 0.44
88 = 0.44
99 = 0.44
Total bluffs = **2.10 combos**
Node-locked:
99 = **2.10 combos**
Total bluffs = **2.10 combos**
Value region stayed identical:
KK = 2.17
AA = 2.934
So the shove ranges become:
Original
Bluffs:
55
66
77
88
99
Value:
KK
AA
versus
Node-locked
Bluffs:
99
Value:
KK
AA
The weighted combos are exactly the same.
Only the **raw composition** changes.
---
Result
IP now folds around 80% and only calls KK.
TT and JJ become pure folds.
Repeating the experiment with bluffs spread across only 88 and 99 produces essentially the same defense strategy.
---
EVs
IP EV before facing the shove:
Original: 67.6638
99-only: 67.6663
88+99: 67.6662
---
After facing the shove:
Original: 14.6079
99-only: 14.4954
88+99: 14.5955
---
Why I'm confused
My understanding of river theory is:
If
- value combos stay identical,
- bluff combos stay identical,
- sizing stays identical,
then the optimal defense frequency should depend only on the bluff:value ratio.
The shove ranges are:
Original
Bluffs = 2.10 combos
Value = 5.104 combos
Node-locked
Bluffs = 2.10 combos
Value = 5.104 combos
The only difference is that the bluffs are concentrated into one (or two) hand classes instead of being spread across five.
Yet IP suddenly overfolds and TT/JJ disappear from the calling range.
I don't understand why the **raw composition alone** would matter if the weighted ranges are mathematically identical.
---
My questions
1. Is there a game-theoretic reason why concentrating the bluff support changes the equilibrium despite identical weighted bluff/value ratios?
2. Is this related to equilibrium support and indifference conditions rather than MDF?
3. Does raw combo distribution carry strategic information that weighted combos do not?
4. Or is this simply a solver artifact (tie-breaking, node-lock implementation, numerical tolerance, etc.)?
I'd really appreciate any explanation. At this point I'm less interested in the specific toy game and more interested in understanding the underlying game-theoretic principle, if there is one.
2 Replies
Nice to see some solver experiments in here!
In experiment 1, you inadvertently introduced small changes into OOP's strategy facing B75. Perhaps turning some of their 66-99 bluff raises into calls, incentivizing IP to bet more thin value. The 4bb EV drop you see is just a byproduct of measuring at the wrong node. You're measuring facing the bet, rather than EV at the root node.
Experiment 2 and 3 are likely similar types of user error.






