- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上海理工大学 计算机工程学院
本科优秀毕业论文 (设计)
棋类对弈人工智能算法研究与国际象棋软件设计
信息与计算科学02 级 陈人杰
指导教师: 陈家琪 教 授
(一) 内容简介
这个研究的目的是编写一个棋类对弈程序,例如国际象棋。棋类对弈程序的
设计需要运用到人工智能这方面的算法,其中最核心的就是 Alpha-Beta 算法。棋
类人工智能算法研究已对游戏以及军事方面带来了巨大的作用。
关键词:棋类对弈程序;人工智能;Alpha-Beta 算法。
(二) 设计思想
采用的数据结构有两种——数组棋盘和位棋盘,其中数组棋盘还可分成三个
方案,加上位棋盘一共四个方案。
方案一:表示棋盘的方案。
用一维数组或二维数组表示棋盘的结构,非常适合用于五子棋、围棋、黑
棋这类不区分棋子种类的棋类游戏。其特点是局面表现能力强,便于评价局面的
好坏。但是对于象棋等有兵种区分的游戏而言,每次都要扫描整个棋盘,不便于
了解某些特定棋子的位置。
方案二:表示棋子的方案。
用数组表示棋子的信息,只适用于棋子有不同种类的棋类游戏,如象棋和斗
兽棋。 类棋用 种方案可以节省空间,但是靠 样的结构局面的具体情况很难
了解,不利用于评价局面。优点也十分明显,可以十分简单地找出某些特定棋子
的位置,而不需要像棋盘方案那样搜索整个数组。
方案三:棋盘棋子相联系的方案。
既然上述两种方案对于象棋类游戏各有缺陷,那么将二者一起使用在一定程
度上可以达到最优,但必须花费更大的空间。棋盘数组与棋子数组共同使用的方
案具有上述两者的优点。
方案四:位棋盘。
海理工大学计算机工程学院 第1 页 共3 页 本科优秀毕业论文 (设计)
海理工大学计算机工程学院 陈人杰:棋类对弈人工智能算法研究与国际象棋软件设计
上述三个方案虽然不同,但是用的都是数组,可以算作一个分类。而位棋盘
不同,位棋盘不采用数组来表示棋盘或棋子,而是用一个64 位整型数来表示棋盘,
适用于8 ×8 的棋类游戏,如国际象棋和黑 棋。一个使用位棋盘的程序中通常有
一组位棋盘, 些位棋盘记录棋盘的不同信息。位棋盘的变化由位运算获 。因
此位棋盘可能是运算速度最快的方案。但目前 32 位机占主流,以64 位整型数表
示的位棋盘的发挥受到限制。
(三) 计算方式
无论棋盘局面的数据结构采用哪种方案,棋类程序人工智能的算法是基本类
似的。棋类游戏的进行过程可以看成一棵树,而计算机下棋是通过搜索 棵树的
子树,在子树的叶子结点通过调用评价函数来找到最好着法。(仅仅是评价函数认
为最好。)即使是搜索子树,所花费的时间也相当多,因此采用了一些算法使搜索
速度大幅提高。
一、Alpha-Beta 算法
树的某一结点的评价值足够好,当余下的兄弟结点对上一层的局面评价值没
有影响的情况下,直接返回该结点当前 评价值,将余下的兄弟结点裁剪。该算
法是无害的,对整个树的搜索结构毫无改变,并加快了速度。但是该算法对着法
的次序十分敏感。
二、着法排序
既然Alpha-Beta 算法对着法敏感,那么就应该进行着法排序将好的着法放在
前面从而提高剪枝的效率。主要采用的是历史启发、杀手启发以及吃子启发等算
法。另外,排序的方法对速度也有很大的影响。
三、空着裁剪
如果一方让对方连下两步(自己不走,即空着),对方都不能挽回局面的话,
显然之后就没有必要再搜索了。此时就应该裁剪。该算法大幅增强了Alpha-Beta
的剪枝效率,但也使搜索的错误率有所提高,是有害裁剪。
四、哈希置换表
棋类对局中有许多殊途同归的局面, 些局面没有必要重复搜索,只要记录
之前搜索过的评价值,下次遇到有时可以直接使用该值进行置换。记录 些局面
的评价值用的数据结构是哈希表,由于局面的数量大,所以必须找出一个高效的
搜索记录的方法,而哈希表由于索引与内容相联系,成为首选。
五、其他算法
除此上述叙述的几个主要算法之外,还有静态搜索这一辅助算法,主要解决
象棋类程序中出现的问题。另外着法预处理与着法生成也是棋类对弈程序中要解
决的问题。
您可能关注的文档
最近下载
- 2025广西公需科目考试答案(3套,涵盖95_试题)一区两地一园一通道建设;人工智能时代的机遇与挑战.pdf VIP
- 2025商用车发动机气缸体铸件技术条件.docx VIP
- 颅内复杂动脉瘤介入治疗围术期护理专家共识2025 .pdf
- 第二节病虫害预测预报教学教材.ppt VIP
- 电梯新检规施工自检报告-曳引客货-2024.doc
- 2025年高考英语(新高考Ⅱ卷)试卷评析及2026高考备考策略 课件.pptx
- 2000年全国高中学生化学竞赛决赛(冬令营)理论试题与实验试题及参考答案精品.pdf VIP
- 苹果公司知识产权保护策略.pptx
- 中药饮片智能调剂与煎煮关键技术研究课件.pdf VIP
- 局部解剖学(山东联盟) 智慧树 知到答案.docx VIP
文档评论(0)