先生、「リバーはハーフポットならバリュー3:ブラフ1」って覚えたんですけど、なんで3:1なんですか?
いい質問! それはものすごく単純にしたポーカーを解くと出てくる数字なんだ。今日はそのおもちゃのゲームを、式で最後まで解いてみよう。ソルバー(GTO を計算するソフト)がなくても、紙と電卓で均衡が出せるよ。
式で全部出せるなら、丸暗記しなくてよさそうですね。
ゲームのルール(前提)
本物のポーカーは複雑すぎるので、リバー(5枚目の共通カードが出たあと、最後のベットラウンド)の1場面だけを取り出し、次のように単純化します。この前提の外では結論がそのまま使えないので、まず前提をはっきりさせます。
リバーの1回ベットゲーム
- ポット(場に出ているチップの合計)は P。2人とも手元のチップは十分にある
- 先に行動する側(OOP:アウトオブポジション)は必ずチェックする
- あとから行動する側(IP:インポジション)が、ベット(額 B) か チェック を選ぶ
- IP のレンジ(ありうる手の集まり)は、割合 v が ナッツ(必ず勝つ手)、残り 1 − v が エア(必ず負ける手)
- OOP の手は ブラフキャッチャー だけ(IP のナッツには負け、エアには勝つ手)
- IP がベットしたら、OOP は コール か フォールド(降りる)。レイズはない
- IP がチェックしたらそのままショーダウン(手を見せ合う)。ナッツなら IP がポットを取り、エアなら OOP が取る
たとえばボードが K♠9♥6♥2♣3♦ で、OOP が K♣T♣(トップペア)を持っている場面を想像してください。IP のレンジには 9♠9♦ のようなセット(強い手)と、Q♥J♥ のように♥がそろわなかったフラッシュドロー(はずれた手)がある、という状況です。このモデルでは、強い手を「ナッツ」、はずれた手を「エア」とまとめて扱います。
IP のレンジは「とても強い」か「とても弱い」の両極端に分かれています。これを ポラライズ(両極化) したレンジといいます。
期待値(EV:平均してどれだけチップを得るか)は、ポット P も含めて「最終的に手に入るチップ − このラウンドで出したチップ」 で数えます。こう数えると、2人の期待値の合計はいつも P になります。
均衡を求める考え方:相手を「無差別」にする
均衡(ナッシュ均衡)とは、どちらも自分だけ戦略を変えても得をしない状態です。このゲームでは次の2つが同時に成り立つところが均衡になります。
- IP のブラフが多すぎず少なすぎず、OOP にとって コールしてもフォールドしても同じ損得(無差別)
- OOP のコールが多すぎず少なすぎず、IP のエアにとって ブラフしてもチェックしても同じ損得
どうして「同じ損得」にしないといけないんですか?
もし OOP にとってコールのほうが得なら、OOP は毎回コールするよね。そうなると IP はブラフをやめる。ブラフがなくなれば今度は OOP は毎回フォールドしたい…と、ずっと動き続けてしまう。どちらも動く理由がなくなる点が「同じ損得」の点なんだ。
その前に、ナッツは必ずベットすると決めておきます。ナッツはベットすれば、相手がフォールドしてもポット P は取れ、コールされれば P + B を取れます。チェックすると P しか取れないので、ベットのほうが損をすることはありません。
ステップ1:ブラフの割合(OOP を無差別にする)
IP がベットしたとき、そのベットがブラフである確率を q とします。OOP がコールしたときの損得を、フォールド(損得 0)と比べます。
- ブラフだった(確率 q):OOP は P + B を手に入れる(もともとのポットと IP のベット)
- ナッツだった(確率 1 − q):OOP はコールした B を失う
コールの EV = q ×(P + B)−(1 − q)× B = q ×(P + 2B)− B
これを 0 にすると q = B ÷(P + 2B)
これはポットオッズ(コールに必要な勝率)と同じ式です。ハーフポット(B = P/2)なら 0.5P ÷ 2P = 25%(バリュー3:ブラフ1)、ポットサイズ(B = P)なら P ÷ 3P = 33.3%(2:1)になります。冒頭の「3:1」はここから出ていました。
ステップ2:ブラフする量
IP はナッツ(レンジ全体の v)を全部ベットします。エアのうちブラフする量(レンジ全体に対する割合)を b とすると、ベット範囲のブラフの割合は b ÷(v + b)です。これをステップ1の q と等しくします。
b ÷(v + b)= B ÷(P + 2B)
両辺に分母を掛けて:b ×(P + 2B)= B ×(v + b)
整理して:b ×(P + B)= v × B
b = v × B ÷(P + B)
つまり、ナッツ1に対してブラフは B ÷(P + B)。この B ÷(P + B)はアルファ(ブラフが損益ゼロになる相手のフォールド率)と同じ式です。残りのエア(1 − v − b)はチェックして、ショーダウンで負けます。
なお、ブラフに回すエアが足りること(b ≦ 1 − v)が必要です。B ÷(P + B)は1より小さいので、ナッツが半分以下(v ≦ 50%)なら、どんなベット額でも足ります。
ステップ3:コール頻度(IP のエアを無差別にする)
OOP のコール頻度を c とします。IP のエアがブラフしたときの損得を、チェック(必ず負けるので損得 0)と比べます。
ブラフの EV =(1 − c)× P − c × B
これを 0 にすると c = P ÷(P + B)
これは MDF(ブラフに対して最低限守るコールの割合)とぴったり一致します。ハーフポットなら 66.7%、ポットサイズなら 50% です。
均衡の期待値を計算する
均衡では IP のブラフの EV もチェックしたエアの EV も 0 なので、IP の期待値はナッツの分だけです。
ナッツの EV = P + c × B = P + P × B ÷(P + B)= P ×(P + 2B)÷(P + B)
IP の EV = v × P ×(P + 2B)÷(P + B)
OOP の EV = P − IP の EV
OOP の EV は別の方法でも確かめられます。均衡では OOP はコールしてもフォールドしても同じなので、「ベットされたら必ずフォールドする」として数えてかまいません。すると OOP がチップを取れるのは、IP がエアでチェックしたときだけです。
OOP の EV =(1 − v − b)× P
v + b = v ×(P + 2B)÷(P + B)なので、これは P − IP の EV と同じ式になります。
数値で検算(P = 100、ナッツ50%・エア50%)
B = 100(ポットサイズ)の場合
- ブラフの割合 = 100 ÷ 300 = 33.3%
- ブラフする量 b = 0.5 × 100 ÷ 200 = 0.25(レンジの25%)
- ベット範囲 = 50% + 25% = 75%、うちブラフ = 25 ÷ 75 = 33.3%(ステップ1と一致)
- コール頻度 c = 100 ÷ 200 = 50%
- IP の EV = ナッツ 0.5 ×(100 + 0.5 × 100)+ ブラフ 0.25 ×(0.5 × 100 − 0.5 × 100)+ チェック 0 = 75 + 0 + 0 = 75
- OOP の EV = 100 − 75 = 25。チェックしたエア 25% × 100 = 25 とも一致
同じ計算を B = 50、200 でもしてみます。
| B = 50 | B = 100 | B = 200 | |
|---|---|---|---|
| ブラフの割合 B ÷(P + 2B) | 50 ÷ 200 = 25% | 100 ÷ 300 = 33.3% | 200 ÷ 500 = 40% |
| ナッツ1に対するブラフ B ÷(P + B) | 1/3 | 1/2 | 2/3 |
| ブラフする量 b | 16.7% | 25% | 33.3% |
| ベットする割合 v + b | 66.7% | 75% | 83.3% |
| チェックするエア | 33.3% | 25% | 16.7% |
| コール頻度 P ÷(P + B) | 66.7% | 50% | 33.3% |
| ナッツの EV P + cB | 133.3 | 150 | 166.7 |
| IP の EV | 66.7 | 75 | 83.3 |
| OOP の EV | 33.3 | 25 | 16.7 |
B = 200 の検算:ナッツの EV = 100 + 1/3 × 200 = 166.7、IP の EV = 0.5 × 166.7 = 83.3、OOP の EV = 16.7% × 100 = 16.7(100 − 83.3 と一致)。
比べるために、IP が一度もベットしない(いつもチェック)場合を考えると、IP はナッツの50%でポットを取るだけなので EV は 50、OOP も 50 です。ベットという選択肢があるだけで、IP は取り分を増やせることがわかります。
ベットが大きいほど、ベットする側は得をする
表を見ると、B が大きいほど IP の EV が増えています。これがたまたまかどうか、式で確かめます。
IP の EV = v × P ×(P + 2B)÷(P + B)= v × P ×{1 + B ÷(P + B)}
B ÷(P + B)は、B が 0 のとき 0 で、B を大きくするほど増えて 1 に近づく
→ IP の EV は B が大きいほど増え、2 × v × P に近づく
P = 100、v = 0.5 で B を変えると次のとおりです(いずれも 50 × {1 + B ÷(100 + B)}で計算)。
| B | 0(ベットなし) | 25 | 50 | 100 | 200 | 400 |
|---|---|---|---|---|---|---|
| B ÷(P + B) | 0 | 0.2 | 0.333 | 0.5 | 0.667 | 0.8 |
| IP の EV | 50 | 60 | 66.7 | 75 | 83.3 | 90 |
したがって、このモデルでは 手元のチップが許すかぎり大きく賭ける=オールイン(持っているチップを全部賭ける)が最適 です。
大きく賭けると、コールされる回数が減りますよね。それでも得なんですか?
コール頻度は下がるけど、コールされたときに取れる額がそれ以上に増えるんだ。しかもベットが大きいほど、ナッツ1に対して混ぜられるブラフも増える。OOP はナッツを持っていないから、大きいベットをとがめる方法がないんだよ。
ナッツが半分より多い(v > 50%)場合は、B を大きくしていくと途中でブラフに回すエアが足りなくなります(v × B ÷(P + B)> 1 − v)。そこから先は IP がレンジ全部をベットしても、ブラフの割合 1 − v がポットオッズ B ÷(P + 2B)より小さいので、OOP はいつもフォールドするのが最善になり、IP はポット P を丸ごと取ります。この場合も「大きくして損をする」ことはありません。
よくある勘違い
「本物のポーカーでもリバーは全部オールインがいい」は誤り
この結論は「OOP がナッツを持っていない」「IP のレンジが完全に両極端」という前提から出ています。実際には OOP にも強い手があってチェックレイズ(チェックしたあとのレイズ)ができたり、IP にも中くらいの強さの手があったりするので、大きなベットが最適とは限りません。おもちゃのゲームは「なぜその比率になるか」を理解する道具です。
ブラフの割合(B ÷(P + 2B))とブラフする量(v × B ÷(P + B))を混同しない
ブラフの割合は「ベットした中で」ブラフが占める割合、ブラフする量は「レンジ全体のうち」ブラフに回す割合です。ポットサイズでは、ベット範囲の33.3%がブラフで、ナッツ50%のレンジなら全体の25%をブラフします。
均衡で OOP の EV が 25 だから「コールは損」ではない
均衡では、OOP にとってコールとフォールドの損得は同じ(どちらも差は 0)です。OOP の EV が P より小さいのは、IP がナッツを持つ分だけポットを取られるからで、コールの判断が悪いからではありません。
ここが大事!
- 均衡は、相手を「どちらを選んでも同じ損得」にする という条件から求められる
- 受ける側を無差別にする → ブラフの割合 = B ÷(P + 2B)
- ベットする側のブラフを無差別にする → コール頻度 = P ÷(P + B)(MDF と同じ)
- ナッツ v に対して ブラフする量 = v × B ÷(P + B)。残りのエアはチェック
- ベットする側の EV = v × P ×(P + 2B)÷(P + B)。P = 100、v = 50% なら B = 50 で 66.7、100 で 75、200 で 83.3
- このモデルでは B が大きいほどベットする側が得をし、オールインが最適。ただしそれはモデルの前提があるから