路径规划算法学习Day4-Astar算法
路径规划算法学习Day4-Astar算法
- 前言
- 1、A*(Astar)算法
- 1.1、原理
- 1.2、启发式搜索
- 2、总结
前言
路径规划算法学习Day3-基于栅格法的Dijkstra算法
1、A*(Astar)算法
1.1、原理
A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。算法中的距离估算值与实际值越接近,最终搜索速度越快。
公式表示为: f(n)=g(n)+h(n),
其中:
f(n) :是从初始状态经由状态n到目标状态的代价估计,
g(n):是在状态空间中从初始状态到状态n的实际代价,
h(n):是从状态n到目标状态的最佳路径的估计代价。
对于路径搜索问题,状态就是图中的节点,代价就是距离
h(n)的选取保证找到最短路径(最优解的)条件,关键在于估价函数f(n)的选取(或者说h(n)的选取)。
我们以d(n)表达状态n到目标状态的距离,那么h(n)的选取大致有如下三种情况:
1)如果h(n)< d(n)到目标状态的实际距离,这种情况下,搜索的点数多,搜索范围大,效率低。但能得到最优解。
2)如果h(n)=d(n),即距离估计h(n)等于最短距离,那么搜索将严格沿着最短路径进行, 此时的搜索效率是最高的。
3)如果 h(n)>d(n),搜索的点数少,搜索范围小,效率高,但不能保证得到最优解。
A* 算法是在迪杰斯特拉算法的基础上进行改进的一种算法。与之不同的是,A算法是一种启发式搜索,不会像dijkstra算法一样对整个地图都进行遍历,A算法是有方向的遍历。
1.2、启发式搜索
启发式搜索(Heuristically Search)又称为有信息搜索(Informed Search),它是利用问题拥有的启发信息来引导搜索,达到减少搜索范围、降低问题复杂度的目的,这种利用启发信息的搜索过程称为启发式搜索。
这种搜索方式优点是搜索快,提高了效率,缺点就是得到的解有可能是次优解也有可能什么都得不到。一句话就是牺牲了精度得到了效率。
2、总结
Dijkstra与A* 对比
相同点:
两者都是以寻找最短路径为目的的算法。
不同点:
Dijkstra算法遍历的时候是对4周平等对待,没有区分的盲目进行遍历。
A* 算法是在迪杰斯特拉算法的基础上进行改进的一种算法。与之不同的是,A* 算法是一种启发式搜索,不会像dijkstra算法一样对整个地图都进行遍历,A* 算法是有方向的遍历。它会对周围各点进行评估,然后再进行搜索。
后续程序依旧是基于栅格进行,用matlab实现
路径规划算法学习Day4-Astar算法相关推荐
- 【路径规划】基于蚁群算法求解运钞车路径规划VRPSD问题matlab代码
1 简介 近年来,国内各大城市陆续建立了专业的金融押运企业,为银行网点的现钞运送提供服务.为了实现运钞智能化,降低银行运营成本,需要对银行现钞运送车辆路径规划提供决策支持.而银行运钞车路线规划问题是车 ...
- 【RRT三维路径规划】基于matlab RRT算法无人机三维路径规划【含Matlab源码 155期】
一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[三维路径规划]基于matlab RRT算法无人机三维 ...
- java动态规划货车运输_多堆场集装箱卡车路径规划的混合蚁群算法
多堆场集装箱卡车路径规划的混合蚁群算法 发布时间:04-15-19 张建同,宋玉坚,叶春明 <工业工程与管理>第22卷第2期 2017年4月 推荐理由 集装箱运输作为一种高效率高质量的运输 ...
- 【A_star二维路径规划】基于matlab A_star算法无人机二维路径规划(起终点障碍物可设置)【含Matlab源码 1321期】
⛄一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[A_star二维路径规划]基于matlab A_s ...
- 【A_star三维路径规划】基于matlab A_star算法无人机三维路径规划【含Matlab源码 446期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[三维路径规划]基于matlab A_star算法无人机三维路径规划[含Matlab源码 446期] 获取代码方式2: 付费专栏Matla ...
- 【RRT三维路径规划】基于matlab RRT算法无人机三维路径规划【含Matlab源码 1363期】
一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[三维路径规划]基于matlab RRT算法无人机三维 ...
- 【RRT三维路径规划】基于matlab RRT_Star算法三维路径规划【含Matlab源码 1571期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[三维路径规划]基于matlab RRT_Star算法三维路径规划[含Matlab源码 1571期] 点击上面蓝色字体,直接付费下载,即可. ...
- 【路径规划】基于matlab DWA算法机器人局部避障路径规划【含Matlab源码 890期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[路径规划]基于matlab DWA算法机器人局部避障路径规划[含Matlab源码 890期] 获取代码方式2: 通过订阅紫极神光博客付费 ...
- matlab三维路径规划,【路径规划】基于A星算法的三维路径规划matlab源码
%% 该函数用于演示基于A_Star算法的三维路径规划算法 %% 清空环境 clc clear %% 数据初始化 %下载数据 starttime=cputime; load HeightData z ...
- 基于模拟退火遗传算法的全向AGV路径规划的学习与实现
基于模拟退火遗传算法的全向AGV路径规划的学习与实现 1.路径规划 路径规划的主要目标是根据有障碍物的环境,按照一定的要求规划出可供AGV高效平稳运行的无碰撞路径. 如下图所示,将复杂的环境简 ...
最新文章
- 第九章 转移指令的原理
- 错误信息 c语言实现_全国计算机等级考试二级C语言
- 2264: sequence(KMP)
- java并发:join源码分析
- Maven 本地仓库访问私服
- .net mvc 获取url中controller和action
- axure图表元件mac_原型设计元件库-一库(Axure完善的原型设计元件库)- MacV
- 编写一个应用程序,给出汉字‘你’、‘我’、‘他’在Unicode表中的位置。
- 计算机abc分类法,ABC分类法.ppt
- python的集成开发环境idle是有什么编写而成_Python 的集成开发环境IDLE是由( )编写而成。...
- 数组基础与字符串(尚学堂视频学习总结_004)
- python 操作 word 文件
- ESP32 启动流程
- 团队协作效率低?多半是这5大障碍搞的鬼
- mq java 开发_MQ java 基础编程(一)
- 文件扩展名有误?怎么批量修改文件扩展名?
- BZOJ4416: [Shoi2013]阶乘字符串
- 学习笔记,C,n+nn+nnn+nnnn+nnnnn
- 基于HTML+CSS+JavaScript仿瓜子二手车官网【学生网页设计作业源码】
- 5秒钟清除word页眉下边的横线