猜想
在遍历一个点的4个方向的时候,如果最小分数有多个点,那么优先选择上次方向相同的点。如果只有一个点,那么只能强制选为下一个点,并且方向要改变。这样做后还是只能稍微改善下,不能完全解决,原因是分数小的点就是A星的核心,分数只要不一样就会一直改变方向
验证
改善后:
结论
如果一直强制一个方向也不是不可以,但会有下面两个问题:
- 强制不用A*算出的点,还能找到终点吗
- 这样会增加寻路复杂度
感觉第一步就是强制设置为h函数的分数为0,那么永远在4个方向上选中一个点,但是这样就会退化成广度搜索了,毫无意义
评论加载中