如果目标的引力太低,会得到最短路径,不过速度变慢了;如果目标引力太高,那就放弃了最短路径,但A运行得更快,所以最优路径和最快搜索在复杂情况下需要有一个取舍/平衡 。
A的这个特性非常有用 。例如,你会发现在某些情况下 , 你希望得到一条好的路径 , 而不是一条完美的路径 , 为了权衡g(n)和h(n) , 你可以修改任意一个 。
文章插图
如果alpha是0 , 则改进后的代价函数的值总是1 。这种情况下 , 地形代价被完全忽略,A工作变成简单地判断一个网格可否通过 。如果alpha是1,则最初的代价函数将起作用,然后你得到了A的所有优点 。你可以设置alpha的值为0到1的任意值 。
可以考虑对启发式函数的返回值做选择:绝对最小代价或者期望最小代价 。例如,如果你的地图大部分地形代价为2,其它一些地方是代价为1的道路,那么你可以考虑让启发式函数不考虑道路,而只返回2距离 。
速度和精确度之间的选择并不是全局固定对 。在地图上的某些区域,精确度是重要的,你可以基于此进行动态选择 。例如,假设我们可能在某点停止重新计算路径或者改变方向,则在接近当前位置的地方,选择一条好的路径则是更重要的,对于在地图上的一个安全区域,最短路径也许并不十分重要,但是当从一个危险区域脱离对时候,轨迹的精度是最重要的 。
同样通过对g(n)或者f(n)的调节,也可以达成A具体动作的控制
- 通过加上障碍物cost function到g(n)或者f(n)(这两个动作是一个意思) , 可以实现规划路径在障碍物中间 。
- 通过加上车辆几何或者轨迹kappa平滑度cost function的到g(n)或者f(n),可以实现规划出来的路径是平滑变化的 。
- 通过加上到way point的cost function的到g(n)或者f(n),规划出来的路径则倾向于走way points的方向 。
- 构造精确启发函数的一种方法是预先计算任意一对结点之间最短路径的长度 。有几种方法可以近似模拟这种启发函数:
1.【降采样地图-预计算】在密集栅格图的基础上添加一个分辨率更大的稀疏栅格图 。预计算稀疏图中任意两个栅格的最短路径 。2.【waypoings-预计算】在密集栅格图上,预计算任意两个way points的的最短路径 。
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 张国立:别再将我儿子当“问题男人”,他41岁未婚谁之过?
- 600亿财产!朱玲玲不掺和罗家夺产之争,两嫁豪门分文不要!
- 中之源集团是什么公司,昆虫记毛虫的毒素之源在他的绒毛中
- 演技、台词都被吐槽,刘诗诗复出之作《一念关山》不如预期,或将掉出85花阵营
- 不只是减肥,运动还有这项超级能力,医学证明有效!
- 电脑怎么恢复误关的网页,电脑意外断电之后连不上网络怎么解决
- 民风民俗的故事之泼水节的来历是什么
- 怎样可以快速瘦腰,怎样运动能快速减肥?
- 电脑出厂设置在哪里,电脑出厂设置之后怎么开始用
- 直击曾之乔、辰亦儒林口吃饭!几乎“0互动全被拍”回家也分开走