AKQ GameでGTOを学ぶ(改正版)
7/24改正
4節の期待値の計算がめちゃくちゃだったのと、GTOに関する理解不足だったので、4節にめちゃくちゃなことを書いていたことを訂正しました。
twitterのフォロワーさんとAKQgameの話になったので、私も真面目に考えてみることにしました。
1.AKQ Gameのルール
- 二人で行われるゲーム。
- ポットには参加費として1$支払う。
- デッキにはAce, King, Queenの三枚しか含まれておらず、強さはA>K>Q。
- ベッティングラウンドは1回のみ。
- ベットは1$固定、レイズなし。(オールインと同義)
- OOP、IPの順にプレイ。ただしOOPは必ずcheck戦略を選択しなければならない。
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戦略を理解することができます。
fig2: Simplified River Situation
3.AKQ GameにおけるGTO(理論的)
数式が苦手な方はこの章を読み飛ばしてもらって構いません。
Notation:
(OOP)のGTOを求める
OOPであるは意思決定の情報を持っていないため、必ずチェック(ゲームのルール)。なのでのベットに対する最適戦略がGTOになる。
・前提(自明なGTO)
Aを持っている場合、のベットに対して必ずコール
Qを持っている場合、のベットに対して必ずフォールド
・Kを持っているときののベットに対してのGTOを導出。
のGTOはがQを持っているときに、ベットしてもフォールドしても期待値が変わらないような戦略だから、つまり
で
を満たすである。
式(1)を計算すれば、
となり、の最適戦略はKを持っているときの頻度でコールすることである。
(IP)のGTOを求める
OOPである は必ずチェックするため、はベットするかしないかの戦略を選択する必要がある。Aを持っているときは必ずベットがGTO(自明)。Kを持っているときは必ずチェック。(理由:ベットしてしまうとがAを持っているときはコールされ、Qを持っているときはフォールドされる。つまりのドミナント戦略)
・前提(自明なGTO)
Aを持っている場合、は必ずベット。
Kを持っている場合、は必ずチェック。
・Qを持っているときののGTOを導出。
のGTOはQを持っているときに、がKでコール(ブラフキャッチ)してもフォールドしても期待値が変わらないような戦略だから、つまり
で
を満たすである。
式(2)を計算すれば、
となり、の最適戦略はQを持っているときの頻度でベットすることである。
IPの保証期待値
GTOはそれぞれ
より
として、ゲームツリー(fig3)よりOOPの期待値は
fig3: AKQ Game Tree(extra showdown-winnings)
両プレイヤーはGTOでプレイしているのでより
従ってIPのプレイヤーは相手の戦略にかかわらず+5.55bb/100handsは保証される。
4.AKQ GameにおけるGTO(定性的)
プレイヤーOOPとプレイヤーIPの二人のGTOを考えます。GTOとは相手がどのような戦略をとろうと搾取されないような戦略のことです。IPがGTOでプレイすればIPは保証されたEVを必ず受け取ることができます。
OOPのGTO
OOPは意思決定の情報を持っていないため常にチェック。つまり、OOPのGTOはIPのベットに対する戦略を考えることになります。
Aを持っている場合、必ずコールします。ナッツを降りることはあり得ません。
Qを持っている場合、必ずおります。QはPure Airなのでショーダウンしたところで絶対負けているからです。
Kを持っているときは話が変わります。Kはブラフキャッチャーです。相手がナッツとブラフでベットしているときKでブラフキャッチすることが必要です。
計算は上記に示してありますが(前節)、の確率でコールすることにより、相手は期待値0(厳密には違うがここでは簡単化のために0)を上回ることができません。これがなぜかを説明します。
例えばIPがQすべてをチェック、A全てをベットしたとします。
それに対してOOPはGTO(でコール)をとっているとします。
OOPの期待値をすれば、
と表すことができます。ここでbはIPのQでのブラフ率、cはOOPのブラフキャッチ率を示しています。したがってだとします。これを代入してきた入りを計算すると、
が得られました。
IPがQすべてをベット、A全てをベットしたとします。
同様にから代入して期待値を計算すると、
が得られました。
OOPはGTOでプレイしているためIPのどのような戦略に対しても最低保証されているをEVとして必ず実現することができます。
IPのGTO
OOPは必ずチェックしてくるため、IPのGTOはベット戦略になります。
Aを持っている場合、必ずベットします。(ナッツをチェックはあり得ない)
Kを持っている場合、必ずチェックします。(マージナルなハンドでベットすると、Pure Airには下りられ、Nutsにコールされるだけ)
Qを持っているときにブラフを考えます。ブラフの頻度がGTOになるわけです。
計算は上記に示しますが、の確率でブラフベットすることがGTOになります。OOPのGTOでも説明した通り、OOPがどのような戦略をとっても、IPの期待値は正です()。絶対に負けることはありません。
どっちもGTOでプレイしたらどうなる?
IPにいるプレイヤーのEVが1ゲーム当たりになります。つまり、IPがGTOでプレイすれば100handあたり5.55bbの利益を出し続けることができます。これはOOPがどのような戦略をとっても最低限保証されるEVです。このような結果より、ポーカーにおけるポジションの重要性が理解できます。ポジションがあるほうが必然的に+EVになるんです。
5.まとめ
AKQ GameのGTOを理解することで実際のリバーについての簡略化されたGTO戦略について学ぶことができました。まとめると
OOPでは
- 相手のリバーベットに対して1/3でブラフキャッチ。
- ディフェンスレンジはナッツが1/3, ブラフキャッチが1/3 * 1/3 = 1/9の合計4/9
- コールの割合がナッツ:ブラフ = 75 : 25でGTO
IPでは
- ショーダウンバリューのないハンドの1/3でブラフ
- リバーのベットレンジはナッツが1/3, ブラフが1/3 * 1/3 = 1/9の合計4/9
- ベットの割合がナッツ:ブラフ = 75 : 25がGTO
ポーカーはポジションゲー。
参考文献+図引用元
https://www.liverium.com/poker/game-theoretic-optimal-strategy-i/
https://plus.maths.org/content/bluffing-and-exploitation-introduction-poker-maths