- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种新颖的电脑鼠走迷宫算法研究
摘 要: 一款性能稳定,功能全面,算法优良的高效智能“电脑鼠”能在短时间内快速稳定地完成复杂迷宫的搜索和冲刺。本文将向心算法和洪水算法融合形成向洪算法,介绍了该算法的工作原理,并对该算法进行优化和评估后完成迷宫搜索、迷宫二次回程搜索。向洪算法在保持向心算法和洪水算法优势的基础上减轻了处理器的运算负担,使电脑鼠运行稳定性进一步提高。实验表明,与传统算法相比,加载该算法的“电脑鼠”可以探寻出更加有利的路径,获取更全面的迷宫信息,是一种高效的迷宫搜索算法。
引言
“电脑鼠”是一个具备自主运动能力的微型机器人,它能够在特定的迷宫中行进和搜索,由起点出发,自行搜索到迷宫的终点,并利用搜索过程中记录的迷宫墙壁资料寻找出由迷宫起点到达终点的最短路径,然后根据最短路径规划出最快的运动方式和路径,并以最快的速度完成由迷宫起点到终点的冲刺。
要在指定的复杂迷宫中比赛,就像是一个人置身于未知的环境中,必须靠自身的判断力、敏捷的动作和正确精准地探查周遭环境赢得最终比赛的胜利。“电脑鼠”必须具备三项基本功能:
(1)稳定及快速的行走能力;
(2)正确的预判能力;
(3)路径记忆功能;
随着人工智能的发展和新兴智能算法的突破,迷宫算法革新对迷宫求解来说相当重要,迷宫算法从非图论(NGT)发展到图论(GT)[2],从简单的左右手法则、中左、中右法则发展到洪水填充法则、深度优先探索法则(DFS),且随着机器人多路径规划的不断深入探索,A■和D■等启发式算法也开始运用其中,甚至新兴智能算法如蚁群算法、遗传算法、粒子群算法应运而生。以上算法都存在着随机性,运算结果也不一定是最优解且搜索效率低。很多情况下需要遍历整个迷宫才能够找到终点,针对以上算法所存在的问题,本文提出一种经过改善和优化后的融合算法――向洪算法,此算法建立在向心算法和洪水算法的基础上,对墙壁信息进一步拓展,减少了搜索过程中的盲目性,有效地判别无效路径。向洪算法结合了向心法则和洪水算法的各自优势,既克服了洪水算法频繁制作等高图问题,又提高了向心算法对终点的指向性,此算法减轻了CPU频繁制作等高图带来的数据处理负担,同时减少不必要的路径搜索,为电脑鼠竞赛的胜利争取时间。
1.电脑鼠走迷宫的理论基础与迷宫建模
1.1电脑鼠走迷宫的理论基础
“电脑鼠”走迷宫竞赛的任务是电脑鼠在千变万化的未知迷宫中从迷宫起点自主探索到迷宫终点的最佳路径,用时最短者优胜。比赛成绩计算如式(1)所示。
式中,T为第一次从起点出发到第N次到终点所用的总时间;T为第N次的运行时间,电脑鼠每一次从迷宫起点运行到迷宫终点所用的时间,称为一次运行时间。T为奖励时间(一般为负数),T为惩罚时间,二者由比赛规则确定[1];T为排障时间,在每次运行结束后都会获得一个数值,最终成绩为数值最小的T。
由式(1)可知,“电脑鼠”走迷宫竞赛的最终成绩由运行速度?p迷宫求解效率和稳定性三个方面确定。搜索阶段获取的迷宫信息量越充分,进行路径的预判越精准,选取的路径越有效,对冲刺阶段最优路径的选择就越有利,前提是电脑鼠足够稳定。因此迷宫搜索算法的设计和优化目标是使电脑鼠稳定的在短时间内探寻到尽可能全面的迷宫墙壁资料,利用搜索的迷宫信息做出准确的决策分析和最优路径判断。向洪法则就是针对以上目标的一种迷宫搜索优化和实现算法。
1.2迷宫环境建模及方向表示
标准电脑鼠比赛迷宫是由16×16格的迷宫墙壁组成,采用16×16的二维数组对迷宫格进行编号记录。数组的下标代表迷宫格位置,数组的元素代表该迷宫格的墙壁信息。若定义数组GucMapBlock[MAZETYPE][MAZETYPE](MAZETYPE=16表示全迷宫),则每一格位置及信息由GucMapBlock[x][y]确定,第一个下标代表X轴坐标,第二个代表Y轴坐标。
根据坐标表示及竞赛规则看,每个单元的迷宫起点可以是迷宫的左下角或者右下角,即(0,0)或者(15,0)。电脑鼠开始搜索时,电脑鼠会将起点坐标设为(0,0),电脑鼠通过第一个转弯口方向判断未知起点位置。若第一个转弯口为右转,则起点坐标为(0,0)点,否则将起点标定为(15,0)。若起点坐标为后者,则需要进行迷宫坐标和墙壁资料的转换,将搜索过的迷宫信息的X坐标值加上15,并将墙壁资料赋给转换后的坐标。
电脑鼠在迷宫中的运动是以每格为单位,到达下一格后需要对坐标进行更新和墙壁资料的采集,为了方便记录电脑鼠当前位置和坐标的更新,需要进行绝对方向和相对方向的判定和转换。相对方向是以电脑鼠当前行进的方向为参照的方向,将相对于电脑鼠的前、右、后、左的方向定义0、1、2、3;绝对方向是以迷宫绝对坐标平面为参照的方向,将相
文档评论(0)