理論で学ぶポーカー#1 : AKQゲームで数学的に最適なバリューベットのサイズを探る
考察
518

理論で学ぶポーカー#1 : AKQゲームで数学的に最適なバリューベットのサイズを探る

としき
執筆者
としき

東京大学大学院情報理工学系研究科に所属。主にゲームAIや自然言語アルゴリズムの研究を専門とする鶴岡研究室にて活動。CLOViZ株式会社にてPOKER Q'zの開発もリード。

音声でこの記事を学ぶ

1. はじめに

ポーカーにおいて、バリューベットの適切なサイズを決めることは、期待値(EV)を最大化する上で非常に重要です。本記事では、シンプルな AKQ ゲームを題材に、バリューハンドの最適なベットサイズについて深掘りしていきます。

2. AKQゲームとは?

AKQゲームは、ポーカー戦略の基礎を学ぶために設計されたシンプルなモデルゲームです。さまざまなバリエーションがありますが、ここでは以下のルールに基づいて説明します。

  • プレイヤー
    本ゲームは、Hero(自分側)Villain(相手側)の2人で行います。
  • カード
    使用するカードは [As], [Ks], [Qs] の3枚のみで、それぞれの強さは A > K > Q です。各プレイヤーには、これらのうち1枚がランダムに配られ、同じランクのカードが配られることはありません(スートも無視しましょう)。
  • ポジション
    Heroは常にIP(インポジション)Villainは常にOOP(アウトオブポジション) でプレイします。
  • アクション
    1. いきなりリバーから始まり、最初にVillain(OOP)が行動します。その際、Villain常にチェックを選択します。
    2. その後、Hero(IP)は、任意のベットサイズを選択する or チェックバックができます。
    3. 2でHeroがチェックバックの場合、そのままショーダウンとなります
    4. 2でHeroがベットした場合、Villainはコール or フォールドの2択のみとなりレイズはできません
  • ポットサイズ
    初期ポットは1です

このシンプルなゲームモデルを通じて、ポーカーにおけるベット戦略やレンジの考え方を学ぶことができます。


3. 各手札ごとの戦略構築と純粋戦略

まず、Hero・Villainごとに、各手札の最適な立ち回りをまとめます。

Heroの最適な立ち回り

  • ① [As]
    最強の手札のため、相手のKをターゲットに必ずバリューベットを打つ
  • ② [Ks]
    Aには絶対コールされて負け、Qには降りられるだけなので、ベットすると損をする。必ずチェックする。
  • ③ [Qs]
    最弱の手札だが、こちらのAのバリューベットと混ぜて、相手のKがちょうど悩むくらいの頻度でブラフベットを打つ。

Heroにベットされた後の、Villainの最適な立ち回り

  • ④ [As]
    絶対に勝っているので、必ずコールする。
  • ⑤ [Ks]
    相手のAには負けているが、相手のQのブラフに降ろされすぎないように、適切な頻度でブラフキャッチする。(相手のQが、ブラフするかちょうど悩むくらいの頻度でコールする)
  • ⑥ [Qs]
    絶対に負けているので、必ずフォールドする。

ここで、は「必ず」とついている通り、最適なアクションが最初から決まっていて、100%の頻度でそのアクションを実行します。それ以外のアクションを選ぶと、上述の通り明確に損するからです。

このように、アクション頻度が100%の戦略を「純粋戦略」と言います。この純粋戦略を間違えてしまうと、非常に大きなEVロスとなってしまうため、注意が必要です。

さて、純粋戦略は変更のしようがないので、このゲームの最適解を考える上で重要なのは、

  • ③の「HeroのQのブラフ頻度」と、
  • ⑤の「VillainのKのコール頻度」です。

③・⑤は、それぞれのアクションをどちらもバランスよく行うことが最適で、このような戦略を「混合戦略」と呼びます。もし適切なバランスを取らず、アクションが一方に偏ってしまうと、相手から戦略のエクスプロイトを受けることになります。以下で、そのエクスプロイトを具体的に説明します。

③に関しては、HeroのQのベット頻度が高すぎるとブラフ過多となり、VillainはKのブラフキャッチコール頻度を100%にするというエクスプロイトを行います。逆にHeroのQのベット頻度が低すぎるとAのバリュー過多となり、VillainはKのブラフキャッチコール頻度を0%にするというエクスプロイトを行います。

⑤に関しては、VillainのKのコール頻度が高すぎるとブラフキャッチ過多となり、HeroはQのブラフベット頻度を0%にするというエクスプロイトを行います。逆にVillainのKのコール頻度が低すぎるとブラフキャッチ過小となり、HeroはQのブラフベット頻度を100%にするというエクスプロイトを行います。

それでは、③・⑤の適切な頻度は具体的にどう求めれば良いのでしょうか。次のセクションで説明します。


4. 混合戦略の頻度とインディファレント

