見出し画像

簡易フロップを作成する

現在持っている集合分析のファイルはそのままでは使いづらかったので色々といじってみました。

視覚情報が悪い



変更点と追加項目

・Flop AhKd9c → A♥️K🔷9♣️
・正変数と偽変数を追加
 正変数は細かいフィルタリングとPairの判定に使用
 偽変数はコネクトの判定に使用(それ以外は使用しない)
・High Middle Low → 変数からA H M Lで表示に変更
 A H(K~T) M(9~6) L(5~2)
・Suit 簡易表示に変更、Twotoneを3種に分ける
 Monotone → m
 Rainbow → rr
 Twotone
  A♥️K♥️9🔷 → tt1
  A♥️K🔷9♥️ → tt2
  A🔷K♥️9♥️ → tt3
 3種に分ける目的はTwotoneの組み合わせによって頻度に差はあるのかを調べるため
・Connect 簡易表示に変更、ギャップで3種に分ける
 Connected
  K♥️Q🔷J♣️ → CT
  K♥️Q🔷T♣️ → CT1(ギャップ1)
  K♥️Q🔷9♣️ → CT2(ギャップ2)
 OESD
  K♥️9🔷8♣️ → OE
  K♥️9🔷7♣️ → OE1(ギャップ1)
  K♥️9🔷6♣️ → OE2(ギャップ2)
 3種に分ける目的はギャップの開き方によって頻度に差はあるのかを調べるため
・Pair 数字で表示する
  Tripled → 3
  Paired → 2
  not Paired → 1

仕上がりはこんな感じです↓

項目Nはボードナンバー


作成手順は以下の通りです

・Flop 検索と置換機能を使う

すべてを選択すると一括処理


・正変数 MID関数、IFS関数、VALUE関数を使う
 MID関数【MID(A2,1,1)】
 A2に入力されているFlopの1文字目を取り出す
 ※MID関数で取り出したものは文字列扱いになります
 IFS関数【IFS(MID(A2,1,1)="A",14)】
 取り出した文字列がAなら14、Kなら13とハイカード分(A~T)作る
 ※Aなら14とA~Tは数値になっているが9以下は文字列になっています
 VALUE関数【VALUE(IFS(MID(A2,1,1)="A",14))】
 9以下は文字列扱いになっているので数値として扱うためにVALUE関数で括っています

・High
=VALUE(IFS(MID(A2,1,1)="A",14,MID(A2,1,1)="K",13,MID(A2,1,1)="Q",12,MID(A2,1,1)="J",11,MID(A2,1,1)="T",10,TRUE,MID(A2,1,1)))

・Middle
=VALUE(IFS(MID(A2,5,1)="A",14,MID(A2,5,1)="K",13,MID(A2,5,1)="Q",12,MID(A2,5,1)="J",11,MID(A2,5,1)="T",10,TRUE,MID(A2,5,1)))

・Low
=VALUE(IFS(MID(A2,9,1)="A",14,MID(A2,9,1)="K",13,MID(A2,9,1)="Q",12,MID(A2,9,1)="J",11,MID(A2,9,1)="T",10,TRUE,MID(A2,9,1)))


・偽変数(F列~H列)
 正変数(C列~E列)をすべてコピーしてF列~H列に値のみ貼り付ける
 コネクトの判定は【H-L<5】となりますがAハイボードは14とも1とも扱うため正変数から判定するには処理が非常に面倒になるので偽変数を↓の画像のように手動で変更します
 ※A54以下やA42は数式上コネクト判定になりますが、今回はWizardの判定に従うので含めていません

数も少ないので手動処理も楽です


・High Middle Low(I列~K列) IFS関数を使う
 正変数(C列~E列)から処理する
 14はA、13~10はH、9~6はM、5~2はL

・H
=IFS(N2=3,"--",C2=14,"A",C2>=10,"H",C2>=6,"M",TRUE,"L")

・M
=IFS(N2=3,"--",D2=14,"A",D2>=10,"H",D2>=6,"M",TRUE,"L")

