私がさまざまな情報源で読んだことによると、モンテカルロ法はランダムなサンプルを取得し、さまざまなソリューションをテストして最適なソリューションを選択するようなものだと言われています。これが実際の AI で実際にどのように機能するかは正確にはわかりません。簡単な例を教えていただけますか?どのように効果的ですか?これを、非決定論的なゲーム AI に特化した他の既存のアルゴリズムと並行して使用することは可能ですか?
2 に答える
モンテカルロ法とは、特定のシナリオをシミュレートするために乱数を作成することを指します。それ自体はAIとは何の関係もありません。
代わりに探しているのは、おそらくEvolutionary Computing
、Genetic Algorithms
またはGenetic Programming
生物学的進化の原則を使用して問題に対するさまざまな解決策が作成および進化されている場所です。これは乱数を多用します。
たとえば、http: //en.wikipedia.org/wiki/Genetic_algorithmを参照してください。
これらのテクノロジは、並列コンピューティングで非常にうまく使用でき、非決定論的なゲーム AI に非常に適しています。
モンテカルロ (MC) を使用して AI を設計するときは、すべての最適化関数で行うように行います。
ソリューションをランダムに生成し、最適なソリューションを選択するだけです。
例:
あなたはタワー ディフェンス ゲームをしていて、必ずしも敵が常に迷路を通り抜けることを望んでいるとは限りません。個人ごとにいくつかのパスを生成し、N 個のサンプリングから最適なものを選択するだけです。これで、敵は迷路を通り抜けて、悪くもなく、良すぎず、さまざまな方法を選択します。
これには、MC のような最適化アルゴリズムである遺伝的アルゴリズムを使用することもできます。
Evolutionary Computing や Genetic Programming はまったく別のものであり、自分が何をしているのかを理解していない限り、それらを AI の作成に使用することはありません。
ゲームで優れた AI を作成することは、多くの場合、「最善の」ソリューションを使用することではなく、興味深いソリューションを使用することに関係しています。ダイクストラを使用し、すべての敵が同じパスを使用する場合、それは効率的かもしれませんが、面白くない可能性があります。