Crushing or Crushed

主にShort-handed NLHEで自分が勉強したことについてまとめるブログです。

AKQ GameでGTOを学ぶ(改正版)

7/24改正

4節の期待値の計算がめちゃくちゃだったのと、GTOに関する理解不足だったので、4節にめちゃくちゃなことを書いていたことを訂正しました。

twitterのフォロワーさんとAKQgameの話になったので、私も真面目に考えてみることにしました。

 

1.AKQ Gameのルール

  1. 二人で行われるゲーム。
  2. ポットには参加費として1$支払う。
  3. デッキにはAce, King, Queenの三枚しか含まれておらず、強さはA>K>Q。
  4. ベッティングラウンドは1回のみ。
  5. ベットは1$固定、レイズなし。(オールインと同義)
  6. OOP、IPの順にプレイ。ただしOOPは必ずcheck戦略を選択しなければならない。

f:id:alphanavis:20180624062508p:plain

                                                          fig1: AKQ Game

 

2.AKQ Gameを学ぶと何が嬉しい?

AKQ Gameはポーカーをかなり簡略化したものです。こんなものを真面目に考えても意味がなさそうに思えますが、実はリバーのシチュエーションによく似ています。

A is Pure Nuts.     (100% equity)

K is Bluff Cacher.  (50% equity)

Q is Pure Air.         (0% equity)

AKQ Gameを理解することで、リバーにおけるプレイの概略的なGTO戦略を理解することができます。

f:id:alphanavis:20180624062522p:plain

                                                fig2: Simplified River Situation

 

3.AKQ GameにおけるGTO(理論的)

数式が苦手な方はこの章を読み飛ばしてもらって構いません。

