0

特定の開始ノードから目標ノードへの最小コストのパスを取得するために使用するアルゴリズムを見つけようとしています。

A ----5---- B ---3--- C
|           |
|           /
D ----1-----E ------10------ F

私はダイクストラとA*の両方を調べてきました。どちらも、このような問題に最適な解決策を提供するからです。私が理解しているのは、ダイクストラはヒューリスティックが0のA *であるということです。私はすでにダイクストラのアルゴリズムを実装していますが、代わりにA*を使用できるかどうか疑問に思っていました。上記のような非常に単純なグラフ(他の情報なし)で、A *がダイクストラと比較してさらに良い結果を提供するために使用できる許容可能なヒューリスティックはありますか、それともダイクストラが最適なアルゴリズムですか?

4

1 に答える 1

1

グラフの内容に適合するヒューリスティックについての知識がない場合は、ダイクストラを選択する必要があります。

A* は道路地図用に開発されました。道路の距離については、直接の距離が別のノードを経由するよりも常に短いという制約が適用されます。この制約は、一般的な加重グラフには適用されません。

グラフのコンテンツのそのような追加の制約/ヒューリスティックがわからない場合は、ダイクストラを使用する必要があります

さらに、ロード マップ グラフは非常に大きいため、A* を使用する価値があることに注意してください。グラフが大きくない場合は、ヒューリスティックを見つけるかどうかを考える価値さえないでしょう。このような間違ったヒューリスティックは、事態をさらに悪化させる可能性さえあります。

したがって、Dijkstra を使用することができ、パフォーマンスの問題がある場合にのみ、ヒューリスティックを見つけることを考え始めることができます。

于 2013-02-14T02:52:24.707 に答える