問題タブ [game-ai]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
artificial-intelligence - ボードゲームのAI同士を対戦させるテクニックとは?
特定のボード ゲーム用に複数の AI プログラムがあり、すべて異なる言語で実装されており、人間の仲介なしでそれらを互いに競合させたいとします。これについてどうすればいいですか?
これは、AI 研究者、愛好家、ゲーム競技会などに共通の問題であると想像します。
共通のアーキテクチャはありますか? おそらく、AI は個別のプロセスとして実行され、ソケットを介して中央の「ボード」プロセスと通信するのでしょうか?
game-ai - ゴリラ vs サメ - 勝つのはどっちだ - 効用理論ゲーム AI の行き詰まりを解消する
コンテキスト: 効用理論 ゲーム AI 質問: デッドロックを解決するには? シナリオ: RTS ゲーム - 両陣営にはゲーム内に 1 つのユニットしか残っておらず、それ以上構築するためのリソースがありません。
閉ざされた世界に存在する唯一の存在であるゴリラとサメを考える (シミュレーション) ゴリラもサメも効用理論 AI によって駆動される
どちらも、他の機能についての知識はありません。どちらも、もし戦いが起こった場合に誰が勝つかについての知識はありません. どちらも相手の場所を知りません。
ゴリラの視点から見ると (簡単にサメになれるかもしれません):
効用を最大化するためには、サメと戦って倒さなければなりません。
サメと戦うために、ゴリラはまずサメを偵察しなければなりません。ただし、そうすると、サメに「ぶつかり」、戦いに終わる可能性があります。
ゴリラがサメと戦った場合、負ける可能性があります。この場合、これは効用を最大化することとは逆になります。
したがって、これらの状況では、ゴリラとサメが意図的にお互いを避けるだけで、効用理論 AI は単純に終了します。
そして、これはデッドロックになります。その理由は、他のものを避けることも、効用を最大化するための一形態だからです。
デッドロックを打破するには、ゲーム AI が最適ではないルールをランダムに使用するようにする必要があります。たとえば、「ランダムな計画外の攻撃」
基本的に、「結果が不明な」シナリオ (またはアクションが非決定論的であるシナリオ) をどのように効用理論 AI にモデル化しますか。それとも、ランダム動作を導入することが唯一の方法ですか?
data-structures - 一連の行動ルールを保存する方法は?
プレイヤーがボットを作成し、その動作を定義するゲームを作成するというアイデアが頭の中にあります。その後、ボットはオープン ワールド (非常に単純化されたもの) に送られ、できるだけ長く生き残る必要があります。
現在、動作定義を格納する正しいデータ形式を見つけようとしています。何かアドバイス?
動作は、条件とアクションの単純なセットとして定義する必要があります。内部ノードが条件になり、葉がアクションを表すある種のツリー構造を考えていますが、実際に使用できるものを思いつくのに苦労しています。
どうもありがとう!