見出し画像

【ポカチェ】分散ICMをかんたんに紹介します

こんにちは。ARAです!
今回は、分散ICMというものを紹介したいと思います。

僕の記事で、参考文献としてあげている文書が解説している理論なのですが、今回はそれをできるだけわかりやすくnoteで紹介してみたいと思います。

また、この理論はポカチェステージ6についてのみ考察したものです。以降その前提で話を進めます。

今回もidenyanさんに監修していただきました。idenyanさん、ありがとうございました!


1. 分散ICMとは

通常のICMよりも高い分散を意識した、目標レートの到達確率を最大にするためのICMのことです。

高レートを目指すときに、分散が大きいことが有利なことは、この記事で解説しています。


いわば、上の記事で解説した理論の、実践に向けた一つのソリューションになります。

分散ICMはidenyanさんが考案した理論になります。
未知数の可能性を秘めており、筆者としてはidenyanさんには頭が上がらぬ思いです。


2. 通常のICM

ICMとは、プレイヤーのスタックと順位ポイントから計算される賞金期待値を計算するモデルのことを指します。
ICM自体の詳しい説明は文献[3]等を参照してください。

ポカチェのステージ6では、順位ポイントが1位から6位まで順に、
(35,21,7,-7,-21,-35)となっています。

(35,21,7,-7,-21,-35)という数字の並び(以降ベクトルと呼びます)は、
1位なら+35ポイント、2位なら+21ポイント、3位なら7ポイント、4位なら-7ポイント、5位なら-21ポイント、6位なら-35ポイントもらえるということを意味します。

通常のICMとは、ここでは順位ポイントベクトル(35,21,7,-7,-21,-35)を適用したICMを意味します。

ちなみに、このICMは、線形性という性質を持っていて、この順位ポイントベクトルを、次のように変換しても問題ない(最適戦略が変わらない)ことがわかっています。

(35,21,7,-7,-21,-35)→(5,4,3,2,1,0)

具体的な計算としては、それぞれの値を14で割って、2.5を足してみてください。

皆さんの中には、Nash ICM Calculatorを使っている人も少なくないでしょう。

その際に、Prizeの部分に(35,21,7,-7,-14,-35)の代わりに、(5,4,3,2,1,0)と入力してもよいのは、ICMにこういった性質があるからです。

もちろん、(5,4,3,2,1,0)に限らず、線形性を保っていれば例えば(6,5,4,3,2,1)のように入力しても問題ありません。


3.分散ICMの活用法

では、具体的に、どのように活用するかを説明します。

最終的なゴールは、分散賞金ベクトルと呼ばれるベクトルを求めることになります。
それが、あなたが従うべきICMになります。
(※厳密にはそのベクトルに対応するICMに従います)

どういうことかというと、

実際には、(35,21,7,-7,-21,-35)というポイントが与えられるわけですが、

あたかもこの分散賞金ベクトルのポイントが与えられると仮定したときのICMに従って行動することで、目標レート到達確率が最大になります。

例えば、分散賞金ベクトルが(45,32,21,12,5,0)の場合、1位で45ポイントもらえる、2位で32ポイントもらえる、3位で21ポイントもらえる、、、といったふうに考えて行動するということです。

それでは、分散賞金ベクトルを求める手順を説明します。


~~~~~~~分散賞金ベクトルの求め方~~~~~~~~~~~


まず、目標レートを決めます。

ここでは、試しに2800としてみます。

次に、自分の実力レートを考えます。

自分の実力は大体これくらいかなぁってやつで大丈夫です。

(一応定義はあって、現在のレート値+一試合の平均獲得ポイント*40なんですが、実際に求めるのは無理なのであまり気にしないで大丈夫です。)

ここでは、2500としてみましょう。

そして、目標レートと実力レートの差を求めます。
今回の設定だと、300ですね。

続いて、次のベクトル(数字の並び)に、

G'= (目標レートー実力レート)/560

を代入した値を求めます。
今回は、G'=300/560になります。

それでは、計算してみましょう。
今回は、代入した後、ベクトルの5番目の数値が1になるように調整します。
(これはベクトルをベクトルの5番目の値で割ることでできます)

