首页 > 其他分享 >HPA* (Near Optimal hierarchical Path-finding) —— 外网的讲解blog

HPA* (Near Optimal hierarchical Path-finding) —— 外网的讲解blog

时间:2024-05-03 10:26:59浏览次数:17  
标签:cell door 格子 level high blog 外网 Near 10

原地址:

https://alexene.dev/2019/06/02/Hierarchical-pathfinding.html


讲解视频:

https://www.youtube.com/watch?v=qSbSb8vMbLI





目标问题:

image


为不同的分割区建立door,也就是两个分割器有两个相邻的小格,这两个小格子是可以联通的,下图中指的是在黄色线两侧的相邻的两个蓝色小格子。

image


在每个划分后的格子里面(黄色线割出的大格子)设置好蓝色的door后,为大格子内的所有蓝色小格子建立连接,并得到彼此之间的连接路径的长度。注意,往往我们会在一个大格子的边缘上选几个点,而这里是将所有的边上的点(没有阻碍的点,不包括黑点)都设置为可以联通的点,比如一个10 * 10的大格子,我们一个边上有10个点,但是我们实际中并不会设置10个door,而是在这10个中选择几个,如三个点作为door。

image

在大格子中,10 * 10 的格子中,我们也是使用A* 算法建立出边缘点之间的连接路径的,因此如果边缘点上选择过多的作为door就会导致在为大格子计算内部路径时耗费过多的计算资源,因此我们可以选择大格子边缘上的几个点作为door。



我们知道了在大格子内部为边缘上的door建立路径,这时候使用的是A* 算法,我们需要把这个结果进行保存,在大格子之间进行寻路时依然使用A* 算法,这时我们选择哪个大格子作为下一步时是只选取之前保存的路径数值的。

image



Getting a path
Now that we have our high-level cells and they have connections between them and internal connections we just need to explore two things when we are searching for a path.

  1. From the starting point find all possible high-level connections that we can start from
  2. Traverse the high-level graph until we reach the high-level cell containing the destination.
  3. Once we reached that end high-level cell, do a low-level A* to find if from the entry point we have a path to the destination.

As our entity moves through the world it will encounter a cell that’s connected to another far away cell. This is for the case where we need to traverse a high-level cell. In that case we have to call A* pathfinding again for that high-level cell.

It is also possible to cache the path and just querry it as it saves us a A* search for a 10x10 cell. This is what I do and if you have spare memory to cache these paths I highly recommend doing so.

For example a path from the start point S to the destination D will look like this:

  • The orange cells are part of low-level paths.
  • The red cells are connected in the high-level pathfinding grid. For them we either have low-level paths cached or we compute them as needed. When we reach the first cell touched by that red arrow.




标签:cell,door,格子,level,high,blog,外网,Near,10
From: https://www.cnblogs.com/devilmaycry812839668/p/18170943

相关文章

  • HPA* (Near Optimal hierarchical Path-finding)算法的效果图
    本文中的图全部来自:https://mohitsharma0690.blogspot.com/2016/01/hierarchical-pathfinding.html图的说明:Hereisanexampleofhowclustersarecreatedinanopenspaceenvironment.Thewhitesquaresrepresentwalkablegrids.Non-walkablegridspacesaremark......
  • 我第一个开源AI小产品-video2blog即将正式发布
    前言首先它是为了解决我自己的个人问题。不管能不能帮到你,或者对于看到的你是否有点利用价值,也没太大的关系,最起码你可以来看看我开发小产品的整个过程。一段时间以来,我开始通过youtube平台来获取一些知识,或者打发早晚上下班坐地铁的时间。主要是我早晚通勤时间过长,差不多都是一......
  • 企业选择内外网文件摆渡平台的常见三大误区!
    网络隔离技术现在已经广泛应用于企业安全管理中,企业使用逻辑隔离或物理隔离的方式将网络隔离为内外网进而隔绝外部有害网络攻击,保护内部重要数据资产,但网络隔离后企业仍存在数据交换的需求,此时就需要内外网文件摆渡平台来承担文件交换的角色。 但企业在选择内外网文件摆渡平台......
  • 启发式评估(Heuristic Evaluation)--转载 [2011.12.13 sina blog]
    启发式评估(HeuristicEvaluation) -[一架好书--读书学习的收获]2008年08月07日分类: 一架好书--读书学习的收获  版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://buyantang.blogbus.com/logs/27286224.htmlUsabilityInspectionMethods,Edit......
  • 启发式评估(heuristic evaluation)方法介绍--转[2011.12.23 sina blog]
    启发式评估(heuristicevaluation)方法介绍(2008-09-0911:56:52)转载▼标签:it分类: 2互联网产品设计什么是启发式评估?启发式评估法就是使用一套简单、通用、有启发性的可用性原则来进行的可用性评估。即几个评审人员根据一些通用的可用性原则和自己的经验来发现......
  • 虚拟机VMware tools的用途(转载)[2012.2.14 sina blog]
    虚拟机VMwaretools的用途更新虚拟机中的显卡驱动,使虚拟机中的XWindows可以运行在SVGA模式下。在客户操作系统中安装VMwareTools非常重要。如果不安装VMwareTools,虚拟机中的图形环境被限制为VGA模式图形(640x480,16色)。使用VMwareTools,SVGA驱动程序被安装,VMwareWorkstati......
  • [转载]自述WebPPD两年半的运营经历 [2012.11.9 sina blog]
    原文地址:自述WebPPD两年半的运营经历作者:尹广磊我在07年10月接触到了AxureRP,当时还是4.6英文版,学习门槛比现在的同学可是高多了。跟所有有过一定产品设计经验的人一样,我一开始是排斥这东西的。自认为过去的Visio用得不错。但是应公司要求,原型务必反映出页面间的链接关系。仅这一......
  • [转载]谈谈smzdm.com [2015.2.27 sina blog]
    好网站,好像现在应该有微博账号了吧原文地址:谈谈smzdm.com作者:梁斌朋友给我介绍了一个网站smzdm.com(创始人@riantboy隋)。我使用了3个月,说说我的体会 1)这个网站流量不低,alexa中国排名153。比我老东家金山词霸的iciba.com排名(200)还高。 2)这个网站表面看是网友分享购物体验......
  • [转]解决Win7和Linux Deepin双系统时间不同步的问题[2017.3.13 sina blog]
    原博地址:http://xsinger.me/diy/261.html/comment-page-1对于双系统的用户,有时候从Linux回到Windows的时候,时间总相差8小时。为什么LinuxDeepin和Windows双系统会有时间差因为安装LinuxDeepin时选择了UTC(协调世界时)时间,所以LinuxDeepin开机总是从互联网获取时间并且写入BIOS......
  • [转载]好一件“建安”轶事[2016.4.28 sina blog]
    原文地址:好一件“建安”轶事作者:刘宏斌    本来是饶有兴致地陪葛浪静老师赶场京戏,以庆祝他的68岁生日,却不曾想被疯狂的BUS拉坏了爱车的后视镜而懊恼起来。    直到乐池顿起了久违的鸣响,心才回归。    不错,真的很不错,八零后万晓慧担纲,江峰等一拨一级“大腕”捧哏,虽是......