牛角棋博弈程序分析与设计汇.pptVIP

  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文档。上传文档
查看更多
牛角棋博弈程序分析与设计汇

东北大学机器博弈研究室 着法生成(二) 使用预置表法须注意: 根据牛角棋的规则,从预 置表中提取的着法需做如下合 法性判断: preTable[ color ][ from ][ i ] != si[ j ]; ( 其中,0 =i= 4; j = 0, 1, 2 ) [piece, from] ? [ piece, to] 2 0 3 4 5 6 7 8 9 1 0 1 2 东北大学机器博弈研究室 博弈树的展开与恢复 生成子节点局面 MakeMove ( ) 撤销子节点局面 (恢复到父节点) UnmakeMove ( ) 2 0 3 4 5 6 7 8 9 1 0 1 2 东北大学机器博弈研究室 这是在中国象棋中标准的用深度优先策略实现的极大极小搜索算法描述。 东北大学机器博弈研究室 牛角棋的搜索算法 负极大值形式的alpha-beta搜索算法 = // 生成子节点局面 // 恢复父节点局面 // Beta剪枝 // 找到更好的着法 // 搜索到叶子节点 // 已经决出胜负 东北大学机器博弈研究室 基本搜索流程 叶节点评估 搜 索 东北大学机器博弈研究室 10 12 6 13 6 4 15 18 -5 9 8 7 16 Ply=1 Ply=2 Ply=3 层数 Ply=0 深度 Depth=3 Depth=3 Depth=1 Depth=0 作业:试用各种算法求解下题 东北大学机器博弈研究室 各种算法至少包括 宽度优先极大极小搜索 宽度优先负极大值搜索 α-β搜索 负极大值形式的α-β搜索 东北大学机器博弈研究室 算法优化 博弈树是根在上部向下递归产生的一棵包含所有可能的对弈过程的搜索树,是完全搜索树,包含了所有可能的博弈状态 但是,有些情况我们不希望重复搜索,比如重复出现的局面(状态) 东北大学机器博弈研究室 循环局面的处理 2 0 3 4 5 6 7 8 9 1 0 0 1 1 2 169 269 279 179 169 0 0 0 0 0 0 1 2 3 6 4 5 7 8 9 Path 搜索过程中循环局面的出现 东北大学机器博弈研究室 循环局面的处理 169 269 279 179 169 0 0 0 0 0 0 1 2 3 6 4 5 7 8 9 Path 若 i4 则无循环,注意 Path[i]与Path[i-4]的关系 搜索过程中循环局面的出现 2 0 3 4 5 6 7 8 9 1 0 0 1 1 2 东北大学机器博弈研究室 循环局面的处理 建立一个顺序表,命名为Path。 每次搜索前将唯一表示当前局面的值存入表中 若当前层为i,判断Path[i]是否等于Path[i-4] 若相等,表示和棋,返回;不等则继续搜索 搜索结束,将Path[i] 赋值为0 较复杂棋类,如象棋,一般用hash表实现循环局面的处理。 东北大学机器博弈研究室 评估(一) 胜利条件 红方胜的条件: (si[REDSTONE] == 8) || (si[REDSTONE] == 9)) 蓝方胜的条件: ((si[REDSTONE] == 0) ((si[BLUESTONE1] + si[BLUESTONE2]) == 3)) 东北大学机器博弈研究室 蓝走红胜 红走蓝胜 不难看出,短兵相接,谁动谁输。 可以整理判据,放到程序当中。 棋局评估-胜负提前判别 东北大学机器博弈研究室 评估(二) 总结人类博弈知识 影响胜负的重要条件 局势细微变化的条件 举例(中途判定) 1)红子突破,红胜 ( (si[REDSTONE] si[BLUESTONE1]) || (si[REDSTONE] si[BLUESTONE2]) ) 2)蓝走红胜 ( (wtm == BLUE) ((si[REDSTONE] 1 == 0) ((si[BLUESTONE1] == si[REDSTONE]+1) (si[BLUESTONE2] == si[REDSTONE]+2) || (si[BLUESTONE1] == si[REDSTONE]+2) (si[BLUESTONE2] == si[REDSTONE]+1))) ) 东北大学机器博弈研究室 程序运行结果统计 通过博弈树展开,考虑到分枝数不大4, 阶段数有限(10步内可以分出胜负),可以采用穷尽搜索得到对局的解。 将博弈树展开15层,如果不将无意义的循环走棋计算在内,那么 有效博弈树的总节点数为 7436771个, 在叶节点上红胜为 532274个, 黑胜为

文档评论(0)

liwenhua00 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档