Jump Point Search(JPS)算法与A*算法

A*

A*算法本质上讲是结合了DFS和BFS,针对当前起点先做一次BFS,再针对搜索的八个点做一次DFS

BFS--广度优先算法(Breadth First Search)

DFS

A*

算法思想
A*的核心思想就是先进行一次BFS搜索,然后从这次BFS中找到距离目标点最近的点(这里就是DFS搜索的思想),然后在对这个点,分别进行一次BFS和DFS搜索,重复此操作直到到达目标点为止。

代价方程
设计代价方程计算公式F = G + H F=G+HF=G+H,
式中,G=起点到目标方格的移动代价,沿着起点到目标方格,这里设定水平或者垂直移动一次的代价是10,对角线移动一次为14.
H=从目标方格到终点的估算成本,计算目标方格到终点的代码,只计算水平和垂直移动的格数然后乘以10.

在一个方格中,将FGH分别标记在左上、左下和右下三个位置,以便每次观察估价结果。

JPS

Jps,Jump Point Search,跳点搜索,也有人称之为“拐点寻路”。Jps可追溯到2011年,由两位澳大利亚的教授提出。

原作者论文,github Harabor, Daniel Damir, and Alban Grastien. “Online Graph Pruning for Pathfinding On Grid Maps.” AAAI. 2011.

相比A*算法,JPS算法的性能更快,内存占用更小,。

JPS算法的关键在于如何判断跳点。

一般是通过当前点的处境进行判断的。

例如:当前点向右下走判断时,右边的点是障碍,但右下点不是障碍,那么就可以判断当前点为跳点,右下点为强迫邻居。

代码后续再补

本算法的实现代码很少有人写,但其实优化部分并不多,优化效果也并不好,感觉是一个基于高度概念性的东西。

参考文献:
zerowidth positive lookahead | A Visual Explanation of Jump Point Search

Jump Point Search-跳点搜索法-原理&matlab代码-与A*算法比较(路径规划)_跳点搜索算法-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/48296.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python Requests库7种主要方法及13个控制参数(实例实验)

文章目录 一、Requests库的7种主要方法二、kwargs:控制访问的13个参数 一、Requests库的7种主要方法 序号方法说明1requests.request():提交一个request请求,作为其他请求的基础2requests.get():获取HTML网页代码的方法3requests.head()&…

基于重要抽样的主动学习不平衡分类方法ALIS

这篇论文讨论了数据分布不平衡对分类器性能造成的影响,并提出了一种新的有效解决方案 - 主动学习框架ALIS。 1、数据分布不平衡会影响分类器的学习性能。现有的方法主要集中在过采样少数类或欠采样多数类,但往往只采用单一的采样技术,无法有效解决严重的类别不平衡问题。 2、论…

9种二极管及其特点总结

二极管种类和特点 名字特点恒流二极管近些年出现,电压大于某个值,电流恒定,一般用于led普通二极管低频整流和续流,便宜,反向恢复时间us级别,PN结肖特基二极管比普通二极管反向关断更快,10ns级别…

智能硬件——0-1开发流程

文章目录 流程图1. 市场分析具体分析 2. 团队组建2. 团队组建早期团队配置建议配置一:基础型团队 (4人)配置二:扩展型团队 (6人)配置三:全面型团队 (7人) 3. 产品需求分析4. ID设计(Industrial Design, 工业设计)5. 结…

阿里云公共DNS免费版自9月30日开始限速 企业或商业场景需使用付费版

本周阿里云发布公告对公共 DNS 免费版使用政策进行调整,免费版将从 2024 年 9 月 30 日开始按照请求源 IP 进行并发数限制,单个 IP 的请求数超过 20QPS、UDP/TCP 流量超过 2000bps 将触发限速策略。 阿里云称免费版的并发数限制并非采用固定的阈值&…

Unity游戏开发入门:从安装到创建你的第一个3D场景

目录 引言 一、Unity的安装 1. 访问Unity官网 2. 下载Unity Hub 3. 安装Unity Hub并安装Unity编辑器 二、创建你的第一个项目 1. 启动Unity Hub并创建新项目 2. 熟悉Unity编辑器界面 3. 添加基本对象 4. 调整对象属性 5. 添加光源 三、运行与预览 引言 Unity&…

netty 自定义客户端连接池和channelpool

目录标题 客户端池化运行分析问题修复 客户端池化 通信完成之后,一般要关闭channel,释放内存。但是与一个服务器频繁的打开关闭浪费资源。 通过连接池,客户端和服务端之间可以创建多个 TCP 连接,提升消息的收发能力,同…