混合戦略の最適な頻度を探るには、上の③・⑤の文章に出てきた「相手の〇〇をちょうど悩ませる」という言葉の正確な意味合いに言及する必要があります。ここで出てくるのが「インディファレント」という用語です。

インディファレントとは、ある手札において、複数のアクション間でEVが等しくなっている状態のことです。

これだけだと分かりにくいので、具体例を示します。例えば、ポットが100点の状態で、相手から100点のポットベットを受けたとしましょう。

そうすると、コールに必要な金額は100点で、コールするとポットが100(ポット)+100(相手のベット)+100(自分のコール)=300点になります。すなわち、100点を支払って300点を得る勝負を仕掛けられているので、100/300 = 1/3がちょうど勝率となっている時、コールとフォールドの期待値が0で等しくなります。

この状況を「コールとフォールドのインディファレント」と言います。一般的にインディファレントな状態にあるハンドは、バランスを取るために、それら複数のアクションが選択肢として残る傾向にあります。

そして今回、③と⑤の混合戦略の内訳を決めるカギは、相手の特定のハンドがインディファレントになるように頻度を調整することです。

具体的には、

  • ③HeroのQ は、villainのKが「コールとフォールドのインディファレント」になるベット頻度に調整します。
  • ⑤VillainのK は、HeroのQが「ベットとチェックのインディファレント」になるコール頻度に調整します。

5. ベットサイズをPot 50%のみに限定したAKQゲームの最適解

分かりやすさのために、このセクションでは、Heroのベットサイズをポット50%(0.5)に限定して考えてみます。

《Heroの戦略》

Heroは、Aを全頻度(1)でバリューベットし、Qを最適な頻度($f_Q$)でブラフベットし、相手のKのコールとフォールドの期待値が同じになるような戦略を取ります。VillainのKはコールした場合、以下のような利得になります。

  • HeroがA(1コンボ) ... -0.5(コールに使った0.5を失う)
  • HeroがQ($f_Q$コンボ) ... 1 + 0.5 (ポットの1と相手のベット額0.5を得る)

そして、VillainのKはフォールドした場合、所持チップは増えも減りもしないので、利得は0となります。

(Kのコール期待値) = (Kのフォールド期待値)より、これを数式で表すと、

$$\frac{1 ・ (-0.5) +f_Q ・(1 + 0.5)}{1+f_Q} = 0$$

となります。これを解いて$f_Q =\frac{1}{3} $です。


《Villainの戦略》

一方Villainは、Kを最適な頻度($f_K$)でコールし、相手のQのベットとチェックの期待値が同じになるような戦略を取ります。

HeroのQはベットした場合、以下のような利得になります。

  • VillainがA(1コンボ) ... -0.5(コールされて負け)
  • VillainがKでコール($f_K$コンボ) ... -0.5(コールされて負け)
  • VillainがKでフォールド($1 - f_K$コンボ) .. 1(降ろしてポットの1を得る)

そして、HeroのQはチェックした場合、絶対にショーダウンで負け、所持チップは増えも減りもしないので、利得は0となります。

(Qのベット期待値) = (Qのチェック期待値)より、これを数式で表すと、

$$\frac{1 ・ (-0.5) +f_K ・(-0.5) + (1-f_K) ・1 }{2} = 0$$

となります。これを解いて$f_K =\frac{1}{3} $です。

以上をまとめて、HeroとVillainの最適戦略を整理すると以下のようになります。

Heroの戦略

Heroの手札

Pot 50%の頻度

checkの頻度

A

1 (100%)

0 (0%)

K

0 (0%)

1 (100%)

Q

0.3333 (33.33%)

0.6667 (66.67%)

Villainの戦略(Heroのbet 0.5 に対して)

Villainの手札

callの頻度

foldの頻度

A

1 (100%)

0 (0%)

K

0.3333 (33.33%)

0.6667 (66.67%)

Q

0 (0%)

1 (100%)


6. ベットサイズを任意の1つのサイズ(b)としたAKQゲームの最適解

全セクションでは、ベットサイズを0.5に限定して最適解を考えました。それと全く同様にして、ベットサイズをb(定数)とした最適解も考えることができます。先ほどの2式の0.5をbに置き換えると、

$$\frac{1 ・ (-b) +f_Q ・(1 + b)}{1+f_Q} = 0$$

$$\frac{1 ・ (-b) + f_K ・(-b) + (1-f_K) ・1 }{2} = 0$$

です。これを解くと$f_Q = \frac{b}{1+b}$ , $f_K = \frac{1-b}{1+b}$ となります。

以上をまとめて、HeroとVillainの最適戦略を整理すると以下のようになります。

Heroの戦略

Heroの手札

bet $b$ の頻度

checkの頻度

A

1

0

K

0

1

Q

$\frac{b}{1+b}$

$\frac{1}{1+b}$

Villainの戦略(Heroのbet $b$に対して)

Villainの手札

callの頻度

foldの頻度

A

1

0

K

$\frac{1-b}{1+b}$

$\frac{2b}{1+b}$

Q

