浅谈路径规划算法

原文地址:http://theory.stanford.edu/~amitp/GameProgramming/

 

1 导言

1.1 算法

1.2 Dijkstra算法与最佳优先搜索

1.3 A*算法

2 启发式算法

2.1 A*对启发式函数的使用

2.2 速度还是精确度?

2.3 衡量单位

2.4 精确的启发式函数

2.4.1 预计算的精确启发式函数

2.4.2 线性精确启发式算法

2.5 网格地图中的启发式算法

2.5.1 曼哈顿距离

2.5.2 对角线距离

2.5.3 欧几里得距离

2.5.4 平方后的欧几里得距离

2.5.5 Breaking ties

2.5.6 区域搜索

3 Implementation notes

3.1 概略

3.2 源代码

3.3 集合的表示

3.3.1 未排序数组或链表

3.3.2 排序数组

3.3.3 排序链表

3.3.4 排序跳表

3.3.5 索引数组

3.3.6 哈希表

3.3.7 二元堆

3.3.8 伸展树

3.3.9 HOT队列

3.3.10 比较

3.3.11 混合实现

3.4 与游戏循环的交互

3.4.1 提前退出

3.4.2 中断算法

3.4.3 组运动

3.4.4 细化

4 A*算法的变种

4.1 beam search

4.2 迭代深化

4.3 动态衡量

4.4 带宽搜索

4.5 双向搜索

4.6 动态A*与终身计划A*

5 处理运动障碍物

5.1 重新计算路径

5.2 路径拼接

5.3 监视地图变化

5.4 预测障碍物的运动

6 预计算路径的空间代价

6.1 位置VS方向

6.2 路径压缩

6.2.1 位置存储

6.2.2 方向存储

6.3 计算导航点

6.4 极限路径长度

6.5 总结

你可能感兴趣的:(路径规划)