【论文导读】Grid Graph Reduction for Efficient Shortest Pathfinding(2023 Access)

Grid Graph Reduction for Efficient Shortest Pathfinding

作者:CHAN-YOUNG KIM AND SANGHOON SULL

文章提出了一种“基于模式识别的网格阻塞”( Pattern-Based Blocking on grid graphs,PBGG)的预处理方法,以加快最短路径规划算法的运行速度。
文章设计了多种大小为 3 × 3 3 \times 3 3×3 的卷积核,通过卷积的方式的方式迭代地将非障碍物单元格阻塞,通过阻塞这些非障碍物单元格达到减少搜索空间的目的,同时能够确保构成最短路径的单元格不受到阻塞。
文章针对的两种类型网格地图:一类是占据网格地图,不带有权重信息(最简单表示方式是二进制表示);另一类是带有权重或路径代价的网格(在这种情况下,邻接网格之间的路径代价通常不是距离)。文章中Fig11给出的是针对占据网格地图设计的卷积核;Fig13给出的是针对带有cost信息的网格地图设计的卷积核。
在这里插入图片描述在这里插入图片描述

模式识别方面:
文章共考虑了四种模式:Dead-end模式(死胡同模式)、Avoidable模式(可避免模式)、 α \alpha α-type模式、nonblock模式(不可阻塞模式)。
文章中Fig3给出了该模式识别的一个流程示意(不过文章并没有标注出来这是4邻域分支的PBGG方法)
在这里插入图片描述

Dead-end模式(死胡同模式):网格地图中存在一些可通行网格,它们通常被障碍物网格包围,当这些网格不是起始网格或目标网格时,它们将不是构成路径一部分的网格,因此没有必要进行计算和搜索。

Avoidable模式(可避免模式):网格地图中存在一些可通行网格,这些网格并没有被障碍物所包围,但是这些网格由于并不是构成最短路径的最佳候选区域,因为可以避免在规划过程中被计算,从而加快规划速度。
在这里插入图片描述

α \alpha α-type模式和nonblock模式被提出是为了解决卷积缺乏全局视野的问题。本文提出的Dead-end模式和Avoidable模式识别使用的 3 × 3 3 \times 3 3×3的卷积,每次卷积只能注意该范围的视野,这就导致在卷积过程中,由于缺乏全局信息而将某些非障碍物网格阻塞,从而无法搜索出最佳路径。
α \alpha α-type模式和nonblock主要是为应对Avoidable模式而存在的(我个人的看法,粗略地计算了一下,感觉只有Avoidable会比较有影响)
文中给出的实验结果

在这里插入图片描述
在这里插入图片描述

代码实现部分文章并没有给出来(但是我这里有python实现No cost map的版本PBGG)

