ケース1(フルグラム(n)は、別名ブラインド検索):あなただけg(n)
に基づいて検討されるべき次のパスを選択するための評価関数f(n)
を使用する場合は
、あなたは基本的にダイクストラを使用していますアルゴリズム。つまり、f(n) = g(n) + h(n)
とh(n) = 0
の場合はf(n) = g(n)
となり、各繰り返しで最小コストのパスを探索しています。これにより、最適なパスを見つけることが保証されます(グラフでは肯定的なコストのみ)が、最適ではないパスを探索する可能性があります。 例えば、我々はs
からt
へのパスを検索する次のグラフには:(
n1 node | h(node)
/\ s | 3
2/ \ 1 n1 | 1
/ \ n2 | 4
s t
\ /
1 \ /4
\/
n2
とテーブルは私たちに、各ノードのヒューリスティック評価を与えるヒューリスティック、すなわち、私たちは完璧なヒューリスティックを持っていると仮定してみましょう値は常に目標への最短経路に対応します)。したがって、最初の反復では、OPENリストにn1
とn2
が追加されます。 ブラインド検索が、その後、行われ(またはフルg(n)
)されています
f(n1) = g(n1) = 2
。
f(n2) = g(n2) = 1
。
およびノードn2
は、OPENリストに最小のg値を持つため、検討されます。しかし
、我々は*とヒューリスティック値を使用します。
n1
が検討され、t
その後、最適解につながると道に沿ってn2
で次善のパスを探索していません。
したがって、g(n)
は、Dijkstra vs A *を意味します。ヒューリスティックが良い見積もり(このように単純化しよう)であれば、A *は常に望ましいでしょう。
ケース2(フルH(N)):
我々はすでに見つかっパスのコストを使用していないので、私たちは、ここでは異なる場合があります、私たちは私たちの機能のヒューリスティック評価を信頼しています。ヒューリスティックの質によっては、グラフ内のすべてのノードまたは最適な経路のみを探索することになりますが、A *の美しい理論的特性は失われてしまいます。
大変ありがとうございました! – ludluck