モンテカルロ/網羅的列挙法を使用せずにテキサスホールデムポーカーの勝率を計算する方法はありますか?
特定の場合には可能です...
2 人のプレーヤーのヘッズアップ プリ フロップ マッチアップには、完璧なルックアップ テーブル プリ フロップを使用できます。「典型的な」169 対 169 の概算では十分ではないことに注意してください (たとえば、Jh Th 対 9h 8h は実際には「JTs 対 98s」ではありません)。つまり、それはかなり大まかな概算になります)。
それに加えて、大量のメモリがあり、巨大なキャッシュ ミスに耐えることができる場合、技術的には巨大なルックアップ テーブルを事前に計算し (サーバー側で言う)、他のケース (たとえば、3 人のプレイヤーがオールインするすべてのマッチアップ) のルックアップを行うことができます。プリ フロップ)、しかし、実際には多くのメモリが必要です :)
フロップとターンでの「フル エニュメレーション」は問題ではないことに注意してください。フロップではあと 2 枚のカードしかないため、通常は C(45,2) しかありません [フロップで 2 人のプレーヤーがオールインし、2*ホールカード 2 枚 + コミュニティ カード 3 枚 -- したがって 990 の可能性が残る] または C(43,2) [フロップで 3 人のプレイヤーがオールイン、ホールカード 3*2 + コミュニティ カード 3 枚がわかる]。
したがって、実際の評価者は 1 つではなく複数の方法を使用します。例えば:
- プリ フロップでオールインする 2 人のプレイヤーのルックアップ テーブル (最速)
- 小さいため(最大 990 の可能性) 、フロップまたはターンでオールインする任意の数のプレイヤーの完全な列挙型-- 非常に高速
- モンテカルロまたは 3 人以上のプレーヤーのフル列挙型オールイン プリ フロップ -- 信じられないほど遅い
ここで興味深いことに、最も典型的なケースでは非常に速く結果が得られます。ほとんどの実際のオールインでは、3 人以上ではなく 2 人のプレイヤーが関与します。
したがって、「1 vs 1 プリ フロップ」のルックアップ テーブルを検索するか、完全な C(45,2) または C(46,1) の完全な列挙型を実行します (どちらの場合も驚くほど高速です)。
時間がかかるのは、「3 人以上のプレイヤーがプリフロップでオールイン」の場合だけです。