当前位置: 首页 > news >正文

路径规划之Best-First Search算法

系列文章目录

路径规划之Dijkstra算法
路径规划之Best-First Search算法


路径规划之Best-First Search算法

  • 系列文章目录
  • 前言
  • 一、Best-First Search算法
    • 1.1 起源
    • 1.2 过程
  • 三、简单使用


前言

Best-First Search算法和Dijkstra算法类似,都属于BFS的扩展或改进

一、Best-First Search算法

1.1 起源

Best-First Search算法又称最佳优先搜索算法,属于BFS的扩展,最开始人们也尝试过使用DFS来实现路径规划,效果图如下
在这里插入图片描述
上图中可以看出,在实际情况中DFS处于不撞南墙不回头的状态,它找到的路径并不是机器人运行的最优路径;相比之下BFS虽然耗费时间长,代价大,但是可以找到机器人运行的最优路径。
在这里插入图片描述
虽然BFS能有效找到最优路径,但是它耗费的代价过大,时间过长,于是在BFS的基础上提出了最佳优先搜索(Best-First Search)。
Best-First Search和Dijkstra不同的地方在于每次选择新的遍历节点时,Dijkstra选择离起点代价最小的点,而Best-First Search选择离终点代价最小的节点。

1.2 过程

Best-First Search算法的核心就是遍历当前节点相邻的结点,选择其中到终点代价最小的结点作为下一次遍历的结点

该算法到终点的代价可以使用欧氏距离或者曼哈顿距离来计算,如图所示
在这里插入图片描述

三、简单使用

以下就是Best-First Search算法在一个比较简单的地图中进行路径规划的过程,但该算法在应用中非常容易陷入局部最优解,使用频率远低于Dijkstra算法
在这里插入图片描述

http://www.lryc.cn/news/246612.html

相关文章:

  • 【Layui】动态时间线
  • 进程、线程以及进程与线程的区别
  • Java中的jvm——面试题+答案(Java虚拟机的基本概念,包括内存区域、类加载机制、垃圾回收等)——第15期
  • 大数据平台/大数据技术与原理-实验报告--MapReduce编程
  • linux磁盘清理
  • 万宾科技第四代可燃气体监测仪的作用
  • 【Linux】探索进程的父与子
  • 蚁剑低版本反制
  • Arthas 监听 Docker 部署的java项目CPU占比高的信息
  • Node.js入门指南(二)
  • 解锁Jira本地部署的数据中心版高级功能,打造高效、智能、精细化的项目管理
  • java线程三种方式
  • 关于mysql的lower_case_table_names引发的思考
  • springboot+vue实现websocket通信实例,进入页面建立连接
  • 【个人记录】同步Linux服务器时间和时区
  • 面试常问-如何判断链表有环、?
  • 基于springboot实现农机电招平台系统项目【项目源码+论文说明】计算机毕业设计
  • 森林无人机高效解决巡查难题,林区防火掀新篇
  • python 爬虫之 爬取网站信息并保存到文件
  • kubelet漏洞CVE-2020-8559复现与分析
  • 基于C#实现奇偶排序
  • Kibana部署
  • 【Linux】了解进程的基础知识
  • ES6 — ES14 新特性
  • 附录12-time.h的常用方法
  • C语言公交车之谜(ZZULIOJ1232:公交车之谜)
  • Liunx Ubuntu Server 安装配置 Docker
  • Oracle ORA12514 监听程序当前无法识别连接描述符中请求的服务
  • druid keepAlive 导致数据库连接数飙升
  • 四川竹哲电子商务有限公司深耕抖音电商服务领域