- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中国象棋计算机博弈关键技术解析
中国象棋计算机博弈关键技术分析 徐心和 东北大学人工智能与机器人研究所 xuxinhe@ 中象机器博弈的关键技术分析 棋局表示 着法生成 评估函数 博弈搜索 系统开发 象棋博弈软件的基本构成 人机界面 棋局表示与数组管理 着法生成与博弈树展开 棋局评估函数 博弈搜索引擎 开局库 残局库 系统总控 棋局表示Board Representation 通常我们使用状态集合来表示 n 时刻的棋局状态。即 棋盘表示与棋盘矩阵 初始棋子状态的表示 棋子位置矩阵表示法 比特棋盘表示法 比特棋盘与棋局的布尔条件 比特棋盘用以记录棋局的某些布尔条件。 如果比特棋盘中对应某一格的位是“1”,那么这一格上的条件就是“真”;如果是“0”则对应的条件就是假。 布尔条件就是在“哪些格子上符合你所定义的条件”。 比如,“棋盘哪些位置有棋子?” “棋盘哪些位置有红棋棋子?” “棋盘哪些位置有车?” …… 这给计算机上的表示带来很大方便:12个字节,96位便可以表示一种条件(高6位为0)。 比特棋盘预置表法在着法生成中具有重要的地位,而且在评估中可以方便地判断棋子相互的联系和威胁。 #B——比特向量索引值 一个10位(9位)比特向量B可以表示一路(行)棋子的分布,它又可以有一个正整数#B作为索引,这将为今后的棋盘分析带来巨大方便; 表示路向棋子全部可行分布情况的索引值范围为0—210-1=1023; 表示行向棋子全部可行分布情况的索引值范围为0—29-1=511; 这样通过索引值就可以找到相应棋子的分布情况。 棋局的哈希数(H)与哈希变换 棋局的哈希数(H)与哈希变换 着法生成原理Move Generation 着法生成是博弈树展开的关键环节 着法的表示 相对着法:马八进七,炮5平2——非完整信息,需要与当前局面结合 着法算子的运算功能:提-动-落-吃 提址——from 即此着的出发位置; 动子——moved(chessman moved)即走动的棋子; 落址——to 即着法的到达位置; 吃子——killed(chessman Captured)即吃掉的棋子。 对着法的要求:合法性、完整性、有序性 着法生成的棋盘扫描法 确定走动的棋子(moved) 找到该棋子的当前位置(from) 根据象棋规则,扫描棋盘,逐个找到全部合理落址(to)(考虑制约条件、有效区域、本方占位、对方占位等) 如果落址为本方棋子,则不可行;若为对方棋子,则可以吃子(Captured) 如果到达落址,构成 “将军”(叫杀),则应该给对方以提示——“将!” 着法生成的棋盘扫描规则 区域定义: 定义棋盘有效区域 定义红方半区 定义黑方半区 定义红方九宫 定义黑方九宫 提址(from)为(i,j)的动子着法生成规则 提址(from)为(i,j)的动子着法生成规则 提址(from)为(i,j)的动子着法生成规则 棋盘扫描法遇到的问题 虽然在着法的表达上,棋盘扫描法最为直观、简洁,但实战意义不强。 因为扫描过程大量耗时:扫描动子、提址、制约条件、合理区域、双方占位、吃子等都是动态生成的,尤其区域判断和棋子种类检测等,时间开销巨大。 对于吃子着法和未吃子着法无法分别生成,只能全部生成,再做筛选。 模板匹配法 可以为某些动子设计“模板”,只要匹配到提址,便可以迅速找到落址。 通过单项比特矩阵比对,实现“本方子则止,对方子则吃”,完成“提-动-落-吃”内容的确定。 比较适合使用模板的动子为马和相(象)。 预置表法 棋盘状态确定之后,各子的可行着法是确定的。 预置表的思想是把某种棋子在棋盘每个合理位置上,所有可能的棋盘状态下的合理着法预先存储起来,生成一个小型数据表集合。 在生成着法时,通过查询,取代各种计算。 预置表的实质是用空间换时间,即牺牲一定的内存空间加速程序的运行速度。 预置表初始化很费时,但只需在程序开始运行时初始化一次,而且占用内存空间不大。 预置表法 棋子布局的布尔行向量形式 [101000010] 非吃子着法的落址为 [000110100] 可能的吃子着法的落址为 [100000000] 炮着法的预置表总的空间占用计算 每一行棋子的可行排列数恰好对应于9位二进制数(有子为1,无子为0),即 29 = 512 种情况(项)。 考虑到炮在行向的 9 种可能位置,预置表的规模即为 9*512 项。 分别考虑吃子着法与非吃子着法(2倍) 考虑路向情况,则总表规模为 2*9*512+2*10*1024=29696项 每项占用 4 字节,则总空间占用量为 116 k 预置表的使用 已知动子(炮)的提址( i , j ) 由第 i 行的比特向量和炮在第 j 位置查找对应的预置表项,分别得到吃子
您可能关注的文档
- 中国人民大学MBA课题-人本管理及领导艺术.ppt
- 中国企业文化理论创新及实践.ppt
- 中国体育模特大赛冠名招商案例设计.ppt
- 中国传统文化智慧及企业管理.ppt
- 中国北车集团四方车辆研究所薪酬案例设计.ppt
- 中国农业银行中国中小企业节展会营销策划案例设计.ppt
- 中国历史课程网推荐优秀作品浙江省高二下新课程培养训练.ppt
- 中国古代科技及书画.ppt
- 中国古代史学习.ppt
- 中国国家游泳队赞助合作案例设计.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
最近下载
- 《市政排水管道气囊封堵施工规程》.pdf
- TOPRAAD920印刷模切开槽机.pdf VIP
- 单相整流电路建模与仿真.doc VIP
- 缺血性脑血管病临床管理指南解读.pptx VIP
- 工程概算预算审核方案(3篇).docx VIP
- 神经重症气管切开患者气道功能康复与管理专家共识2024.pptx VIP
- 2025年监理工程师之监理概论考试题库及答案(名师系列).docx VIP
- 2025年监理工程师之监理概论押题练习试卷B卷附答案 .pdf VIP
- 2025年监理工程师之监理概论考试题库及完整答案(必刷).docx VIP
- 2025年监理工程师之监理概论押题练习试卷A卷附答案 .pdf VIP
文档评论(0)