【poker】AKQゲームとGTO
AKQゲームについて, 非常にわかりやすく解説してある記事が多くありますが, 数式を載せている記事は多くないように感じます. ここでは, 数式を使ってより理解しようという意思のもと, AKQゲームのNash均衡を求めてみようと思います. ただし, 著者はゲーム理論のゲの字も知らないような初心者なので, 専門的な数式は使えません. 同じような内容の記事があったらごめんなさい.
1. AKQゲーム
様々なパターンのルールがあると思うので, ここでは一つに限定します.
playerはAliceとBobの二人であり, AliceはOOPに, BobはIPに座ります. それぞれが1bbずつのブラインドを支払った後, 山札から1枚ずつカードが配られます. 山札はA, K, Qの3枚しかなく, カードの強さはA>K>Qです.
ベッティングラウンドでは, OOPのAliceは必ずcheckし, IPのBobがcheck/betのいずれかのアクションをします. ここで, bet額は1bbに限定されているとします. Bobにベットされた際, Aliceはcall/foldのいずれかのアクションをします. raiseはしません.
このとき, お互いの戦略をどうすべきかを考えます.
2. Nash均衡
まず, IPであるBobの戦略を考えます. Aを持っているときは必ず勝っているため確率1でbetすべきでしょう. Kを持っているときはcheckすべきです. なぜなら, AliceはAを持っているときはcallし, Qを持っているときはfoldするため, ただ損失を増やすだけになるからです.
Qを持っているときは微妙で, Kを持っているAliceがfoldする可能性がある以上, 一定の頻度でブラフするのが良さそうです. そこで, BobがQを持っているときのブラフ頻度をとおきます. の時Bobは全くブラフせず, の時BobはQを持っていると完全ブラフ気合太郎になります.
次に, Aliceの戦略を考えます. Aを持っているときは必ず勝っているので確率1でcallし, Qを持っているときは必ずfoldします.
Kを持っているときですが, Bobが全くブラフしない場合は別として, Qを持っていてブラフをする可能性がある以上, 一定の頻度でcallするのが良さそうです. そこで, AlcieがKを持っているときのcall頻度をとします. でAliceは全くcallせず, でAliceはブラフ絶対許さないウーマンになります.
さて, Nash均衡を求めるためにBobの期待値を求めましょう. 一気に求めても大変なので, BobがA, K, Qを持っているときのそれぞれの期待値をとし, あとで足して1/3をかけます.
まずですが, AliceがKを持っているとき確率でcallしてくれポットを獲得できます. Bobの純利益は2bbです. また, 確率でfoldされますが, その際も1bb儲けます. AliceがQを持っているとき, 確率1で1bb獲得します. つまりは以下のようになります.
次に, ですが, BobはcheckするのでAliceがAを持っていたら1bb負け, Qを持っていたら1bb勝ちます:
最後にですが, AliceがAを持っている場合とKを持っている場合を考えて,
です. 第一項はAliceがAを持っていた場合で, ブラフをした場合は-2bb, しなかった場合は-1bbです. 第二項はAliceがKを持っていた場合で. 順にブラフキャッチされた場合, ブラフ成功, ブラフやめた場合を表しています.
ここからBobの期待値は
となります. ここからNash均衡を求めていきましょう.
まず, Bobの戦略を考えます. Bobがいじれるのはのみなので, これでを偏微分して
を得ます. AliceのこれはAliceのに完全に依存し, 偏微分が正ならを1に, 負ならを0にすれば最大限AliceをExploitできることになります(GTOを知っている人で偏微分知らない人はいないと思うので, 偏微分の説明は割愛します).
逆に, Aliceはどうすればいいでしょうか. 同様にをで偏微分して
を得ます. 偏微分が正ならを0に, を1にすれば良いことがわかります.
AliceがBobの利益を小さくするにはどうすれば良いのかを考えると, 偏微分を値を0にしてしまえば良いことを思いつきます. としてしまえば, はに対して無依存になり, Bobがどんな戦略を取ろうとも期待値が一定になります. これはBob視点からも同じで, Aliceの偏微分を値を0にしてしまえば (とすれば) Aliceがどんな戦略を取ろうとも自分の期待値を変化できなくさせることができます. このがいわゆるNash均衡となります.
さて, この事実からいくつかの誤解を解くことができます.
まず, いわゆるGTOが期待値を0にするという話です. これは単純にを期待値の式に代入すれば分かることですが, Bobの期待値はとなり, 正の値になります. IPの優位によるものです.
さらには, GTOが一番の利益をとる戦略という考えも否定することができます. Aliceが少しでもNash均衡から外れていれば (と違う値を取れば) Bobはそれに対してNash均衡でプレイするよりも, Aliceのプレイにアジャストしてないしはとするのが利益最大となります. 例えば, AliceがNash均衡よりも大きいでプレイする場合, Nash均衡であるだと期待値は1/18ですが, BobがAliceを最大にExploitしたという戦略を取れば, 期待値は1/12になります. 前者は5.56bb/100hands, 後者は8.33/100handsに対応します. こうなってくると, 自分がGTOをプレイするかよりは, 相手がGTOをプレイしているかどうかが大事なような気がします(要検証). 要するに, GTOは相手の利益を限定する消極的な戦略であり, 自分の利益を最大化するような積極的戦略ではないということです.
3. ベットサイズ
これだけだとつまらないので, Bobは自身のベットサイズを変えられることにしましょう. バリューとブラフのベット額を変えるわけにはいかないので, 両者の額は同じとしてとしましょう. このときのBobの期待値は頑張って計算すると
となります.Nash均衡は
では, Bobにとっての最適なベット額とはいくらでしょうか. 上記のNash均衡時のを期待値の式に代入すれば, がBobの期待値になります. これをの範囲で最大化してやれば良いのですが, 微分して求めれば最大値はの時 です. この値は5.72bb/100handsであり, ベットサイズが1bbだった5.56bb/100handsを上回り, このベットサイズでBobは戦うべきと言えます.
最後に, この記事をまとめます. 結論としてポーカープレイヤーは, を計算するため関数電卓を持ってプレイすべきと言えます. 正直, 真面目なことはよくわかりませんでした.