网站大量收购闲置独家精品文档,联系QQ:2885784924

研讨班_牛角棋.ppt

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
研讨班_牛角棋

牛角棋博弈程序分析与设计 徐心和 徐长明 着法生成(二) 预置表的使用 i = 0; while (1) { if (preTable [color][from][i] != INV) Add i into MoveList; else break; ++i ; } 获取机器博弈知识的主要途径 外文文献 经典的论文和书籍 互联网——wiki、google等 开源代码 如象棋中的Crafty、Fruit等 围棋中的GNU GO等 参加竞赛、学术研讨会等交流 ICGA一年一度的赛事和研讨会 CCGC一年一度的赛事和研讨会 谢谢! 联系:computergames@ / * Even though a lot nodes are cut off, the best move is from the exhaustive search. * C语言中有个初学者容易犯的错误,叫off-by-one。比如,语句“int a[3];”实际定义的三个整型的单元是a[0], a[1], a[2]。在本该访问a[2]的地方,容易用误用a[3](当认为下标从1开始的时候,第三个单元就误认为是a[3]了)去访问,这个访问操作的是非法的,是比较严重的错误。 * * * * * * * * 东北大学机器博弈研究室 博弈树搜索过程 Move Generation Make Move Move Generation Make Move 10 Evaluation 10 10 UnMake Move 10 10 12 12 10 12 12 12 10 12 12 12 10 12 12 12 12 10 12 12 12 10 6 12 12 6 12 10 6 12 12 6 12 10 6 13 12 12 6 12 10 6 13 Cut off 12 12 13 12 10 6 13 12 12 13 12 10 6 13 12 12 13 12 10 6 13 12 12 13 12 10 6 13 12 12 13 12 10 6 13 18 12 12 13 12 10 6 13 18 18 12 12 13 12 12 10 6 13 18 18 12 12 13 12 12 10 6 13 18 18 12 12 13 12 12 10 6 13 18 18 12 9 9 9 8 Cut off 12 12 13 12 12 10 6 13 18 18 12 9 9 9 8 Best PV 东北大学机器博弈研究室 人机对弈信息流程 人机对弈信息流程 棋 局 演 化 棋手 界面 引擎 着法 着法 着法 着法 局面 局面 局面 局面 思 考 思 考 思 考 计 算 计 算 着法 局面 计 算 东北大学机器博弈研究室 红方先行。 人选红方,输入着法;人选蓝方,输入go 东北大学机器博弈研究室 Human’s Move 人机界面(CHI) 界面更新,胜负判定 搜索引擎(递归BEITA-剪枝) Move Generation Make/Unmake Move Evaluation 数据结构:棋子棋盘表示 棋局系列,着法列表 Root Move 牛 角 棋 软 件 结 构 东北大学机器博弈研究室 棋子的表示 #define REDSTONE 0 #define BLUESTONE1 1 #define BLUESTONE2 2 2 0 3 4 5 6 7 8 9 1 1 2 3 东北大学机器博弈研究室 局面的表示(一) 初始局面的表示 int board[10] = { REDSTONE, 0, 0, 0, 0, 0, 0, 0, BLUESTONE1, BLUESTONE2, }; 2 0 3 4 5 6 7 8 9 1 1 2 3 东北大学机器博弈研究室 局面的表示(二) 初始局面的表示 记录有子的交叉点编号 (stone Intersection---si) int si[3] = { 0, 8, 9 }; (注意off-by-one错误) 2 0 3 4 5 6 7 8 9 1 1 2 3 东北大学机器博弈研究室 等价的局面表示 等价的初始局面 int si[3] = { 0, 8, 9 }; int si[3] = { 0, 9, 8 }; 2 0 3 4 5 6 7 8 9 1 1 2 3 东北大学机器博弈研究室 着法的表示 绝对着法的三个要素 Piece:哪个棋子

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档