华容道游戏的搜索策略.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 4 《华容道》游戏的搜索策略 摘 要 本文利用人工智能产生式系统,采用双向广度优先搜索给出了求解《华容道》问题在一定意义下最优解的一个算法。本文首先介绍了该算法的基本思想,然后进行了复杂性分析,最后就源程序的核心部分给出适当的说明。本文作者还指导学生用DELPHI 5.0开发了相应的电脑游戏。部分相关资料已公诸于天津师范大学网站中由本文作者建立和主持的《信息学奥林匹克园地》栏目。 关键词 产生式系统 广度优先搜索 华容道 算法 复杂性分析 电脑游戏 A search strategy for playing Huarong Road Li Xuewu (Dept. of Computer Science, Tianjin Normal University, Tianjin , 300074) Abstract: the paper presents an optimal algorithm for solving a game named “Huarong Road”. In this paper, basic steps on the algorithm was introduce first, and second it proceed to an analysis on algorithm complexity , finally, it remarked some kernel codes in the program. Otherwise, the author directed a student that developed a computer game under Borland Delphi 5. Keywords: production system, breadth first search, Huarong Road, algorithm, complexity analysis, computer game 1 问题简介 张 飞 曹 操 马 超 赵 云 关 羽 黄 忠 兵 兵 兵 兵 华容道是在我国流传久远的一个益智游戏,然而其魅力至今不减,目前在许多商场内仍可见到基于这一游戏的玩具。该游戏起源于三国时期的一个著名故事:东汉末年,赤壁之战,曹操被周瑜杀得大败,带残兵从华容道仓皇逃走,不料大将关羽带兵在此等候。由于曹操与关羽曾经有过一段交往,关羽放曹操逃离华容道。华容道游戏的棋盘是由20个小正方形组成的长方形,宽4格,长5格。共有10个棋子,详见右下图。棋盘的下部有两个空置的小格作为华容道的出口。棋子就在这个长方形的棋盘内滑动,滑动过程中棋子不允许重叠。华容道是一个比较复杂的游戏,要移动很多步才能完成。据有关资料介绍[2],对于上面的布局(华容道游戏还有多种布局),已知的最好走法是81步。 笔者利用典型的人工智能产生式系统[1],采用双向广度优先搜索的方法搜索出在一定意义下最佳的解题步骤,在此基础上指导我系学生姚刚用DELPHI 5.0开发了一个相应的电脑游戏。本文首先介绍了该算法的基本思想,然后进行了复杂性分析,最后就PASCAL源程序的核心部分给出适当的说明与注释。限于篇幅,许多重要资料(如完整的PASCAL源程序、搜索的结果、相应的电脑游戏等)不得不舍弃,部分相关资料可在天津师范大学网站()的《信息学奥林匹克园地》栏目中找到,该栏目是由笔者建立和主持的。值得一提的是,我系学生姚刚开发的电脑游戏具有多种功能,除了让玩家自己动手使曹操脱离险境之外,还可完成诸如存储记录、读取记录、背景音效、选局、演示、求助计算机等功能。 2 搜索算法简介 我们用一个5*4的数组来记录棋盘状态,用标号1-5,8,9来表示各个棋子,例如,初始状态可表示为 4 9 9 5 4 9 9 5 2 8 8 3 2 1 1 3 1 0 0 1 (单向)广度优先搜索是大家熟知的算法,其基本步骤如下: (2.1)将初始结点入队。队头指向该结点,队尾指向该结点之后。 (2.2) 将队头结点出队,生成所有可能的扩展结点,队头指向下一个结点。如果某个新生成的结点已符合目标则结束,否则通过比较,将与已在队列中的结点不重复的新结点入队。队尾指向新结点之后。 (2.3)重复(2.2),直到某个结点符合目标或队列空(即队尾位于队头之前)为止。 我们采用的双向广度优先搜索是指建立两个队列,分别从初始状态和目标状态出发进行搜索,直到遇到一个共同的结点(状态

文档评论(0)

雨中人 + 关注
实名认证
文档贡献者

这一世渡尽红尘,若有来生,不再为人。

1亿VIP精品文档

相关文档