参考:
原作者论文:http://grastien.net/ban/articles/hg-aaai11.pdf
寻路算法可视化网页:PathFinding.js
1.Jump Point Search
JPS算法,全称Jump Point Search,即跳点搜索算法,是一种针对2D网格地图设计的寻路算法,主要用于在静态栅格地图中找到从起点到终点的最优路径。JPS算法是对A*算法的一种改进,主要区别在于JPS算法更加高效地处理节点的扩展,通过使用“前向探索规则”和“邻居裁剪”技术来减少需要评估的节点数量。
在介绍JPS等算法具体实现前,我们必须先掌握A*算法(A*算法原理-优快云博客)和下面的概念:
强迫邻居
节点 x 的8个邻居中有障碍,且 x 的父节点 p 经过x 到达 n 的距离代价比不经过 x 到达的 n 的任意路径的距离代价小,则称 n 是 x 的强迫邻