- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
五子棋(算法)
* * 毕业论文答辩 基于java小游戏开发——五子棋 答辩人:黄洪华 导 师:钟少君 班 级:信息082班 游戏设计背景 增强思维能力 培养博弈兴趣 锻炼自己的耐性 放松心情 文化历史悠久 蕴含禅理 适合人群广 操作简单 设计思路总介绍 对五子棋算法的设计原理和实现方法进行探讨和研究,主要包括数据结构、搜索算法和优劣评价函数组成。 主要的特点包括快速的数据结构设计实现、以及高效率的搜索算法和尽可能的模拟人类的智能。 棋局的表示 我们知道五子棋的走法中有优先和禁手,如连四肯定是没有三四优先,而如果是黑方出现三三(包括“四、三、三”)、四四(包括“四、四、三”),而黑方只能以四三取胜,如果黑方走出禁手则是输;五连与禁手同时形成,先五为胜,等等的规矩。 但是电脑毕竟不是人类,可以类人但是却不可以自己思考,那么就需要给电脑一个它可以明白的评判标准。 常用术语 我们知道五子棋的走法中有优先和禁手,如连四肯定是没有三四优先,而如果是黑方出现三三(包括“四、三、三”)、四四(包括“四、四、三”),而黑方只能以四三取胜,如果黑方走出禁手则是输;五连与禁手同时形阳线:棋盘上可见的横纵直线。阴线:棋盘上无实线连接的隐形斜线。 活3:由于一方走一着在无子交叉点上形成一个“活三”的局面,也就是在放一子就可行成4连了。 活4:在棋盘某一条阳线或阴线上有同色4子不间隔地紧紧相连,且在此4子两端延长线上各有一个无子的交叉点与此4子紧密相连。 冲四:除活四外的,再下一着棋便可形成五连,并且存在五连的可能性的局面。 由于篇幅有限不能将所有的规则讲完,只是提出了对讲算法有用的几点加以叙述。成,先五为胜,等等的规矩。 如何让电脑知道该落子在哪一点呢 在这方面,电脑要做得和人一样,判断棋盘上每一点的重要度。比如冲四比冲三强,冲三比造二强,遇到四三如果是对方的,堵死,如果是自己的,优先落子。遇到双三,如果是黑棋,黑方输,如果是白棋,优先等级仅次于四三。 我们看到电脑在运算的时候,同种棋型在敌我双方的优先等级并不相同,由于禁手的缘故黑棋和白棋的处理也不相同。同样是四三,如果是玩家的,则电脑不会冲自己的,而是先堵玩家的。 基本的棋型优先顺序 造一个二……造四个二冲三……冲两个二和一个三冲双三冲四冲四三。 之所以这么设置是由于五子棋的下法所致,只要构成5颗一线就赢了,所以说一条线上构成的越多那么就有优势,当然就是棋数越多,分越多。 五子棋搜索树种的极大极小搜索 为了使谈论更有条理性,将博弈的双方分别命名为MAX和MIN。而搜索的任务是为MAX找最佳的移动。假设MAX先移动(此时暂时不考虑五子棋的禁手等规则),然后2个博弈者轮流移动。 因此,深度为偶数的节点,对应于MAX下一步移动的位置,称为MAX节点;深度为奇数的节点对应于MIN下一步移动的位置,称为MIN节点(博弈树的顶节点深度为0)。 k层包括深度为2k和2k+1的节点。通常用层数表示博弈树的搜索深度。他可以表示出向前预测的MAX和MIN交替运动的回合数。 对于复杂的博弈,博弈者必须认识到由于博弈树的复杂程度所以搜索到终点是不可能的(除了在博弈快结束时)。所以,常采用在有限范围搜索方法,这里使用启发式搜索。 在启发式搜索的过程中,关键的一步是如何确定下一个要考察的节点,在确定节点时只要能充分利用与问题有关的信息,估计出节点的重要性,就能在搜索时选择重要性较高的节点,以利于博弈者以较快的速度求出最佳的棋步。 在这里我采用静态评估函数,用评估函数h(i)衡量每一个叶节点位置的“值”。一个最佳首步可以由一个最小最大化过程产生。假设轮到MAX从搜索树的叶节点中选取,他肯定选择拥有最大值的节点。因此,MIN叶节点的一个MAX节点双亲的倒推值就等于叶节点的静态评估值中的最大值。另一方面,MIN从叶节点中选取时,必然选取最小的节点(即最负的值)。 既然如此,MAX叶节点的MIN双亲节点被分配一个倒推值,他等于叶节点静态评估值的最小值。在所有叶节点的父节点被赋予倒推值后,开始倒推另一层,假定MAX将选择有最大倒推值的MIN的后继节点,而MIN会选择有最小倒推值的MAX后继节点。继续逐层对节点评估,直到最后开始节点的后继者被赋予倒推值。MAX将选择有最大倒推值的节点作为他的首步。 整个过程的有效性基于这样的假设。用整个棋盘估值的函数h(n)为静态估值函数。设想当前棋局S为轮到计算机方下棋(用方框表示),任选一空点作为计算机方的下棋位置(可有若干种选择),接着考虑在此情况下游戏者一方下棋的棋局(
您可能关注的文档
最近下载
- 【期货市场技术分析】完整版——约翰.墨菲.doc VIP
- 秋季养生ppt课件.pptx
- 2023年北京电影学院导演专业真题.docx
- 课程设计-基于systemview的2ask信号调制与解调 .pdf VIP
- 2023年北京电影学院部分专业历届校考真题汇编.pdf VIP
- 絮凝剂对MBR活性污泥理化性质的影响研究.pdf VIP
- 2026年高考作文素材积累之九三阅兵:这一刻,与祖国同频共振.docx VIP
- 2025年辽宁省初中学业水平考试英语模拟试卷试题(含答案).pdf VIP
- 2025年辽宁省大连市中考英语模拟试卷.docx VIP
- 2025年中考英语冲刺模拟试卷-辽宁地区-学生版.pdf VIP
文档评论(0)