【深度学习】VGG-16原理及代码实现

1.原理及介绍 2.代码实现 2.1model.py import torch from torch import nn from torchsummary import summary import torch.nn.functional as Fclass VGG16(nn.Module):def __init__(self):super(VGG16, self).__init__()self.block1 nn.Sequential( # 用一个序列&#xf…

51单片机嵌入式开发:13、STC89C52RC 之 RS232与电脑通讯

STC89C52RC 之 RS232与电脑通讯 第十三节课,RS232与电脑通讯1 概述2 Uart介绍2.1 概述2.2 STC89C52UART介绍2.3 STC89C52 UART寄存器介绍2.4 STC89C52 UART操作 3 C51 UART总结 第十三节课,RS232与电脑通讯 1 概述 RS232(Recommended Stand…

Github报错:Kex_exchange_identification: Connection closed by remote host

文章目录 1. 背景介绍2. 排查和解决方案 1. 背景介绍 Github提交或者拉取代码时,报错如下: Kex_exchange_identification: Connection closed by remote host fatal: Could not read from remote repository.Please make sure you have the correct ac…

HTML5大作业三农有机,农产品,农庄,农旅网站源码

文章目录 1.设计来源1.1 轮播图页面头部效果1.2 栏目列表页面效果1.3 页面底部导航效果 2.效果和源码2.1 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_4…

计算机三级嵌入式笔记(一)—— 嵌入式系统概论

目录 考点1 嵌入式系统 考点2 嵌入式系统的组成与分类 考点3 嵌入式系统的分类与发展 考点4 SOC芯片 考点5 数字(电子)文本 考点6 数字图像 考点7 数字音频与数字视频 考点8 数字通信 考点9 计算机网络 考点10 互联网 考纲(2023&am…

2、如何发行自己的数字代币(truffle智能合约项目实战)

2、如何发行自己的数字代币(truffle智能合约项目实战) 1-Atom IDE插件安装2-truffle tutorialtoken3-tutorialtoken源码框架分析4-安装openzeppelin代币框架(代币发布成功) 1-Atom IDE插件安装 正式介绍基于web的智能合约开发 推…

【Vue3】响应式数据

【Vue3】响应式数据 背景简介开发环境基本数据类型对象数据类型使用 reactive 定义对象类型响应式数据使用 ref 定义对象类型响应式数据 ref 和 reactive 的对比使用原则建议 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0…

牛客:TOP101链表相加(二)

文章目录 1. 题目描述2. 解题思路3. 代码实现 1. 题目描述 2. 解题思路 按照我们习惯的加法运算,肯定是要从个位开始相加,然后十位……,但是在链表中如果我们先运算后面的,那么接下来我们是无法找到前一位的。想要解决这个问题也很…

数模·插值和拟合算法

插值 将离散的点连成曲线或者线段的一种方法 题目中有"任意时刻任意的量"时使用插值,因为插值一定经过样本点 插值函数的概念 插值函数与样本离散的点一一重合 插值函数往往有多个区间,多个区间插值函数样态不完全一样,简单来说就…

【系统架构设计 每日一问】二 MySql主从复制延迟可能是什么原因,怎么解决

主从复制的架构设计如下图所示: 同步原理 具体到数据库之间是通过binlog和复制线程操作的: Master的更新事件(update、insert、delete)会按照顺序写入bin-log中。当Slave连接到Master的后,Master机器会为Slave开启,binlog dump线程,该线程…

H3CNE(计算机网络的概述)

1. 计算机网络的概述 1.1 计算机网络的三大基本功能 1. 资源共享 2. 分布式处理与负载均衡 3. 综合信息服务 1.2 计算机网络的三大基本类型 1.3 网络拓扑 定义: 网络设备连接排列的方式 网络拓扑的类型: 总线型拓扑: 所有的设备共享一…

Vue3 --- 路由

路由就是一组key-value的对应关系;多个路由,需要经过路由器的管理。 1. 基本切换效果 安装路由器 npm i vue-router /router/index.ts // import { createRouter, createWebHistory } from vue-router import Home from /components/Home.vue import…

萝卜快跑爆火的背后,美格智能如何助力无人车商业化?

近期,“订单量超过600万单”等夺人眼球的信息,让无人驾驶出租车“萝卜快跑”从江城武汉爆火出圈,在2024年的炎炎夏日为这座大火炉再添了一把火。热度背后,不少地方主管部门,近期也纷纷针对无人驾驶出租车、无人驾驶运输…