見出し画像

【翻訳】ナッシュディスタンスを理解する【セオリー】GTOWブログ.5

ソルバーを使用して学習するときに最もよくある質問の1つは、「別のアクションのEVの方が高いのに、ソルバーはなぜこのアクションを実行するのか?」というものである。たとえば、以下のこのシナリオでは、チェックの方がベットよりもEV が高いことがわかるが、ソリューションはこのハンドでベットしようとしている。

これはソルバーの『ノイズ』の例である。
なぜこれが起こるのかを理解するには、まずゲーム理論の基本原則を理解する必要がある。


混合戦略の原則

完全な均衡状態では、混合戦略は常に同じEVを持つはずである。つまり、ハンドが2つ以上のアクションを混合する場合、それらのアクションは同じEVである必要があると言える。考えてみてほしい。なぜ意図的に悪い戦略を選択するのだろうか?本当に完璧な戦略とは、いわば「バランスのためにEVを犠牲にする」なんて事はしない。これはナッシュ均衡の大原則である。

上の例では、ソルバーはA7oをチェック、27%ベット、73%ベット、127%ベットの混合戦略を選択することがわかる。しかし、これらのアクションは同じ EV ではない。では、なぜ私たちのソリューションでこのようなことが起こるのだろうか?A7oでチェックする事が最高のEVのアクションであるにもかかわらず、なぜ「不正確」とみなされるのだろうか?

ソルバーのノイズ

GTO ソリューションは不完全である。実際、GTO ソリューションは完全な精度で解決されるわけではなく、ある程度のエクスプロイトが可能な閾値を残して計算される。

ソリューション全体のエクスプロイトされる可能性が低いほど、ソリューション自体の精度は高くなる。ソリューションの精度は、「ナッシュディスタンス」または dEVと呼ばれる指標で定義される。参考までに、GTO ウィザードは通常、ポットの約0.2%~0.3%まで計算する。これは実際どの程度エクスプロイト可能だろうか?

BTNvsBBのシナリオを想像しよう。ポットは5.5BBである。つまり、可能な限り最善の戦略では、このソリューションを最大5.5BBの0.3%、つまり1ハンドあたり0.017BBエクスプロイトする事が出来る。これは人間のプレイのレベルをはるかに超えている。

これは「ソルバーのノイズ」と呼ばれるものである。ハンドは常に最高のEVのアクションを実行するとは限らない。完璧な精度で計算されると、このノイズは消え、すべての混合戦略は同じEVとなる。

ほとんど取られる事のないプレイラインでは、アクション間のEVの大きな差異に気づく場合がある。これは、ソルバーが効率を高めるために、計算プロセスの早い段階で計算を停止するためである。これらのプレイラインの戦略とEVの精度はそれほど高くはないが、これは正常である。

エクスプロイトされる可能性

ということは、最も高いEVのアクションが常に最良の選択であるということだろうか?

必ずしもそうとは言えない。今目の前にあるお互いの戦略に対して、それが最善の選択となるのである。ただし、常にA7oをチェックする場合、理論的にはBBはチェックのEVが低くなるように戦略を調整出来る可能性がある。思い出してほしい、ソルバーはエクスプロイトされない為に混合戦略を行うのである。

上記の例を完璧な精度で計算したらどうなるだろうか?チェックすることは依然として最高のEVのアクションだろうか?

A7において、次の2つのうちの1つの結果が起こる。
①チェックはより低いEVに収束し、使用されることがなくなる。
または
②チェックは他のオプションと同じEVに収束し、一定の頻度で使用され続ける。

完璧な精度で計算しない限り、確実に知る方法はないが、一般的に、低頻度のアクションは消滅してEVが低くなるが、適切な頻度で実行されるアクションは戦略の一部として残る事が多い。このため、頻度が3.5%未満で実行されるべきアクションを選択した場合はトレーナーにおいて「不正確」とマークされる。

別の例を見てみよう

例2

このシチュエーションにおけるA7oがコールとフォールドの混合戦略を採用している事がわかるが、コールはフォールドよりも大幅に高いEVを示している。コールはフォールドよりEVが約1.7BB高い。では、なぜがフォールドが混在するのだろうか?

これは大局的に考える必要があり、コール後のポットは200.05BBになる。したがって、1.8 BBの差異はポットの約0.9%に過ぎない。実際には、これは見た目よりもはるかに近い。 ポットが大きくなると、1%の誤差は実際よりさらに大きく見える。

すべてをコールする場合の問題は、エクスプロイトされてしまうことである。 これらボーダーラインのブラフキャッチャー全てをコールすることを想像して欲しい。突然、あなたはオーバーコールをするようになり、バリューヘビーな対戦相手にエクスプロイトされる可能性がある。

なぜ完璧な精度で計算しないのか?

完全に正確なソリューションは、単純に量産する事が不可能である。 問題は、均衡状態に収束していくにつれて計算速度が非常に遅くなるということだ。 完全に解決されていない状態から0.5%dEVに到達するのにかかる時間は、0.5%dEVから0.25%dEV に到達するのにかかる時間とほぼ同じである。

精度が 2 倍になると、計算にかかる時間も 2 倍になる。そして収穫も少ない。0.3%dEVの精度のソリューションは、0.15%dEVで計算されたソリューションとほぼ同じであり、どちらにもソルバーのノイズが存在する。

別の方法は、解決が容易な非常に単純なツリーを作成することである。ゲームツリーを過度に単純化すると、そのツリーの制限をソルバーがエクスプロイトする事よって人為的な歪みが生じるという、独自の問題が発生する。

結局のところ、とても高い計算精度や極小の EV にこだわるのはあまり意味がないと言える。いずれにせよ、このソリューションは人間のエクスプロイト可能なレベルをはるかに超えている。

以下の図は計算過程の1 つの例である。 見ての通り、最初は速く進み、その後、均衡に近づくにつれて徐々に遅くなる。 これはポットの0.3%の精度まで計算されたものである。

ソリューションから何を読み取るべきか

ソルバーがアクションを混合しているのを確認した場合は、最も高い EV アクションを探すのではなく、最も高い頻度のアクションに注目する必要がある。 EV の不一致が見られる場合は、ソリューション内のノイズが原因であるためだからだ。

混合戦略は全て同じEVとして扱う。目に見える不一致は誤差の範囲と考えることが出来る。

GTO のポイントは、エクスプロイトされない、最も高いEVの戦略を見つけることだ。わずかなエラーは、すべてのソリューションに見られる。あなたの目標は、頻度を暗記することではなく、より高いレベルの戦略を抽象化し、GTOの推論を研究することである。

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