A星算法

A星算法就是试图在地图中找到一条最短路径,但不保证一定存在。

搜索区域(The Search Area)

我们假设某人要从A点移动到B点,但是这两点之间被一堵墙隔开。如下图
在这里插入图片描述

你应该注意到了,我们把要搜寻的区域划分成了正方形的格子。这是寻路的第一步,简化搜索区域。这样我们把我们的搜索区域简化为了二维数组。数组的每一项代表一个格子,它的状态就是可走和不可走。通过计算出从A到B需要走过哪些方格,就找到了路径。一旦路径找到了,任务就从一个方格的中心移动到了另一个方格的中心,直到到达目的地。

方格的中心点我们称为“节点(nodes)”。如果你读过其他关于A*寻路算法的文章,你就会发现人们常常都在讨论节点。为什么不直接描述为方格呢?因为我们有可能把搜索区域划分为其他多边形而不是正方形,比如搜索区域可以是矩形、六角形等等。而节点可以放在任意多边形里面,可以放在多边形的中心,也可以多边形的的边上。我们使用这个系统,因为它最简单。

开始搜索(Starting the Search)

一旦我们把搜索区域简化为一组可以量化的节点之后,就像上面做的一样,我们下一步要做的就是查找最短路径。在A*中,我们从起点开始,检查其相邻的方格,然后向四周扩展,直到找到目标。

我们这样开始我们的寻路旅途:

  1. 从起点A开始,并把它加入到一个由方格组成的open list(开放类表中)

曼哈顿距离
3D
A星寻路算法—超详细的例子
可视化demo
来源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
近年来,人们对于A算法进行了不断的探索和改进。而MATLAB也成为了改进A算法的常用工具之一。 首先,MATLAB可以利用其优越的可视化功能使得A算法的结果更加清晰明了。通过绘制出地图、障碍物、起点、终点等元素,可以更加直观地理解A算法的执行过程和结果。同时,MATLAB还可以进行数据可视化,通过可视化的方式展示A算法在不同场景下的效果和缺陷,进而指导改进方向和方式。 其次,MATLAB可以加速A算法的执行过程。具体而言,MATLAB中提供了复杂矩阵运算的优化算法,可以有效提高算法的效率;此外,MATLAB还拥有多线程运算和并行计算等功能,可以进一步加快算法的执行速度。因此,借助MATLAB进行A算法改进,不仅能够提高算法的可读性和可视化效果,而且可以提升算法的效率和速度。 最后,MATLAB还可以与其他优秀的算法和库集成,进而提高A算法的精度和效果。例如,可以利用MATLAB内置的计算机视觉库进行图像识别和分类,从而精确的确定机器人在地图上的位置和路线;同时,还可以结合深度学习和强化学习等算法对A算法进行改进,从而实现更加优秀的机器人路径规划。 综上所述,借助MATLAB进行A算法的改进具有很大的优势,能够提高算法的可视化、效率、精度和效果,可望在智能机器人等领域发挥越来越重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值