假设启发式值为h(A)=5,h(B)=1,在使用A*图搜索时,它将放置A和B在前沿,其中f(A)=2+5=7,f(B)=4+1=5,然后选择B进行扩展,然后将G放在前沿,f(G)=4+4=8,然后选择A进行扩展,但不会采取任何行动,因为S和B都已经被扩展且不在前沿,因此下一步将选择G并返回非最优解。
我的论点正确吗?
假设启发式值为h(A)=5,h(B)=1,在使用A*图搜索时,它将放置A和B在前沿,其中f(A)=2+5=7,f(B)=4+1=5,然后选择B进行扩展,然后将G放在前沿,f(G)=4+4=8,然后选择A进行扩展,但不会采取任何行动,因为S和B都已经被扩展且不在前沿,因此下一步将选择G并返回非最优解。
我的论点正确吗?
你需要维护一个有序的优先队列,其中包含了前沿对象。然后你选择最佳候选者,在所有可用方向上进行扩展,并将新节点放入优先队列中。因此,即使实际上最优路径经过A,它也可能被推到队列的末尾。同时,A也可能被邻居所包围,这些邻居是通过次优路径到达的,大多数算法不会尝试扩展它。
A星算法只是一种寻找合理路径的方法,它并不能找到全局最优路径。