・L
=IFS(N2=3,"--",E2=14,"A",E2>=10,"H",E2>=6,"M",TRUE,"L")

※N2=3はTripledかどうかを判定しています


・Suit(L列) AND関数、MID関数、IFS関数を使う
 A列Flopの2文字目6文字目10文字目を判定
 Monotone
  A♥️K♥️9♥️ → m
   AND(MID(A2,2,1)=MID(A2,6,1),
       MID(A2,2,1)=MID(A2,10,1),
       MID(A2,6,1)=MID(A2,10,1))
 Twotone
  A♥️K♥️9🔷 → tt1
   MID(A2,2,1)=MID(A2,6,1)
  A♥️K🔷9♥️ → tt2
   MID(A2,2,1)=MID(A2,10,1)
  A🔷K♥️9♥️ → tt3
   MID(A2,6,1)=MID(A2,10,1)

3種に分ける場合
=IFS(N2=3,"--",AND(MID(A2,2,1)=MID(A2,6,1),MID(A2,2,1)=MID(A2,10,1),MID(A2,6,1)=MID(A2,10,1)),"m",MID(A2,2,1)=MID(A2,6,1),"tt1",MID(A2,2,1)=MID(A2,10,1),"tt2",MID(A2,6,1)=MID(A2,10,1),"tt3",TRUE,"rr")

※N2=3はTripledかどうかを判定しています

3種に分けない場合
=IFS(N2=3,"--",AND(MID(A2,2,1)=MID(A2,6,1),MID(A2,2,1)=MID(A2,10,1),MID(A2,6,1)=MID(A2,10,1)),"m",OR(MID(A2,2,1)=MID(A2,6,1),MID(A2,2,1)=MID(A2,10,1),MID(A2,6,1)=MID(A2,10,1)),"tt",TRUE,"rr")


・Connect(M列) AND関数、OR関数、IFS関数を使う
 偽変数(F列~H列)を使って判定
 Connected 【not Paired】&【1<H-L<5】
  K♥️Q🔷J♣️ → CT
   AND(N2=1,F2-H2=2)
  K♥️Q🔷T♣️ → CT1(ギャップ1)
   AND(N2=1,F2-H2=3)
  K♥️Q🔷9♣️ → CT2(ギャップ2)
   AND(N2=1,F2-H2=4)
 WizardのAハイボードのOESD判定はAAKやA22、AK8は判定されずPairでなければドライボードとして扱われています(実際にはSDは存在します)、なのでAハイボードの計算式は【not Paired】かつ【0<M-L<4】となります
 OESD(Aハイ) 【not Paired】&【0<M-L<4】
  A♥️9🔷8♣️ → OE
   AND(C2=14,N2=1,G2-H2=1)
  A♥️9🔷7♣️ → OE1(ギャップ1)
   AND(C2=14,N2=1,G2-H2=2)
  A♥️9🔷6♣️ → OE2(ギャップ2)
   AND(C2=14,N2=1,G2-H2=3)
 OESD 【0<H-M<4 or 0<M-L<4】
  K♥️9🔷8♣️ → OE
   AND(C2<>14,OR(F2-G2=1,G2-H2=1))
  K♥️9🔷7♣️ → OE1(ギャップ1)
   AND(C2<>14,OR(F2-G2=1,G2-H2=2))
  K♥️9🔷6♣️ → OE2(ギャップ2)
   AND(C2<>14,OR(F2-G2=1,G2-H2=3))

3種に分ける場合
=IFS(AND(N2=1,F2-H2=2),"CT",AND(N2=1,F2-H2=3),"CT1",AND(N2=1,F2-H2=4),"CT2",AND(C2=14,N2=1,G2-H2=1),"OE",AND(C2=14,N2=1,G2-H2=2),"OE1",AND(C2=14,N2=1,G2-H2=3),"OE2",AND(C2<>14,OR(F2-G2=1,G2-H2=1)),"OE",AND(C2<>14,OR(F2-G2=2,G2-H2=2)),"OE1",AND(C2<>14,OR(F2-G2=3,G2-H2=3)),"OE2",TRUE,"--")

