[发明专利]改进的启发式A*算法在审
| 申请号: | 201410210514.X | 申请日: | 2014-05-19 |
| 公开(公告)号: | CN103971008A | 公开(公告)日: | 2014-08-06 |
| 发明(设计)人: | 史宏志 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
| 主分类号: | G06F19/00 | 分类号: | G06F19/00 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250014 山东*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 改进 启发式 算法 | ||
技术领域
本发明涉及计算机游戏中NPC(Non-Player Character)行为的智能化和辅助计算能力,具体涉及一种改进的启发式A*算法,游戏中对大地图自动寻径和搜索算,二维甚至三维地图的设计。
背景技术
随着计算机软硬件技术的不断发展,电脑游戏行业不断发展,受众人群急剧增加,俨然已经成为计算机技术应用的中心领域。与此同时,人们对游戏中NPC(Non-Player Character)行为的智能化程度以及其中的辅助计算能力提出了越来越多的要求。而其中,由于地图的面积大以及环境中影响因素等原因,地图寻径问题解决的往往不尽人意。
同时,搜索也是人工智能的一个基本问题,是推理不可分割的一部分。A*算法是一种典型的启发式搜索算法,在国内外都被广泛应用到游戏中解决地图寻径问题。然而传统的A*算法应用于具体问题时,通常由于问题的限制等,需要改进和优化。
鉴于传统A*算法的一系列不足:
1)空间需求太大,OPEN和CLOSED表会随着搜索空间的扩大而越来越大直至不能满足空间需求,搜索时间会极大延长;
2)当问题不存在解时,A*算法会穷举所有可能;
3)对于不满足单调性的A*算法来说,已经进入CLOSED表中状态节点可能会被多次移出。
自从A*算法被提出以来,其简洁有效的特性吸引了众多研究者的兴趣,而传统A*算法可以认为是普适的,对于具体问题的解决就显得有些不尽完美,因此针对A*算法不同方面以及面对具体问题人们提出了很多改进算法的方案。
发明内容
本发明对传统A*算法的改进策略,并从理论上证明了所做改进的优越性。为了更好地利用迷宫问题本身的特性,本发明对A*算法做了如下的改进。
(1) 只允许四个基本方向的运动,即上下左右。如表3.1所表明的,对于八向运动而言,除了最终的路径长度会由于允许斜向运动而有理所当然的减少外,性能不能得到任何提高,甚至可能带来性能的降低。而这种路径长度的减少也是可以在最后对四向路径进行简单处理近似得到——这只需遍历一遍路径。而且,仅仅使用四个基本方向的话,有利于此后的改进。
表1八向与四向运动的性能对比
(2) 采用街区距离作为估价函数。因为不允许斜向运动,所以欧氏距离就不再试用,而且,街区距离计算更为简便,速度更快。且显然此时的估价函数是满足单调性的。
(3) 对OPEN表中的节点先按 大小进行升序排序, 相等时,按 升序排序。这虽然会有一定的性能损失,但不会掩盖整个改进所形成的优势。
(4) 因为估价函数满足单调性,所以节点在进入CLOSED表后不会再次被选为后继,虽然这不会使算法完全摒弃使用链表的方式来维持CLOSED表,但因为无需对CLOSED表进行修改,所以可以采用二维数组进行标记以供算法查询节点是否已然被扩展使用,而这种查询方式显然速度更为快捷。
(5) 由于(3)中排序方案,可以证明,已经被加入到OPEN表中的节点不可能通过其他节点而得到更加小的 值,从而不存在修改OPEN表中节点信息的问题,因此可以用(4)中的二维数组进行标记,达到更高的性能。
证明:
a)因为算法只允许四个基本方向的运动,从而,整个迷宫可以看作一个二部图,而二部图中所有的回路长度均为偶数。即若从初始节点到迷宫中某一图元存在多于一条路径,则这些路径中任意两条的长度差的绝对值必然为偶数。
b) 设OPEN表中有一节点,其父节点为 ,且通过另一邻接点 使得的 值减小。则由于节点的 不会改变,所以必然有
(3-3)
又 在 之后被选作扩展节点,有
(3-4)
i) 当 时,由于式(3-5),所以 在 之前被扩展,矛盾。
ii) 当 时,由a)可知
(3-5)
从而
(3-6)
因为算法采用街区距离作为估价函数,所以有
(3-7)
(3-8)
其中 为取绝对值运算, 为取x坐标运算, 为取y坐标运算。
(3-9)
又 和 都与 相邻,即 到 的距离为2,从而
(3-10)
与(3-4)式矛盾。
本发明的有益效果是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410210514.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种移动多媒体资讯柜
- 下一篇:学生用课桌
- 同类专利
- 专利分类
G06F 电数字数据处理
G06F19-00 专门适用于特定应用的数字计算或数据处理的设备或方法
G06F19-10 .生物信息学,即计算分子生物学中的遗传或蛋白质相关的数据处理方法或系统
G06F19-12 ..用于系统生物学的建模或仿真,例如:概率模型或动态模型,遗传基因管理网络,蛋白质交互作用网络或新陈代谢作用网络
G06F19-14 ..用于发展或进化的,例如:进化的保存区域决定或进化树结构
G06F19-16 ..用于分子结构的,例如:结构排序,结构或功能关系,蛋白质折叠,结构域拓扑,用结构数据的药靶,涉及二维或三维结构的
G06F19-18 ..用于功能性基因组学或蛋白质组学的,例如:基因型–表型关联,不均衡连接,种群遗传学,结合位置鉴定,变异发生,基因型或染色体组的注释,蛋白质相互作用或蛋白质核酸的相互作用





