- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分层路径搜索算法研究.doc
分层路径搜索算法研究
摘要:自动寻路算法是智能游戏中的重要组成部分,通过对现有自动寻路算法的分析,了解目前已有自动寻路算法所存在的不足。基于地图划分的思想设计分层路径搜索算法,通过将地图细分,计算细分区域中抽象节点的最短路径,在地图加载过程中,实现地图的预处理,从而在确定了路径起始点和结束点之后,快速实现自动寻路。
关键词:自动寻路算法;地图细分;抽象图
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)30-0066-02
1 概述
随着信息技术的发展,游戏的画面质量不断提高,角色技能越来越丰富,当游戏的画面质量和角色技能发展到一定阶段之后,单纯的提高游戏画面效果和角色已经难以满足玩家的需求,而游戏的难易程度、趣味性和操作游戏就成为了智能游戏的研究热点。
自动寻路是智能游戏中非常重要的组成部分,传统的A*自动寻路算法通过剪枝优化自动寻路搜索进程,最终找到一条路径起点和终点之间的最短路径。但A*的空间复杂度较高,在大地图上的自动寻路效果较差。而M-A*、HPA*算法通过对地图的多尺度划分来缩小搜素空间,提高了自动寻路算法效率,但是降低了所寻路径的最优程度。
2 自动寻路算法优化思路
目前,大多数的自动寻路算法都未考虑地图中障碍物的分布问题,而且相同自动寻路算法的性能在不同障碍物分布地图上的差别较大。Dijkstra和A*算法的难以满足大地图自动寻路算法的性能要求;HPA*算法未考虑地形信息,降低最终路径的最有程度;M-A*仅的分区仅考虑起点和终点的区域信息,导致每一次自动寻路都需要重新分区,造成性能降低;Quadtree算法的抽象节点较多,终止条件过于严格,内存耗费严重。
针对目前主流自动寻路算法所存在的不足,提出一种考虑地图分布信息的分层路径搜索算法,通过对地图的分区,根据区域中障碍物的分布情况来选择合适的自动寻路算法来设计寻找路径,进而提高整个自动寻路算法的性能。
3 分层路径搜索算法设计
分层路径搜索算法根据大地图中障碍物的分布情况,将大地图分为不均等的若干区域,并根据每个区域的障碍物信息来设置区域状态,并将区域边界的空白节点看做抽象节点来构建地图的抽象图;并依据区域的状态,选择曼哈顿距离或者向上融合算法来获得抽象节点间的最短路径;使用A*算法在抽象图上实现抽象寻路,依据相关节点在所在区域的状态来选择对应的自动寻路算法进行细化;最终得到实际的最短路径。
3.1 相关系数设计
在分层路径搜索算法中,引入了区域障碍物比例[α],区域状态标记[λ]和阈值[β]三个系数。
1)区域障碍物比例
区域障碍物比例[α]用于计算区域的障碍物多少,为是否需要继续细分提供依据,其计算公式如式(1)所示。
[α=当前分区障碍物总数当前分区的节点总数] (1)
2)区域状态标记
区域状态标记[λ]取值0或1,对分区过程中所构建四叉树上不再细分的叶子及节点状态进行标记。如果区域内的障碍物较多,那么[λ]取值0,在该区域中使用A*算法实现自动寻路;如果[λ]取值1表示当前区域的障碍物较少,可以使用Bresenham直线方法寻找最优路径。
3)阈值
阈值[β]为是否需要对区域继续进行划分的边界值,[β]值越大,那么区有的划分就越细,地图中的抽象节点额越多,扩展节点越少,耗费时间越少,但耗费的内存越多;[β]值越小,区域划分越粗糙,抽象节点越小,耗费的内存越小。
3.2 地图区域划分
将大地图根据障碍物信息细分成多个区域是分层路径搜索算法的核心思想。其区域划分思想与同样进行地图划分的Quadtree算法不同,在算法中首选将地图划等分为四份,然后根据每个分区的区域障碍物比例[α]和阈值[β]的关系来设置区域状态标记[λ]。根据三个参数的定义,地图区域划分分为如下三种情况。
1)[α=0],表明当前区域没有障碍物,设置[λ=1],设置为叶子节点,表明该分区没有障碍物,不再进行细分,该区域使用Bresenhhan直线方法来寻找最短路径。
2)[0?α?β],区域内障碍物较多,继续细分。
3)[α?β?1],区域内障碍物较少,设置[λ=0],设置为叶子节点,表明该分区有障碍物,在该区域内使用A*算法进行自动寻路。
分层路径搜索算法的分区算法流程图设计如图1所示。
在按照如上的思路进行地图区域划分,最终得到一个包含地图区域信息的一个四叉树。
3.3 抽象图构造
在完成地图区域划分之后,需要将所得到的四叉树叶子节点上边界上的非障碍物节点作为抽下点,来构造地图的抽象图。根据区域的状态分别采用曼哈顿距离或者自底向上融合算法来计算子区域抽象节点的最短距离。
您可能关注的文档
- 农村金融发展对促进精准扶贫的研究.doc
- 农村金融市场现状与对策分析.doc
- 农村闲置土地经营的法律问题探究.doc
- 农村集体“三资”清产核资.doc
- 农村集体三资监管存在的问题及建议.doc
- 农村集体经济组织土地补偿费分配之浅见.doc
- 农林高校大型仪器管理模式的建设与实践.doc
- 农林高校实践教学基地劳务用工管理存在的问题及对策.doc
- 农民专业合作社不同发展模式对比分析.doc
- 农民专业合作社发展面临的主要问题及对策分析.doc
- CNAS-CL63-2017 司法鉴定-法庭科学机构能力认可准则在声像资料鉴定领域的应用说明.docx
- 12J7-3 河北《内装修-吊顶》.docx
- 12N2 河北省12系列建筑标准设计图集 燃气(油)供热锅炉房工程.docx
- 内蒙古 12S8 排水工程 DBJ03-22-2014.docx
- 山西省 12S10 12系列建筑标准设计 管道支架、吊架.docx
- 16J601-木门窗标准图集.docx
- 12J8 河北省12系列《 楼梯》.docx
- CNAS-GL37 2015 校准和测量能力(CMC)表示指南.docx
- CNAS-RL02-2016 能力验证规则.docx
- 津02SJ601 PVC塑料门窗标准.docx
最近下载
- 2024年广州市高三二模(普通高中毕业班综合测试(二)数学试卷(含官方答案及逐题解析).pdf
- 武汉市2025届高中毕业生四月调研考试(四调)数学试卷(含答案详解).pdf
- (毕业论文)果树采摘机器人的发展现状及运动学分析.doc VIP
- 【高中语文】双新背景下的语文教学设计+85.pptx VIP
- 雨课堂学堂在线《兵棋(中国人民武装警察部队警官学院)》学堂云单元测试考核答案.pdf VIP
- 11.3 一元一次不等式组(教学设计)七年级数学下册(人教版2024).docx
- 年产1万吨一氯甲烷的工艺流程设计.doc
- 医疗器械质量管理制度-全套规章制度.docx VIP
- 木材质量v验收标准.doc
- 直肠癌(外科学课件).ppt VIP
文档评论(0)