Graph Search Basic
遍历搜索
- BFS:维护队列 先进先出
- DFS:维护堆栈 先进后出
启发式搜索
引入启发函数 - Dijkstra
- g(m) = g(n) + Cnm
- 优点
- 完备 最优
- 缺点
- 只计算关注g(n)代价 没有方向性
- 没有终点信息
- A*(启发函数h(n))
- f(n) = g(n) + h(n)
- 当h(n) <= h*(n) 时 才是最优
- 工程上改进A*
- 找到合适的启发函数
- Tie Breaker :很多节点有相同的f 打破对称性
- JPS
- JPS 算法
打破对称 按一定规则扩展- Look Ahead Rule规则:根据障碍物信息和父节点扩展方向来进行扩展
- 找forced neighbors