路径规划算法学习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算法相关推荐

  1. 【路径规划】基于蚁群算法求解运钞车路径规划VRPSD问题matlab代码

    1 简介 近年来,国内各大城市陆续建立了专业的金融押运企业,为银行网点的现钞运送提供服务.为了实现运钞智能化,降低银行运营成本,需要对银行现钞运送车辆路径规划提供决策支持.而银行运钞车路线规划问题是车 ...

  2. 【RRT三维路径规划】基于matlab RRT算法无人机三维路径规划【含Matlab源码 155期】

    一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[三维路径规划]基于matlab RRT算法无人机三维 ...

  3. java动态规划货车运输_多堆场集装箱卡车路径规划的混合蚁群算法

    多堆场集装箱卡车路径规划的混合蚁群算法 发布时间:04-15-19 张建同,宋玉坚,叶春明 <工业工程与管理>第22卷第2期 2017年4月 推荐理由 集装箱运输作为一种高效率高质量的运输 ...

  4. 【A_star二维路径规划】基于matlab A_star算法无人机二维路径规划(起终点障碍物可设置)【含Matlab源码 1321期】

    ⛄一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[A_star二维路径规划]基于matlab A_s ...

  5. 【A_star三维路径规划】基于matlab A_star算法无人机三维路径规划【含Matlab源码 446期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[三维路径规划]基于matlab A_star算法无人机三维路径规划[含Matlab源码 446期] 获取代码方式2: 付费专栏Matla ...

  6. 【RRT三维路径规划】基于matlab RRT算法无人机三维路径规划【含Matlab源码 1363期】

    一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[三维路径规划]基于matlab RRT算法无人机三维 ...

  7. 【RRT三维路径规划】基于matlab RRT_Star算法三维路径规划【含Matlab源码 1571期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[三维路径规划]基于matlab RRT_Star算法三维路径规划[含Matlab源码 1571期] 点击上面蓝色字体,直接付费下载,即可. ...

  8. 【路径规划】基于matlab DWA算法机器人局部避障路径规划【含Matlab源码 890期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[路径规划]基于matlab DWA算法机器人局部避障路径规划[含Matlab源码 890期] 获取代码方式2: 通过订阅紫极神光博客付费 ...

  9. matlab三维路径规划,【路径规划】基于A星算法的三维路径规划matlab源码

    %% 该函数用于演示基于A_Star算法的三维路径规划算法 %% 清空环境 clc clear %% 数据初始化 %下载数据 starttime=cputime; load HeightData z ...

  10. 基于模拟退火遗传算法的全向AGV路径规划的学习与实现

    基于模拟退火遗传算法的全向AGV路径规划的学习与实现 1.路径规划   路径规划的主要目标是根据有障碍物的环境,按照一定的要求规划出可供AGV高效平稳运行的无碰撞路径.   如下图所示,将复杂的环境简 ...

最新文章

  1. 第九章 转移指令的原理
  2. 错误信息 c语言实现_全国计算机等级考试二级C语言
  3. 2264: sequence(KMP)
  4. java并发:join源码分析
  5. Maven 本地仓库访问私服
  6. .net mvc 获取url中controller和action
  7. axure图表元件mac_原型设计元件库-一库(Axure完善的原型设计元件库)- MacV
  8. 编写一个应用程序,给出汉字‘你’、‘我’、‘他’在Unicode表中的位置。
  9. 计算机abc分类法,ABC分类法.ppt
  10. python的集成开发环境idle是有什么编写而成_Python 的集成开发环境IDLE是由( )编写而成。...
  11. 数组基础与字符串(尚学堂视频学习总结_004)
  12. python 操作 word 文件
  13. ESP32 启动流程
  14. 团队协作效率低?多半是这5大障碍搞的鬼
  15. mq java 开发_MQ java 基础编程(一)
  16. 文件扩展名有误?怎么批量修改文件扩展名?
  17. BZOJ4416: [Shoi2013]阶乘字符串
  18. 学习笔记,C,n+nn+nnn+nnnn+nnnnn
  19. 基于HTML+CSS+JavaScript仿瓜子二手车官网【学生网页设计作业源码】
  20. 5秒钟清除word页眉下边的横线

热门文章

  1. Jenkins教程(Windows版)
  2. 看得上瘾的斗鱼,首次开源了自家项目 Jupiter !
  3. 软考高项论文写作技巧
  4. stata15中文乱码_一次性解决Stata中文乱码问题
  5. 2021年华为杯数学建模竞赛
  6. 【设计模式】实现线程安全单例模式的五种方式
  7. win7便签损坏怎么彻底修复好
  8. python微信自动发消息系统
  9. 常用游戏分析工具 之 PChunter 及 procexp 使用心得
  10. React跨域解决方案