情况 | 函数 | 结果 |
---|---|---|
h(n)=0 ,即 f(n)=g(n) | A*算法退化为Dijkstra算法 | 保证能找到最短路径 |
h(n) < 实际代价 | h(n)越小,A*扩展的节点越多,运行的越慢 | 保证能找到一条最短路径,但运算更快了 |
h(n) = 实际代价 | 仅寻找最佳路径,而不扩展任何别的节点 | 保证能找到一条最短路径,并且运算非常快 |
h(n) > 实际代价 | 寻找最佳路径且扩展别的任何节点 | 不能保证找到一条最短路径,但运算更快了 |
h(n) >> g(n) | A*算法退化为BFS算法 | 不能保证找到一条最短路径,但运算非常快 |