(350,280-48G',210-72G',140-72G',70-48G',0)

(7.9,5.7,3.9,2.3,1,0)

すると、上のような結果が得られました。
また、各値は小数点第2位を四捨五入しています。

これが、求めたかった分散賞金ベクトルになります。

先ほど説明した通り、この分散賞金ベクトルのそれぞれの数値を、各順位でもらえるポイントだと想定してアクションをすることが、分散ICMの活用法となります。

4.まとめ

以上が、分散ICMのかんたんな説明になります。
思ったより難しくなかったのではないでしょうか。
実際これ通りにアクションすることは難しいですが、大まかな指針にはなると思います。
最後まで読んでいただき、ありがとうございました!

5. Q & A

Q.レート補正は考慮していますか。

A.はい。考慮しています。
むしろ、レート補正を考慮する上で、(5,4,3,2,1,0)のような階段上(賞金差が均一)な順位ポイントベクトルを使うのは望ましくありません。
ただし、3位のときに最低+1保証される点は考慮できていません。

Q.誤差はありますか

A.はい。あります。先ほどの3位最低+1保証を考慮していない誤差に加え、CLTという仮定からのズレが誤差として存在します。
CLTについては、参考文献[1]を参照してください。

付録1 分散賞金ベクトル Bot

(350,280-48G',210-72G',140-72G',70-48G',0)の計算ってめんどくさいですよね。

私もそう思ったので、このベクトルを代わりに計算してくれるLINE botを作りました。次のIDかQRコードから登録してみてね。

ID:@947lbhhb


使い方はかんたんで、目標レートー実力レートの値を入力するだけです。

こんな感じ

ベクトルの各値は小数第2位で四捨五入しています。

付録2 分散賞金ベクトル早見表

Linebotを登録するのも面倒って方多いと思うんで、代表的な分散賞金ベクトルをのせておきます。

こちらも同様、ベクトルの各値は小数第2位で四捨五入しています。

上振れ +100
(5.7,4.4,3.2,2.1,1,0)

上振れ+150
(6.1,4.7,3.3,2.1,1,0)

上振れ+200
(6.6,5,3.5,2.2,1,0)

上振れ+250
(7.2,5.3,3.7,2.2,1,0)

上振れ+300
(7.9,5.7,3.9,2.3,1,0)

上振れ+350
(8.8,6.3,4.1,2.4,1,0)

この数字のときのベクトルが知りたい!ていうのがあったら追記するので気軽に教えてください

上の表に載せた以外の分散賞金ベクトルも、上の表からおおざっぱに予想することはできます。
例えば上振れ+220を知りたかったら、
上振れ+200と上振れ+250をみてください。
各順位ポイントは、その二つの中間値をとります。

6. 参考文献

1.「分散ICM」 idenyan

https://drive.google.com/file/d/1mfq5QakdnzOoK0443XzzgiFPzziqbnr-/view

2.分散ICM【ポーカーの数学 #1】 idenyan
https://www.youtube.com/watch?v=jpEbu_JbLTk&t=570s

3.ICM(Independent Chip Model)Poker道 初心者でもできるテキサスホールデム
https://www.pokerdou.com/tournament/icm/

7.注意 分散ICM理論の修正について

分散ICM理論は、2023年5月26日にidenyanさんのyoutubeチャンネルにて初めて発表されました。
しかし、2023年9月9日の時点で、分散賞金ベクトルの計算に致命的な誤りがあることが分かり、急遽修正が加わりました。
このnoteで発表している分散ICMも、その修正版となります。
今まで分散ICM理論を勉強していた方も、新しい分散賞金ベクトルを参照するようにしてください。

旧分散賞金ベクトル(誤):(350-300G',280-288G',210-252G',140-192G',70-108G',0)

新分散賞金ベクトル(正):(350,280-48G',210-72G',140-72G',70-48G',0)

大元の原因:文献[1]p.10 
E(P,ε)=p_i - E, S(P,ε)= (p_i - E)^2  → E(P,ε) = p_i, S(P,ε)= (p_i)^2

この記事が気に入ったらサポートをしてみませんか?