Notation:

 P_1, P_2 \in \mathcal{P} \mbox{ , A set of player}

 P^j_{i_a} \in \mathcal{P}_\mbox{ev}, i \in (1,2),j \in (A, K, Q), a \in (bet, check, fold)

 \mbox{A set of EV for player }i\mbox{'s strategy }a\mbox{ with hand }j

 

  P_1(OOP)のGTOを求める

OOPである P_1は意思決定の情報を持っていないため、必ずチェック(ゲームのルール)。なので P_2のベットに対する最適戦略がGTOになる。

 

・前提(自明なGTO)

Aを持っている場合、 P_2のベットに対して必ずコール    

Qを持っている場合、 P_2のベットに対して必ずフォールド     

・Kを持っているときの P_2のベットに対してのGTOを導出。

 P_1GTO P_2がQを持っているときに、ベットしてもフォールドしても期待値が変わらないような戦略だから、つまり

 P^Q_{2_\mbox{check}} = 0

 P^Q_{2_\mbox{bet}} = \dfrac{1}{2}(-1)+\dfrac{1}{2}(c_{P_1}(-1)+(1-c_{P_1})2)

 P^Q_{2_\mbox{check}} = P^Q_{2_\mbox{bet}} - (1)

を満たすc_{P_1}である。

式(1)を計算すれば、

 c_{P_1} = \dfrac{1}{3}

となり、 P_1の最適戦略はKを持っているとき \dfrac{1}{3}の頻度でコールすることである。

 

 P_2(IP)のGTOを求める

OOPである  P_1は必ずチェックするため、 P_2はベットするかしないかの戦略を選択する必要がある。Aを持っているときは必ずベットがGTO(自明)。Kを持っているときは必ずチェック。(理由:ベットしてしまうと P_1がAを持っているときはコールされ、Qを持っているときはフォールドされる。つまり P^K_{1_\mbox{check}}はP^K_{1_\mbox{bet}}ドミナント戦略

・前提(自明なGTO)

Aを持っている場合、 P_1は必ずベット。

Kを持っている場合、 P_1は必ずチェック。

・Qを持っているときの P_1GTOを導出。

 P_2GTOはQを持っているときに、 P_1がKでコール(ブラフキャッチ)してもフォールドしても期待値が変わらないような戦略だから、つまり

 P^K_{1_\mbox{fold}} = 0

 P^K_{1_\mbox{call}} = \dfrac{1}{2}(-1)+\dfrac{1}{2}(b_{P_2}(2+1))

 P^K_{1_\mbox{fold}} = P^K_{2_\mbox{call}} - (2)

を満たす b_{P_2}である。

式(2)を計算すれば、

 b_{P_2} = \dfrac{1}{3}

となり、 P_2の最適戦略はQを持っているとき \dfrac{1}{3}の頻度でベットすることである。

 

IPの保証期待値

GTOはそれぞれ

 S^{\mbox{bet}}_{P_2}(A, K, Q) = (1, 0, \dfrac{1}{3})

 S^{\mbox{call}}_{P_1}(A, K, Q) = (1, \dfrac{1}{3}, 0)より

 b=\dfrac{1}{3}, c=\dfrac{1}{3}として、ゲームツリー(fig3)よりOOPの期待値 E_{P_1}

f:id:alphanavis:20180624111753p:plain

                            fig3: AKQ Game Tree(extra showdown-winnings)

 E_{P_1} = \dfrac{1}{6}bc-\dfrac{1}{3}b(1-c)-\dfrac{1}{6}c+\dfrac{1}{6}b = -\dfrac{1}{18}

両プレイヤーはGTOでプレイしているので E_{P_1} + E_{P_2} = 0より

 E_{P_2} = \dfrac{1}{18}

従ってIPのプレイヤーは相手の戦略にかかわらず+5.55bb/100handsは保証される。

4.AKQ GameにおけるGTO(定性的)

プレイヤーOOPとプレイヤーIPの二人のGTOを考えます。GTOとは相手がどのような戦略をとろうと搾取されないような戦略のことです。IPがGTOでプレイすればIPは保証されたEVを必ず受け取ることができます。

OOPGTO

OOPは意思決定の情報を持っていないため常にチェック。つまり、OOPGTOはIPのベットに対する戦略を考えることになります。

Aを持っている場合、必ずコールします。ナッツを降りることはあり得ません。

Qを持っている場合、必ずおります。QはPure Airなのでショーダウンしたところで絶対負けているからです。

Kを持っているときは話が変わります。Kはブラフキャッチャーです。相手がナッツとブラフでベットしているときKでブラフキャッチすることが必要です。

計算は上記に示してありますが(前節)、 \dfrac{1}{3}の確率でコールすることにより、相手は期待値0(厳密には違うがここでは簡単化のために0)を上回ることができません。これがなぜかを説明します。

 

例えばIPがQすべてをチェック、A全てをベットしたとします。

それに対してOOPGTO( \dfrac{1}{3}でコール)をとっているとします。

OOPの期待値を E_{OOP}すれば、

 E_{P_1} = \dfrac{1}{6}bc-\dfrac{1}{3}b(1-c)-\dfrac{1}{6}c+\dfrac{1}{6}b

と表すことができます。ここでbはIPのQでのブラフ率、cはOOPのブラフキャッチ率を示しています。したがって b = 0,c=1/3だとします。これを代入してきた入りを計算すると、

 E_{P_1}=-\dfrac{1}{18}が得られました。

 

IPがQすべてをベット、A全てをベットしたとします。

同様に b = 1,c=1/3から代入して期待値を計算すると、

 E_{P_1}=-\dfrac{1}{18}が得られました。

 

OOPGTOでプレイしているためIPのどのような戦略に対しても最低保証されている -\dfrac{1}{18}をEVとして必ず実現することができます。

IPのGTO

 OOPは必ずチェックしてくるため、IPのGTOはベット戦略になります。

Aを持っている場合、必ずベットします。(ナッツをチェックはあり得ない)

Kを持っている場合、必ずチェックします。(マージナルなハンドでベットすると、Pure Airには下りられ、Nutsにコールされるだけ)

Qを持っているときにブラフを考えます。ブラフの頻度がGTOになるわけです。

計算は上記に示しますが、 \dfrac{1}{3}の確率でブラフベットすることがGTOになります。OOPGTOでも説明した通り、OOPがどのような戦略をとっても、IPの期待値は正です( +\dfrac{1}{18})。絶対に負けることはありません。

 

どっちもGTOでプレイしたらどうなる?

IPにいるプレイヤーのEVが1ゲーム当たり \dfrac{1}{18}になります。つまり、IPがGTOでプレイすれば100handあたり5.55bbの利益を出し続けることができます。これはOOPがどのような戦略をとっても最低限保証されるEVです。このような結果より、ポーカーにおけるポジションの重要性が理解できます。ポジションがあるほうが必然的に+EVになるんです。

 

5.まとめ

 AKQ GameのGTOを理解することで実際のリバーについての簡略化されたGTO戦略について学ぶことができました。まとめると

OOPでは

  1. 相手のリバーベットに対して1/3でブラフキャッチ。
  2. ディフェンスレンジはナッツが1/3, ブラフキャッチが1/3 * 1/3 = 1/9の合計4/9
  3. コールの割合がナッツ:ブラフ = 75 : 25でGTO

IPでは

  1. ショーダウンバリューのないハンドの1/3でブラフ
  2. リバーのベットレンジはナッツが1/3, ブラフが1/3 * 1/3 = 1/9の合計4/9
  3. ベットの割合がナッツ:ブラフ = 75 : 25がGTO

 ポーカーはポジションゲー。

 

参考文献+図引用元

https://www.liverium.com/poker/game-theoretic-optimal-strategy-i/

https://plus.maths.org/content/bluffing-and-exploitation-introduction-poker-maths