2016-10-04 6 views
1

私はA *、統一されたコストと貪欲な検索アルゴリズムがどのように機能するかを理解しようとしています。私は、ノードが3つのアルゴリズムすべてで探索される方法を知っています(欲張りはヒューリスティックな値に基づいて探索します、A *はヒューリスティック+距離に基づいて、距離に基づく均一)。A *は常に最短経路を提供しますか?

3つのアルゴリズムがすべて最短パスを提供するか(別の数の都市を調査したのか)、特定の送信元と送信先に対して異なる経路を提供できるかどうかを知りたいと思います。

私は大部分が混乱しています。ノードをキューに格納すると、宛先ノードを探索しようとしているときに最短パスがありますが、パスのキュー(およびこのキューヒューリスティック+距離に基づいてソートされています)、最短パスを取得するとは限りません。

答えて

4

必ずしもあなたのヒューリスティックによって異なります。詳しくは、this section in Wikipediaを参照してください。

要約すると、ヒューリスティックが許容可能な(これは決してコストを過大評価しないことを意味する)である場合、A *は最適解を与える。

+0

ヒューリスティックが許容されない場合でも、A *アルゴリズムは宛先ノードを探索しようとしているときにのみ停止します(許容できないヒューリスティックスのために多くの不要なパスを探索する可能性があります)。その場合、そのノードに到達するパスは常に最短パスを見つけるようになっていますか? – harrythomas

+0

@harrythomasいいえ、極端な例として、四角いグリッドを考えてみましょう。一方の端が上端コーナーにあり、もう一方の端が右下にあります。私は、アルゴリズムが次善の解をもたらす境界を最初に追うようなヒューリスティックを作ることができます。 – orlp

+0

はい、その場合、他のエッジを探索すると最短距離が見つかるので、それを正しく更新しますか?またはA *スターで最短距離を更新しないでください?均一コスト検索が最短経路を見つける方法を考えてください(現在の最短値を新しい値で更新することによって) – harrythomas

0

実際、ヒューリスティックは許容されるべきです。さもなければ、A *は次善の解を見つけるでしょう。私はキューが次のノードの距離によって調整されるべきではないが、次のノードとして最も有望なヒューリスティックを使用することを考える。 次のノードは、現在のノードから最も離れている可能性がありますが、同時に宛先に最も近いノードである可能性があります。

関連する問題