- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
从人类的思维方式中寻找启示:宏观——微观寻径算法(二)
从人类的思维方式中寻找启示:宏观——微观寻径算法(二)
一TECHZONE技道馆
口口口口口口
●●●从人类的思维方式中寻找启示
宏观
文/华南理工大学张颖鹏
微观寻径算法
遗留问题及其解决方案
在六月《游戏创造》发表的文章中,笔者简单地概述
了”宏观——微观算法”应用于游戏寻径的整个流程,并
留下了…个关系到算法是否有效的问题:当一个分块本身
并不连通的时候(从同一个分块上面的某一个非障碍物点
到同一个分块上面另外一个非障碍物点不存在一条仅仅经
过该分块的路径),算法会发生错误吗?如果发生错误,该
如何解决?
下面我们先来回答第一个问题:会发生错误吗?我们
观察下面的图片,按照上一篇所介绍测试两分块联通的方
法,分块A和分块B是联通的(因为两个格子接壤的地方并
没有障碍物)这会导致什么问题呢?假设我们需要搜索图
中s点到t点的路径.从宏观上来看(就是大的分块)是相
通的,但从微观上看,实际它们之间并不存在路径现在我
们回想一下整个算法的流程,这样的的情况在宏观上搜索
出的路径会因为这条路径经过一些本身不联通的格子而可
能导致微观上搜索的时候无路可走,最终无法正确找出路
.
.
.
‘
:
一
__l…
_.lll】’-一.
l_lll_|_
-,
:.
68游髓创造2006年12月号
■●一
●●■_
径.我们不可能要求每一个格子自身是联通的,一旦存在不
联通的格子,这个算法就存在潜在性的错误可能.
那么我们能够解决这个问题吗?产生这个问题的原因
是格子本身的不联通导致分块违反了设计这个算法的原则
一一
周一个分块里面的点相互之间的距离是很短的.也就
是说我们不能把同一个格子里面的点笼统地看作同一”类”.
如果改变一下这个分类的基准,也许问题就迎刃而解了.
再来看回之前提出的那个问题,如果我们把原来的分
块A和B分成A1,A2,BI,B2四个分块或者说分成四类的
话.A1和A2是不联通的,尽管A2和B1是联通的,但是从
宏观上来看,AI跟B1还是不联通的,所以不存在从s到t的
路径.同样道理,Al和P,2,A2和B2之间也都不存在路径.
这样就符合实际的情况了.
那么我们的结论是什么呢?为了让大家逐步理解这个
宏观——微观算法,在上一篇文章里面所用的分块方法是不
严谨的.而严谨的分块方法应该是以格子的一个联通部分
作为单位,而不一定是用整个格子作为分块单位.(当然,如
果整个格子内部的点都联通,那么这个格子就是一个分块
分块小的时候,大部分情况下整个格子就是一个分块.)一
些大的格子可能由很多个分块组成.如图o3中红框标示的
格子有4个分块,图O4中红框标示的格子有5个分块(蓝色
的是障碍).这种分块方式就符合同一个分块里面的点之
间的距离相对短的前提假设,让算法不会Hj现致命错误.
那么接着就会出现另一个问题:我l’I]~tn何得知一个格
子里面有多少个分块呢?这就要用到广度优先搜索算法,
(有些书上叫”墨滴算法”,笔者比较喜欢称其为”水波算
法”,因为算法演示的时候太像水波往扩散了.)通过这个算
法,我们就可以从一个点出发,把所有与之联通的点找出
来,从而把一个格子分成相互联通的几个分块.接着延续
上一篇文章所介绍的算法流程,分块后,测试所有分块之间
的连通性(当然,同一个格了里面的分块之间的连通性不必
测试)最后同样得到一个表,但是这个表的基本单位不是
格子而是一个格子里面相互不联通的一个个区域.至此,整
个预处理过程结束.
为分块的基本单位改变了,所以寻径的过程也要做
相应的小改动一~对某一点位置的判断要具体到哪个格子
TECHZONE技道馆一
的哪个分块.通过这一系列的改进后,整个宏观一微观算法
就可以无错地投人使用了.
算法的优点,缺点及其改进方向
首先要说明的是,笔者在这里进行算法比较的对象主
要是广度优先搜索与及AStar等传统的寻径算法.而对于近
年来研究得比较多的导航点法,分解矩形法等,由于只是表
面__卜了解过,井没有用程序实现并测试过,所以只能得到猜
测性的结论.
算法的优点
1.这个算法最大的优点就是快,节约CPU资源.在足
够大的地图上,总寻径时间比AStar和广度优先算法等要快
两个数量级以上.
2.这个算法另外一个特点就是可以把寻径开销”分期
付款”因为通过宏观搜索后,智能体就已经可以知道下一
个要走的分块是哪?个,那么仅仅搜索出在本分块里面的
微观路径就可以了,等到走到下一个分块,再搜索一个分
块里面的微观路径,这样搜索微观路径的时间就被分摊了.
这使得过去即时战略游戏运行中的尴尬场景不会出现:没
有大量单位同时寻径的时候游戏运行得很顺畅,一旦大量
单位同时寻径的时候,游戏要.住一段时间.这种分摊有效
地解决了CPU运算峰值的问题.这个算法本身的总寻径时
间就已经很短,加上这些时间可以分摊,
您可能关注的文档
- 【精品论文】社区2008年服务设施建设项目建议书.doc
- 【精品论文】某县农村信用社2008年度安全保卫工作意见.doc
- 【精品论文】我国低碳经济推进与产业结构升级之间的融合发展行业经济论文_经济学论文_5296.doc
- 【精选资料】当前国土资源系统信访突出问题的对策.docx
- 【精选资料】我的国税情,我的中国梦--国税征文.doc
- 【精选资料】毕节市乡镇办事处整脏治乱工作存在问题及建议8686868.doc
- 【终稿】大学生兼职网络业务平台建设项目商业计划书-.doc
- 【经典】18、安徽省麻醉质控工作需要重视的几个问题(陈昆洲) 2011年全国麻醉质量控制论坛 江苏质控年会论文.doc
- 【经济学】04年10月财务管理串讲资料_5239.doc
- 【经济学论文】发行地方公债的理论依据及现实意义.doc
原创力文档


文档评论(0)