0

1

ここで$f_K = \frac{1-b}{1+b}$に注目すると、bが1より大きい時(Heroがポットオーバーのベットを打つ時)、$f_K$は負の値となり、おかしなことが起きることがわかります。これはどういうことでしょうか。

一般にポットオーバーベットのブラフは、必要ブラフ成功率が50%を超えます。HeroがQでブラフする時、VillainはAかKを持っています。しかし、VillainはAを絶対に降りないため、ブラフ成功率が50%を超えることはあり得ません。

すなわち、HeroはAKQゲームにおいてポットオーバーベットのブラフをするべきではない、という結論が導かれます。ブラフが存在しないのであれば当然バリューベットもそのサイズでは出来ないため、Heroはこのゲームでポットオーバーベットは用いることはありません。よって、以下では$0 < b \leq 1$として考えます。


7. レンジ全体のEVを最大化させるHeroのベットサイズは?

ここまでで、ベットサイズが任意の1つのサイズ(b)の時の最適解がわかりました。ここからが本題です。

実はHeroのK・Qの期待値(EV)は、ベットサイズ(b)によらず変化しません。なぜなら、

  • HeroのK...必ずチェックし、ショーダウンでAに負けてQに勝つので、50%の確率で1のポットを獲得。すなわちEVは常に0.5
  • HeroのQ...相手のKのコール頻度により、ブラフベットと諦めチェックのインディファレント状態であるから、EVは常に0

となるからです。すなわちベットサイズによりEVが変化するのはAの時だけで、Heroの最適なベットサイズとは、HeroがAを持っている際のEVを最大化させる額であることになります。では、ベットサイズがbの時の、HeroのAのベットEVを実際に計算してみましょう。


$$(HeroのAのEV) = (コールされる確率)・(1+b) + (フォールドされる確率)・1$$

コールされる確率は、相手がKを持っていて($\frac{1}{2}$)、かつコールを選択する($\frac{1-b}{1+b}$)時なので、

その積で$\frac{1}{2}\frac{1-b}{1+b}$です。これを$P(b)$とおくと、

$$(HeroのAのEV) = P(b)・(1+b) + (1-P(b))・1 = bP(b) + 1 = \frac{1}{2}\frac{b(1-b)}{1+b} +1$$

となります。定数部を除けば、$\frac{b(1-b)}{1+b}$が最大となるbを求めれば良いのです。

$$\frac{b(1-b)}{1+b} = \frac{-b(1+b) + 2(1+b) -2 }{1+b} = 2 -(b+ \frac{2}{1+b}) = 3 -((1+b) + \frac{2}{1+b})$$

となるため、相加・相乗平均の関係より、 $1+b = \sqrt{2}$、すなわち$b = \sqrt{2} -1 \approx 0.414$ の時に$\frac{b(1-b)}{1+b}$は最大値$3-2\sqrt{2}$を取ります。


これが意味することは、Heroの最適なベットサイズは、AのEVを最大化させるPot 41.4%だということです。ポーカーのことを考えていたはずなのに、なぜかベットサイズにルートが出てきました。不思議ですね。

また、今求めた最大値を元の式に代入すると、

$$(HeroのAのEVの最大値) = \frac{1}{2} ・(3-2\sqrt{2}) +1 = \frac{5}{2} - \sqrt{2} \approx 1.086$$

となります。ベットができなければAのEVは1となるので、HeroがIPであることが、ちゃんとレンジ全体のEV上昇に貢献していると考えることができますね。

8. まとめ

難易度の高い長い記事になってしまいましたが、ここまでお読みいただきありがとうございます。本記事では、Heroのベットサイズが期待値(EV)に与える影響について考察しました。結論を簡潔に要約すると以下のようになります。

  • AKQゲームは簡略化されたポーカーで、これを詳しく考察することで、実践のポーカーで用いる様々な理論を習得できる。
  • バリューハンドには、相手からレイズされない条件下において、EVを最大化する最適なベットサイズが存在する。

AKQゲームの分析を通じて、ポーカーにおけるベットサイズの選択とGTO(Game Theory Optimal)戦略の考え方を深く理解することができます。次の記事では、より複雑な状況下でのベットサイズの最適化や、実戦での応用方法について考察していきます。

https://pokerqz.com/blog/theoretical_poker_2

初心者から中級者におすすめ!
東大発ポーカーAI学習アプリ 『POKER Q'z』のアプリダウンロードはこちら↓

お好きなプラットフォームで今すぐ始めよう!

Download on the App StoreGet it on Google Play

関連SNS情報

POKER Q'zが気になった方は是非こちらのフォローをお願いいたします!
定期的にポーカーのクイズ、テクニックや戦略などの役に立つTipsを配信しています✨

会社概要

名称    : CLOViZ株式会社

所在地   : 東京都世田谷区赤堤4丁目13番7号

設立    : 2024年5月7日

代表取締役 : 真崎 颯太郎

URL    : https://cloviz.co.jp