【论文导读】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,一经查实,立即删除!

相关文章

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

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

[羊城杯 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…

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

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

FinalShell无法连接Linux

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

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

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

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面临的隐私保护挑战,以及它…

解析前端开发中同源策略与配置代理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 在前端开发中,跨域请求是一个常见的问题。同源策略限制了浏览器中一个页面…

Unity中的MVC框架

基本概念 MVC全名是Model View Controller 是模型(model)-视图(view)-控制器(controller)的缩写 是一种软件设计规范,用一种业务逻辑、数据、界面显示 分离的方法组织代码 将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时&#x…

【嵌入式硬件】DRV8874电机驱动

目录 1 芯片介绍 1.1 特性简介 1.2 引脚配置 1.3 最佳运行条件 2 详细说明 2.1 PMODE配置控制模式 2.1.1 PH/EN 控制模式 2.1.2 PWM 控制模式 2.1.3 独立半桥控制模式 2.2 电流感测和调节 2.2.1 IPROPI电流感测 2.2.2 IMODE电流调节 3.应用 3.1设计要求 3.2 设计…

AI换脸FaceFusion一键云部署指南

大家好,从我开始分享到现在,收到很多朋友的反馈说配置很低玩不了AI。本篇是一个云端部署AI项目的指南,帮助大家在云端进行AI项目的部署。我会从云平台的选择、代码部署、保存镜像几个方面进行详细的介绍。没有代码基础的小白也不用担心&#…

乐观锁 or 悲观锁 你怎么选?

你有没有听过这样一句话:悲观者正确,乐观者成功​。那么今天我来分享下什么是乐观锁​和悲观锁。 乐观锁和悲观锁有什么区别,它们什么场景会用 乐观锁 乐观锁基于这样的假设:多个事务在同一时间对同一数据对象进行操作的可能性很…

工厂模式详情

一.介绍工厂模式的用途与特点 工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。定义工厂方法模式(Fatory Method Pattern)是指定义一个创建对象的接口,但让实现这个接口的类来决定实例…

Python导出Jira列表

import requests import urllib3 urllib3.disable_warnings() from jira import JIRA import pandas as pd def login_jira(username,password):jira JIRA("https://jira.cn/",basic_auth(username,password))#projectsjira.project(id13)# jqlproject"云链-…

基于强化学习的控制率参数自主寻优

1.介绍 针对控制建模与设计场景中控制参数难以确定的普遍问题,提出了一种基于强化学习的控制律参数自主优化解决方案。该方案以客户设计的控制律模型为基础,根据自定义的控制性能指标,自主搜索并确定最优的、可状态依赖的控制参数组合。 可…