Crushing or Crushed

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

GTOの体系化を1から考える - 1

シリーズものになる予定。

 

今回の記事は私が思っていることを淡々と綴るだけの記事です。間違っているところや疑問があったらTwitterやコメントで教えてください!

 

ポーカーにおける体系化とは

状態数が膨大なポーカーに対して、特徴が”似ている”情報を抽象化し、それにおける \mbox{GTO}^*を求めること。

 

f:id:alphanavis:20180630042212p:plain

IPレンジによってOOPレンジが決まるため、横に並んだ箱は対になっています。Flop Typeは特徴によっていくつかに分けたもの。ベットサイズは33%のみのもの、33%, 66%の2つのもの、などの選択肢になっています。この箱を選択して、そのシチュエーションに対するGTOを求めようというのが体系化のコンセプトです。

Optimal Bet Sizeは何によって決まっているか(フロップ以降)

PFのGTOはHUにならないことが多いので割愛。PFのベットサイズの最適化の論理も全く見当がつかない。

ポーカーは不完備情報ゲームですが、両プレイヤーが持つ情報でわかっているものが複数あります。

  1. IPのレンジ
  2. OOPのレンジ
  3. ボードに落ちているカード
  4. ベットサイズの選択肢
  5. ポットサイズ
  6. 有効スタック

また1,2,3,4,5から得られる情報は、

  1. IPのレンジのEV、EQと各ハンドのEV、EQ
  2. OOPのレンジのEV、EQと各ハンドのEV、EQ

従って、これらの8つの要素から最適なベットサイズが決まります。

体系化の何が難しいか

例)IPのA-high + ドライボードでのGTOを体系化したい。

IPのオープンレンジを15.0%、OOPのコールドコールレンジを16.8%とします。フロップにA-highのドライボードを10個用意、ベットサイズが33%,66%,125%,250%としてGTOsolverで計算させました。

「IP側は33%サイズのベットを50%の頻度程度打つ」という戦略 S^*が出たので、IPでプレイしていてA-highのドライボードのときはS^*をとりましょう!という結論にしました。

 (S^*は例です。本当に計算して求めたわけではないので注意)

この文を読むと疑問点が浮かび上がります。

疑問
  1. ドライボードの定義は?
  2.   S^*の戦略に丸め込んだ時のEVの損失は?
  3. 各フロップに対するレンジ全体のEV、各ハンドのEVの分散と偏差は?
  4. 選択したベットサイズの妥当性は?
  5. ”IPでプレイして”ってあるけどIP(OPEN15%レンジ)vsOOP(CAPPED16.8%レンジ)の場合じゃないの?

 

この5つの疑問点が体系化の何が難しいかを表しています。一つずつ見ていきましょう。

 

1.FLOPの特徴と抽象化

フロップの種類によってIPとOOPのEVが変化するのは自明です。本当ならばすべてのフロップの種類に対してGTOを知っておくべきですが、それは非現実的です。

なのでフロップの特徴毎に種類を減らせばよいことになります。A-highボード、K-highボード、ドライなボード、ウェットなボード等。種類を減らせば減らすほど、覚える量が減りますが、その分持つ情報量も減るのでNash均衡から遠ざかっていきます。また、正しくフロップを抽象化できないと、結果の妥当性が検証できません。

例でドライボードの定義は?とありましたが、ドライボードという特徴を正しく抽象化できていない場合、丸め込んだ戦略S^*に妥当性がなくなってしまう可能性があります。

困難な点:特徴による妥当なフロップの選択

 

2.どこまでEV lossを許すか

これはそのまま。

困難な点:EV損失をどこまで許すか決めること

 

3.EVとEQの分布(ここが正しくないかもしれない。

最適なベットサイズを決めるために必要な情報を最初に述べました。レンジ全体のEV(EQ)が等しくても各ハンドのEV(EQ)分布が異なる場合、最適なベットサイズが異なる場合が考えられます。フロップを抽象化する際にレンジ全体のEVで抽象化してしまうと、EV分布の情報が抜け落ちる可能性があります。

困難な点: EV,EQによる妥当なフロップの選択

 

4.部分ゲームのノード数

ベットサイズが一つしかないゲームのNash eq.と複数あるNash eq.は異なります(33%だけ、33%, 66%, 125%だけ)。どの程度ベットサイズの選択肢を持っておくかを定量的に決めるのは難しい。また各々のベットサイズの選択も難しい(25%, 50%のサイズなのか、33%, 66%のサイズなのか)。

困難な点:妥当なベットサイズの選択

 

5.Range vs. Range

 この例には結論部分に問題がありました。

IPでプレイしていてA-highのドライボードのときはS^*をとりましょう!

この結論だとBTN vs BB CCの場合も S^*をとることになります。この S^*が妥当な戦略かどうかを調べるにはIP vs OOPの考えられるレンジすべてに対して計算を行わなければなりません。

困難な点:フロップの抽象化だけでなく、レンジも考えないといけない

 

まとめ

状態数が膨大なゲームを抽象化するのは大変ですよ、という話。

次はフロップの抽象化はどのようにできるか考えたいです。