N=1はnot Pairedどうかを判定しています

3種に分けない場合
=IFS(AND(N2=1,F2-H2<5),"CT",AND(C2=14,N2=1,G2-H2<4),"OE",AND(C2<>14,OR(AND(0<F2-G2,F2-G2<4),AND(0<G2-H2,G2-H2<4))),"OE",TRUE,"--")

 気にする人がどれくらいいるか分かりませんがSDを判定する場合は、偽変数AハイPairボードのAA5~AA2、A55~A22の並びを以下のように変更します

SDを含める場合
=IFS(AND(N2=1,F2-H2<5),"CT",AND(C2=14,N2=1,G2-H2<4),"OE",AND(C2<>14,OR(AND(0<F2-G2,F2-G2<4),AND(0<G2-H2,G2-H2<4))),"OE",OR(AND(0<F2-G2,F2-G2<5),AND(0<G2-H2,G2-H2<5))),"SD",TRUE,"--")

・Pair(N列) OR関数を使う
 正変数(C列~E列)を使って判定
 Pairの判定はFlop(A列)の並びに規則性がある場合は非常に簡単です(左端が最大値、右端が最小値)
 ①AA2
 ②A2A
 ③2AA
 ④A22
 ⑤2A2
 ⑥22A
 規則性のある並びの場合、6通りある内①と④以外の並びは存在しないので最大値(C列)と最小値(E列)が一致(=)するのはTripledしかありません
 Tripled → 3 【大=小】
  C2=E2
 Paired → 2 【大=中】or【中=小】
  OR(C2=D2,D2=E2)

=IFS(C2=E2,3,OR(C2=D2,D2=E2),2,TRUE,1)

ボードナンバーと正変数と偽変数(B列~H列)はあまり使わないのでグループ化して閉じときます

項目がスッキリしました


どれくらい見やすくなったのかを確認してみましょう(BTNvsBB SRP)

Aハイボードのオーバーベット頻度が高いボードを確認していきます

①まずはAハイボード(I列から選択)のみ表示して125%(S列)を降順で並べ替えます

スクロールして確認してみると
 1.ミドルカードがT以上
 2.ローカードが9以下
 3.Monotoneではない
 4.Connectしていない
 5.Pairボードではない
ということが確認できたのでそれぞれフィルターをかけていきます

②Flopの並びがバラバラなので一度ボードナンバーを昇順で並べ替えます


③最後にSuitを昇順で並べ替えます
どれくらい見やすくなったのかは一目瞭然だと思います

Twotoneを3種に分けなかった場合

Twotoneを3種に分けた場合


④SUBTOTAL関数でそれぞれの平均値を確認する

 今回のシチュエーションでは全フロップ(1755)中、104のスポットがありました。
 分類別に見るとRainbowボードはTwotoneと比べBET頻度が少し上がるが一部のボードでは33%と125%の混合になっています。(主にミドルカードがJかTの場合)
 TwotoneボードはSuitの並びに関係なくBETサイズはほぼ125%一択となっていることがわかりました。

⑤簡易フロップにまとめる
 Aハイボード
 オーバーベットの頻度が高いボードと特徴は?
 ・ボード(特徴:not Connected & not Paired)
   AHMrr
   AHLrr
   AHMtt
   AHLtt

104あったボードが4つにまとめられましたね。簡単に書き出しましたがその他に
 ・オーバーベットが選択される理由は?
 ・コールされた後のターン、リバーはどうする?
 ・BBのディフェンス頻度は?
など必要なことを書き出していけばこのスポットにおける勉強は十分?じゃないでしょうか(難しいことはよく分かりません笑)


最後に

最近ポーカーに飽きてきて、気分転換も兼ねて今回書きました。またダラダラと書くことがあるかもしれません。最後まで読んで頂きありがとうございました。


今回使用したファイルを置いときます(頻度等の数値は入っていません)





いいなと思ったら応援しよう!