本文中的图全部来自:

https://mohitsharma0690.blogspot.com/2016/01/hierarchical-pathfinding.html

图的说明:

Here is an example of how clusters are created in an open space environment. The white squares represent walkable grids. Non-walkable grid spaces are marked with black (missing here). The nodes marked as grey are part of the abstract graphs. The red lines are the edges in the abstract graph. All of the edges are bidirectional.

使用A* 算法的效果图,从红色点到绿色点寻找路径:

使用HPA* 算法后寻找路径的效果图:

我们可以看到,最后的HPA* 寻找路径一定在红色线上(不同块之间的路径一定在红色线上,也就是黄色路径一定和部分红色线重合,启始块和目标块的内部路径不在红色线上,这里的分割块就是算法描述中的cluster)

要知道这样一个问题,如果cluster分割块的size过大,也就是分割块过多的情况下,那么HPA* 的寻找路径一定和A* 算法的寻找路径有较大的不同,根据上图我们可以看到,如果红色的网格过于稀疏那么HPA* 算法的黄色线由于必须和部分红色线重合,因此会和原始的A* 算法的黄色线有较大的差别。

但是,如果cluster的size过小,也就是分割块过多,那么必然增加整体的运算时间,降低运算效率。

在文章最后给出了下面的一个寻路图:(复杂难度的)

在上图中使用HPA* 算法是难以获得A* 算法相类似的路径的。

在寻路难度较大的问题,如复杂的迷宫问题,HPA* 的性能有可能没有A* 算法的高。

HPA* (Near Optimal hierarchical Path-finding)算法的效果图的更多相关文章

  1. Proof for Floyd-Warshall's Shortest Path Derivation Algorithm Also Demonstrates the Hierarchical Path Construction Process

    (THIS BLOG WAS ORIGINALLY WRTITTEN IN CHINESE WITH LINK: http://www.cnblogs.com/waytofall/p/3732920. ...

  2. [MIT6.006] 1. Algorithmic Thinking, Peak Finding 算法思维,峰值寻找

    [MIT6.006] 系列笔记将记录我观看<MIT6.006 Introduction to Algorithms, Fall 2011>的课程内容和一些自己补充扩展的知识点.该课程主要介 ...

  3. AOJ GRL_1_C: All Pairs Shortest Path (Floyd-Warshall算法求任意两点间的最短路径)(Bellman-Ford算法判断负圈)

    题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=GRL_1_C All Pairs Shortest Path Input ...

  4. HDU4889 Scary Path Finding Algorithm

    Fackyyj loves the challenge phase in TwosigmaCrap(TC). One day, he meet a task asking him to find sh ...

  5. HDU 4889 Scary Path Finding Algorithm

    其实这个题是抄的题解啦…… 题解给了一个图,按照那个图模拟一遍大概就能理解了. 题意: 有一段程序,给你一个C值(程序中某常量),让你构造一组数据,使程序输出"doge" 那段代码 ...

  6. 【转载】 A* 寻路算法 (个人认为最详细,最通俗易懂的一个版本)

    原文地址: http://www.cppblog.com/christanxw/archive/2006/04/07/5126.html =============================== ...

  7. A* 寻路算法[转载]

    A* 寻路算法 转载地址:http://www.cppblog.com/christanxw/archive/2006/04/07/5126.html 原文地址: http://www.gamedev ...

  8. neo4j算法(1)-介绍

    neo4j为图数据库,其中涉及的也就为图算法,图算法被用来度量图形,节点及关系. 在neo4j中,通过call algo.list() 可查看neo4j中的算法列表. 在neo4j官方文档中,主要记录 ...

  9. 【最短路径Floyd算法详解推导过程】看完这篇,你还能不懂Floyd算法?还不会?

    简介 Floyd-Warshall算法(Floyd-Warshall algorithm),是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似.该算法名称以 ...

  10. js图的数据结构处理---弗洛伊德算法

    function Graph() { this.graph = [ [0, 2, 4, 0, 0, 0], [0, 0, 1, 4, 2, 0], [0, 0, 0, 0, 3, 0], [0, 0, ...

随机推荐

  1. 用C++ Qt实现类似Photoshop的钢笔工具

    因为工作上的需求,需要实现一个类似Photoshop里面的钢笔工具, 分析一下它的功能,包括: 1. 有两种点:节点和控制点,节点是构成图形的基本端点,控制点是影响贝塞尔曲线的系数. 2. 创建节点: ...

  2. C# .NET 生成国密私钥公钥对

    使用的工具类: using Org.BouncyCastle.Asn1; using Org.BouncyCastle.Asn1.GM; using Org.BouncyCastle.Asn1.X9; ...

  3. mongodb数据库连接格式

    mongodb数据库连接格式 mongodb://账号:密码@mongodb服务器IP:27017/数据库名称

  4. Vite-Wechat网页聊天室|vite5.x+vue3+pinia+element-plus仿微信客户端

    基于Vue3+Pinia+ElementPlus仿微信网页聊天模板Vite5-Vue3-Wechat. vite-wechat使用最新前端技术vite5+vue3+vue-router@4+pinia ...

  5. 06-Linux用户和组管理

    关于用户和组的知识 家目录 用户都有家目录:root用户家目录为/root.其他用户的家目录在/home/,如user1的家目录为/home/user1 当我们创建用户时,系统就会自动创建该用户的家目 ...

  6. 更难、更好、更快、更强:LLM Leaderboard v2 现已发布

    摘要 评估和比较大语言模型 (LLMs) 是一项艰巨的任务.我们 RLHF 团队在一年前就意识到了这一点,当时他们试图复现和比较多个已发布模型的结果.这几乎是不可能完成的任务:论文或营销发布中的得分缺 ...

  7. 在SelfHost项目中获取客户端IP地址

    在SelfHost项目中,获取客户端的IP地址比OwinSelfHost项目要复杂一些,可以通过以下方法获得: base.Request.Properties["System.Service ...

  8. C# 线程与进程

    一.前台线程与后台线程对象 为什么要用多线程? 1.让计算机"同时"做多件事情,节约时间. 2.多线程可以让一个程序"同时"处理多个事情. 3.后台运行程序,提 ...

  9. 洛谷P1020

    又是一道做的很麻的题,准确来说感觉这不是一道很好的dfs题,没有体现dfs的一些特点 反而感觉是在考察dp,刚开始也是按照我的思路交了3次都没过 原本以为所选的数应该都是由上一次的最大值推出来的,后面 ...

  10. Solo 开发者周刊 (第6期):仅需一个动作,秒变时间管理大师?

    这里会整合 Solo 社区每周推广内容.产品模块或活动投稿,每周五发布.在这期周刊中,我们将深入探讨开源软件产品的开发旅程,分享来自一线独立开发者的经验和见解.本杂志开源,欢迎投稿. 产品推荐 1. ...