我启动了A*算法,但我不知道它是如何工作的。
例如,我有一个图表,它是:
A -> B=9(不是最初错误询问的90 )
A -> C= 20
C -> D= 40
现在我想从A开始,使用上面提到的路径转到D。
如果我使用这个启发式函数: h(n) =直接到D的距离,B和D之间的直接距离是2,但是B和D之间没有任何路径。
我想知道的是:
A*算法是否先去B,然后再返回A(因为B和D(目标)之间没有任何路径?
或者我的启发式函数是不可接受的?(但我在教科书中看到过,这是可以的)
发布于 2013-03-30 07:07:26
那么,你应该给我们更多关于你的功能的细节。
一般而言,A*应该返回路径(如果存在),因此您可以将不存在的路径视为无限成本或仅视为"stop-here“符号。当您到达路径的末端而没有到达目的地时,您将回滚到具有其他可能性的前一个节点。所以你第一个问题的答案是“是”。
https://stackoverflow.com/questions/15712770
复制相似问题