并且自己用了两张图做了一下实验,采用的地图来自于(Benchmarks for Grid-Based Pathfinding)[https://movingai.com/benchmarks/grids.html],分别是random-512-20-6、maze-512-4-4和Shanghai-1-1024地图。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
效果还是可以的,尤其是对于迷宫、狭窄走廊类的地形看起来很不错。
该论文非常具有创造力,将网格地图和图像进行联系,并提出相应的模式别技术,减少网格空间加快路径规划。

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

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

相关文章

XML Web 服务技术解析:WSDL 与 SOAP 原理、应用案例一览

XML Web服务是一种用于在网络上发布、发现和使用应用程序组件的技术。它基于一系列标准和协议,如WSDL、SOAP、RDF和RSS。下面是一些相关的内容: WSDL(Web服务描述语言):用于描述Web服务的基于XML的语言,定义…

安卓手机APP开发___广播概述

安卓手机APP开发___广播概述 目录 概述 关于系统广播 系统广播所发生的更改 接收广播 清单声明的接收器 上下文注册的接收器 对进程状态的影响 发送广播 通过权限限制广播 带权限的发送 带权限的接收 安全注意事项和最佳做法 概述 Android 应用可以通过 Android …

数据分析案例-在线食品订单数据可视化分析与建模分类

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

springmvc揭秘参数解析

参数解析 说到参数解析,springmvc中处理参数的是HandlerMethodArgumentResolver接口 public interface HandlerMethodArgumentResolver { // 判断是否支持该类型参数 boolean supportsParameter(MethodParameter parameter); // 进行参数解析 Object resolv…

[羊城杯 2021]BabySmc

运行就是输入flag 不知道怎么跳过去的 这个应该就是smc加密的函数了 运行完这个函数才能继续往下 int __cdecl main(int argc, const char **argv, const char **envp) {__int64 v3; // rbx__int64 v4; // r12__int64 v5; // r13unsigned __int64 v6; // raxchar v7; // spcha…

学习Vue中图片上传前进行压缩的实现方法

学习Vue中图片上传前进行压缩的实现方法 一、前言1. 为什么要在客户端进行图片压缩?2. Vue组件中实现图片上传前压缩的方法3. 注意事项与优化4. 总结 一、前言 在Web开发中,图片上传是一个常见的功能需求,而客户端对图片进行压缩可以有效减小…

企业如何进行快递运费对账?

在电子面单寄件取代手写纸质面单之后,加上月结寄件模式的推行,企业快递运费对账,成了行政的一个难题...... 早期的手写纸质面单寄件,企业行政或者财务相关人员,遵循寄前审批,寄后报销的原则进行对账。随着电…

FinalShell无法连接Linux

Linux使用Vmware会创建一个网络,让两个子网处于一个网关,这样就能在windows中连接Linux,只有在这种情况下才能FinalShell才能连接Linux

面试题合集(2)

1. Self Attention的时候 Q K T QK^T QKT之后要除以 d ? \sqrt{d}? d ​? 参考苏剑林大神: 浅谈Transformer的初始化、参数化与标准化 模型初始化:介绍了常用的采样分布,包括正态分布、均匀分布和截尾正态分布。并从代数角度理解初始化方…

module_param的用法

在Linux内核模块编程中,`module_param`宏允许你声明一个模块参数。模块参数是指可以在加载模块时从命令行设置的参数,也可以通过/sys文件系统(如果内核配置了CONFIG_SYSFS)在模块加载后进行修改。这些参数对于调整模块的行为而不需要重新编译模块代码非常有用。 使用方法 …

KT6368A双模蓝牙芯片上电到正常发送AT指令或指令复位需要多久

一、简介 KT6368A芯片上电到正常发送AT指令,或者开启蓝牙广播被搜索到,或者指令复位需要多久等等系列问题总结 详细描述 其实这些问题归结到一起,就还是一个问题,芯片上电需要多久的时间 在另外一份文档里面,是有描…

跟我学C++中级篇——if constexpr的应用

一、场景应用 在一个开发场景下,需要动态处理不同类型的数据写入。本来这个非常简单,只要定义一个模板即可搞定,但这里偏偏有一个细节,是调用别人的库来实现写入。而这个库对不同的数据类型的写入,提供了N种不同的函数…

Python实战开发及案例分析(28)—— 预编码算法

预编码算法(Precoding Algorithm)通常用于无线通信系统中,尤其是多输入多输出(MIMO)系统中,以提高数据传输的可靠性和效率。预编码是为了在发送端对信号进行处理,以优化传输性能。 在MIMO系统中…

Java设计模式 _行为型模式_访问者模式

一、访问者模式 1、访问者模式 访问者模式(Visitor Pattern)是一种行为型模式。它允许在不修改已有类结构的情况下,向类中添加新的操作。访问者模式通过将操作封装在一个访问者对象中,使得可以在不改变各个元素类的前提下&#x…

RedisTemplate实战应用--队列等

一、RedisTemplate队列插入 1、从集合左边插入值 https://blog.csdn.net/weixin_43658899/article/details/121040307 leftPush(K key, V value) redisTemplate.opsForList().leftPush("leftdatakey","bbbb");2、从集合左边开始在v1值后边插入新值v2 le…

使用 Django 连接 MySQL 数据库

文章目录 步骤一:安装必要的库和驱动步骤二:配置数据库连接步骤三:执行数据库迁移步骤四:开始使用 MySQL 数据库创建一个模型迁移模型到数据库使用模型进行数据操作创建新记录:查询记录:更新记录&#xff1…

Mac安装第三方软件的命令安装方式

场景: 打开终端命令行,sudo xattr -rd com.apple.quarantine,注意最后quarantine 后面加一个空格!然后打开Finder(访达),点击左侧的 应用程序,找到相关应用,拖进终端qua…

(超实用)京东订单数据分析案例-维度下钻

1,数据介绍,字段了解 尽可能熟悉业务,多知道字段的含义,字段字段间的逻辑关系,后期数据分析思路才能更清晰,结果才能更准确 2,订单数据分析基本思路 维度下钻 3,代码实现全流程思路…

华为telnet的两种认证方式

华为telnet的两种认证方式 实验拓扑: 实验要求: 1.采用普通密码认证实现telnet 远程登录机房设备R3 2.采用AAA认证服务方式实现telnet 远程登录机房设备R3 实验步骤: 1.完成基本配置(设备接口配置IP,此步骤略过&#…

Facebook的隐私保护挑战:用户数据安全的新时代

在全球范围内,Facebook已经成为了不可忽视的社交媒体巨头,它连接着超过20亿的活跃用户。然而,随着其影响力的不断扩大,关于用户隐私和数据安全的问题也愈加引人关注。本文将深入探讨Facebook面临的隐私保护挑战,以及它…