アクション指向のAI:回避アルゴリズムには時間がかかる


9

回避、つまり回避のプロセスは、追跡の反対です。ターゲットまでの距離を短くしようとするのではなく、最大化しようとします。

複数のオブジェクトを同時に回避している間は時間がかかります。ここではBFSを使用します。より速くするために、どのアルゴリズムを使用すればよいですか?


2
私はあなたが「回避」を意味すると思います
BigStuuu

@BigStuuu、はい、「回避」
Md Mahbubur Ra​​hman 2012

回答:


12

これらのタイプの動作をシミュレートするには、ステアリング動作を使用することをお勧めします。この方法で実装された回避動作の例については、このページを参照してください

基本的な考え方は、獲物と捕食者の位置ベクトルと速度ベクトルのような単純なプロパティのみを考慮して、これらのプロパティの望ましい変化を線形時間で計算することです。これにより、応答性が高く、現実的な動作になります。

ただし、これには、パスファインディングの場合のように、より高いレベルの目標(たとえば、パワーアップの位置)や静的障害物の位置など、他の要因を考慮しないという犠牲が伴います。これらは、ステアリングビヘイビアアプローチを潜在的なフィールド(リアルタイム戦略ゲームシナリオでの潜在的なフィールドの使用(チュートリアル)を参照)またはパスファインディング(コリドーマップメソッドなど)と組み合わせることで考慮することができます。後者の場合は、更新頻度を減らして(そしてステアリング動作を信頼して、これが原因で発生する可能性のあるエラーを補正する)、またはより階層的なアプローチ(例:準最適階層パスファインディング)と組み合わせて、部分的な再計画を行います。(HPA *)

より具体的な回答が必要な場合は、問題の詳細を追加して質問を改善してください。たとえば、ゲームの内容と話しているNPCの数について説明することを検討してください。


ファジーロジックを使用して、競合する目標の進行を処理することもできます。したがって、獲物が捕食者から逃げている場合、それは洞窟(または電源投入など)に向かって移動する可能性もあります。これにより、捕食者が洞窟と被食者の間に立って、獲物が出入りすることをためらうという興味深い状況が発生する可能性があります。捕食者が別の獲物を追いかけると、捕食者の周りの広いバースで洞窟に到達します。限られた追加コストですべて。(潜在的なフィールドがここで良い解決策ではない理由を確認するために、
戦場の衛生兵などのモバイル用のサブケイブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.