2009-04-09 10 views
1

I currently have another questionは、Javaでのパス検索と関係があります。しかし、私はこれが別の質問だと感じています。複数の可能なエンドポイントで2次元経路を見つけるか?

私はゲームを作っています。パス発見は、複数の可能なエンドポイントに対処できる必要があります。私が見つけたすべての経路発見アルゴリズムとチュートリアルには、1つの終点しかありません。

この変更は、既存のコードのビットに微調整するのが簡単か、ゼロから自分自身を作成する方が良いですか?

答えて

4

A*を使用していて、グラフ内にゴールとみなせる複数の頂点がある場合は、各ゴールまでの距離を見積もり、最小値を使用できます。 A*は、目標までの実際の距離を過大評価しない限り有効です。

この特別な動作により、独自のA*実装を作成する可能性があります。それは多くのコードではありません。おそらく大学生IIRCの宿題の1日か2日です。

+0

実際に動作しますか。 A *は基本的にDijkstraを改善する方法です。一般的な典型的なケースを最適化します。 2つの目標が出発点の反対の場合、少し遅くなる可能性があります。あなたは一点に素早く進んで、相手側の多くの点をチェックする必要があります。しかし、それは避けられません。 – MSalters

1

私はゲームについてよく分かりませんが、Floyd-Warshallは複数エンドポイントの最短経路アルゴリズムです。

+0

ビットオーバーキル。可能な限りすべてのペアを取得します。それはそれらのN *(N-1)です。 – MSalters

関連する問題