A*笔记

最近学习一下A*,发现这是比Dijsktra更灵活的路径规划算法,结合了BFS和启发式搜索,从而更快,更准的找到最优路径。

1、几乎是跟Dijsktra的伪代码格式一模一样,不同的是,从优先级队列中弹出f(n)最低的路径结点,f(n)依据的是cost函数加上heuristic函数后的值。如果heuristic等于0,那么就是Dijsktra的原形。

2、如何选择heuristic函数是一个重要的问题,涉及到算法的执行速度。对于规则的栅格地图,无论是2D还是3D,选取Diagonal 作为heuristic函数更为合理,因为Diagonal函数更加接近理论上的最优解。

3、为了消除路径的对称性,在h函数的计算上增加一些,保证每一个点的f(n)得到的数值是不同的。

发布了42 篇原创文章 · 获赞 43 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_34754836/article/details/104730404