私はこれを以前に尋ねられたことがあるかどうかフォーラムを検索しました。アルゴリズムゲーム理論が議論されている間、私はこの特定の問題に対処することを見つけることができませんでした。私は、有限のn人ゲームで近似(混合戦略)ナッシュ均衡を計算するための最もよく知られているアルゴリズムが何であるかを理解しようとしています。もちろん、このアルゴリズムはPPADです。アルゴリズムの完全な精度よりも速度/効率に関心があります。
ありがとう、フィリップ
私はこれを以前に尋ねられたことがあるかどうかフォーラムを検索しました。アルゴリズムゲーム理論が議論されている間、私はこの特定の問題に対処することを見つけることができませんでした。私は、有限のn人ゲームで近似(混合戦略)ナッシュ均衡を計算するための最もよく知られているアルゴリズムが何であるかを理解しようとしています。もちろん、このアルゴリズムはPPADです。アルゴリズムの完全な精度よりも速度/効率に関心があります。
ありがとう、フィリップ
回答:
簡単に言えば、近似のナッシュ均衡を確実に見つけるための多項式時間アルゴリズムはいくつかありますが、それらはすべて比較的貧弱な近似を見つけます-実際にゲームをプレイするアルゴリズムを見つけようとすると、おそらく十分ではありません。nプレーヤーゲームよりも2プレーヤーゲームの方が知られています。
あなたがやろうとしていることが実際に(おおよその)ナッシュ均衡を見つけているなら、あなたが試すかもしれないコーディングの簡単なことの1つは、ランダム化された加重多数決アルゴリズム(http://en.wikipedia.org/ wiki / Randomized_weighted_majority_algorithm)。これが機能することは保証されていませんが、多くの場合は機能します(ゼロサムゲームなどの特定のクラスのゲームで保証されています)。特に、このプロセスが収束する場合、ナッシュ均衡に収束することが保証されます。危険は、収束せず、永久に循環しないことです。ただし、この場合でも、ゲームプレイの経験的履歴は、相関の粗い一連の均衡に収束します。
実際にソフトウェアに実装されているアルゴリズムに興味がある場合、私が知っているいくつかの方法があります。
GAMBITパッケージ(http://www.gambit-project.org/doc/index.html)は、2プレーヤーおよびnプレーヤーの通常のフォーム、場合によっては広範なフォームゲーム用のいくつかのNash平衡アルゴリズムを実装しています。
GameTracer(http://dags.stanford.edu/Games/gametracer.html)は、nプレーヤー標準フォームゲーム用のGovindan&WilsonのGNMおよびIPAアルゴリズムを実装しています。
大規模なゲームの場合、プレーヤーの数でサイズが指数関数的に増加するため、通常のフォーム表現は問題があります。代わりに、ゲームのユーティリティ関数に特定の種類の構造がある場合、「簡潔な表現」(たとえば、グラフィカルゲーム、対称ゲーム、アクショングラフゲーム)を使用して、はるかに少ないスペースで表現できます。さらに、この構造はしばしば計算の高速化に利用できます。ソフトウェアに関しては、AGGソルバー(http://agg.cs.ubc.ca)は、GameTracerのGNMアルゴリズムとGAMBITのsimpdivアルゴリズムをアクショングラフゲーム(AGG)表現に適合させます。(免責事項:私はこのソフトウェアパッケージの開発に関わっています。)