私はA *、統一されたコストと貪欲な検索アルゴリズムがどのように機能するかを理解しようとしています。私は、ノードが3つのアルゴリズムすべてで探索される方法を知っています(欲張りはヒューリスティックな値に基づいて探索します、A *はヒューリスティック+距離に基づいて、距離に基づく均一)。A *は常に最短経路を提供しますか?
3つのアルゴリズムがすべて最短パスを提供するか(別の数の都市を調査したのか)、特定の送信元と送信先に対して異なる経路を提供できるかどうかを知りたいと思います。
私は大部分が混乱しています。ノードをキューに格納すると、宛先ノードを探索しようとしているときに最短パスがありますが、パスのキュー(およびこのキューヒューリスティック+距離に基づいてソートされています)、最短パスを取得するとは限りません。
ヒューリスティックが許容されない場合でも、A *アルゴリズムは宛先ノードを探索しようとしているときにのみ停止します(許容できないヒューリスティックスのために多くの不要なパスを探索する可能性があります)。その場合、そのノードに到達するパスは常に最短パスを見つけるようになっていますか? – harrythomas
@harrythomasいいえ、極端な例として、四角いグリッドを考えてみましょう。一方の端が上端コーナーにあり、もう一方の端が右下にあります。私は、アルゴリズムが次善の解をもたらす境界を最初に追うようなヒューリスティックを作ることができます。 – orlp
はい、その場合、他のエッジを探索すると最短距離が見つかるので、それを正しく更新しますか?またはA *スターで最短距離を更新しないでください?均一コスト検索が最短経路を見つける方法を考えてください(現在の最短値を新しい値で更新することによって) – harrythomas