上級おもちゃのゲーム重要度 ★★★

リバーのブラフ頻度とコール頻度を式で導く|ポーカーのおもちゃのゲームで均衡を解く

リバーで「ナッツかエア」の側と「ブラフキャッチャーだけ」の側が1回だけベットとコールをする単純なモデルで、ブラフの割合 B÷(P+2B)、コール頻度 P÷(P+B)、両者の期待値を式から導きます。ポット100で数値を検算し、ベットが大きいほど得になる理由まで自分で計算できるようになります。

この単元の用語:おもちゃのゲーム / ポラライズ / ナッツ / エア / ブラフキャッチャー / 無差別 / ブラフの割合 / MDF / 期待値 / オールイン

先生、「リバーはハーフポットならバリュー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つが同時に成り立つところが均衡になります。

  1. IP のブラフが多すぎず少なすぎず、OOP にとって コールしてもフォールドしても同じ損得(無差別)
  2. 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% です。

ベットする側のレンジ(P=100、B=50、ナッツ50%) ナッツ 50% ブラフ 16.7% エアでチェック 33.3% ベット 66.7%(うちブラフ 25%) 受ける側(ブラフキャッチャー)の対応 コール 66.7% フォールド 33.3%
ブラフ 16.7% ÷ ベット 66.7% = 25% = 50 ÷ 200。コール頻度は 100 ÷ 150 = 66.7%

均衡の期待値を計算する

均衡では 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 = 50B = 100B = 200
ブラフの割合 B ÷(P + 2B)50 ÷ 200 = 25%100 ÷ 300 = 33.3%200 ÷ 500 = 40%
ナッツ1に対するブラフ B ÷(P + B)1/31/22/3
ブラフする量 b16.7%25%33.3%
ベットする割合 v + b66.7%75%83.3%
チェックするエア33.3%25%16.7%
コール頻度 P ÷(P + B)66.7%50%33.3%
ナッツの EV P + cB133.3150166.7
IP の EV66.77583.3
OOP の EV33.32516.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)}で計算)。

B0(ベットなし)2550100200400
B ÷(P + B)00.20.3330.50.6670.8
IP の EV506066.77583.390
近づく上限 100(ポット全部) 66.7 75 83.3 90 50 75 100 0 50 100 200 400 ベット額 B → ベットする側の EV
P=100、ナッツ50%。ベット額を増やすほど EV は増え続ける(増え方はだんだんゆるやかになる)

したがって、このモデルでは 手元のチップが許すかぎり大きく賭ける=オールイン(持っているチップを全部賭ける)が最適 です。

大きく賭けると、コールされる回数が減りますよね。それでも得なんですか?

コール頻度は下がるけど、コールされたときに取れる額がそれ以上に増えるんだ。しかもベットが大きいほど、ナッツ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 が大きいほどベットする側が得をし、オールインが最適。ただしそれはモデルの前提があるから

確認クイズ

選択肢をタップすると、すぐに正解と解説が表示されます。

Q1このモデルで、ポット100に75をベットする。受ける側のブラフキャッチャーをコールとフォールドで同じ損得にするには、ベット範囲のうちブラフの割合を何%にすればよいか。

Q2ポット100に200をベットされたとき、ベットする側のブラフを損益ゼロ(無差別)にするコール頻度は何%か。

Q3ベットする側のレンジがナッツ40%・エア60%のとき、ポット100に100をベットする均衡では、レンジ全体のうち何%をブラフとしてベットするか。

Q4ナッツ50%・エア50%、ポット100に50をベットする均衡で、ベットする側の期待値はいくらか(ポット100の取り分も含めて数える)。