牛角棋博弈程序分析与设计.ppt
《牛角棋博弈程序分析与设计.ppt》由会员分享,可在线阅读,更多相关《牛角棋博弈程序分析与设计.ppt(49页珍藏版)》请在三一办公上搜索。
1、东北大学机器博弈研究室,牛角棋博弈程序分析与设计,徐心和 徐长明东北大学机器博弈研究室2009.5,东北大学机器博弈研究室,主要内容,民间棋类计算机博弈计算机该如何实现博弈过程的?如何存储思维信息?如何判断局面的胜负?如何展开博弈树?如何选择当前的着法?从极大极小搜索到负极大值Alpha-bete搜索计算机引擎程序的编写(C)用C+编写牛角棋程序算法优化,东北大学机器博弈研究室,民间棋类计算机博弈,民间棋类的特点 规则简单,很容易入门;不受专业知识限制;棋盘小,棋子少,复杂度不高;输赢容易识别,局面容易判断;完全信息,编程相对简单;人工智能的“果蝇”。麻雀虽小,五脏俱全从一个实例出发牛角棋最简
2、单的机器博弈项目机器博弈入门课,东北大学机器博弈研究室,牛角棋,牛角棋广泛见于各地,别名较多,如憋死牛、憋死井、娃娃下山、娘子下山等。棋盘形状及棋位数目也稍有差异。但是棋子、棋规都相同。,东北大学机器博弈研究室,牛角棋棋规,红子可上可下,可左可右,一次一步,只能走向空位,不得重合与跳跃;蓝子只上不下,可左可右,一次一步,只能走向空位,不得重合与跳跃;胜负判断:憋死憋不死?,东北大学机器博弈研究室,红先红胜(7步),东北大学机器博弈研究室,红先蓝胜(18步),为什么输赢?需要不断地摸索经验,试验所有的局面。,东北大学机器博弈研究室,博弈思维过程展开博弈树,红方走棋,红方走棋,蓝方走棋,红方先手,
3、东北大学机器博弈研究室,现在要考虑的就是计算机该如何实现这个博弈过程?,如何存储思维信息?棋盘、棋子、棋局、博弈树如何判断局面的胜负?如何展开博弈树?如何选择当前的着法?,东北大学机器博弈研究室,如何存储思维信息?,编码 数据结构 棋盘编码(棋位编码)棋子编码 初始局面的表示 棋位向量:(100000023)棋子向量:(089),东北大学机器博弈研究室,棋局演化的形式化描述,状态变量 棋子向量表示 初始状态 状态演化方程 其中 为棋子i 第n+1步的着法(算子)着法规则:红子可上可下,可左可右,一次一步,只能走向空位,不得重合与跳跃;蓝子只上不下,可左可右,一次一步,只能走向空位,不得重合与跳
4、跃;,东北大学机器博弈研究室,着法的形式化描述,通过扫描棋盘,如果“落址”为空位,便是合法着法(算子)。,东北大学机器博弈研究室,如何判断局面的胜负?,红胜:“逃出”蓝胜:“憋死”和棋 局面的无限次重复,东北大学机器博弈研究室,如何展开博弈树?,东北大学机器博弈研究室,牛角棋搜索引擎程序设计深度优先搜索,选择深度优先搜索方法,可以在搜索过程中的任何时候仅仅生成(Make move)整棵树的一小部分,搜索过的部分被立即删去(Unmake move)。显然,这个算法对内存的要求极低,往往在内存只有几千字节的机器上也可以实现。并且同其他的选择相比,速度上也并不逊色。,东北大学机器博弈研究室,如何选择
5、当前的着法?,在展开的博弈树中搜索博弈搜索引擎基本原则:考虑到对手的存在我们想到的内容,对手也一样能想到对手会阻止我们达到目的而且,对手会想尽方法使其利益最大化如果是我方(红方)走棋,那总要找到博弈树中最好的棋局,而在考虑对方(蓝方)走棋时,就要考虑最坏的局面,因为双方都是理智的博弈者,不应该抱有任何侥幸的心理。如果给每个棋局打分,那红方可以称得上是MAX方,蓝方便是MIN方。基本方法:博弈树搜索(Max-Min,-,负极大值-),东北大学机器博弈研究室,深度为3的博弈树,深度,层数,东北大学机器博弈研究室,负极大值形式的Alpha-beta搜索,Alpha的含义:当前方已经存在某个着法,其估
6、值至少为Alpha。Alpha为最佳着法的下界;Beta的含义:对手存在某个着法,令当前方的着法的估值无论如何也超不过Beta。Beta为最佳着法的上界;负极大值形式的Alpha-beta剪枝只有Beta剪枝。,东北大学机器博弈研究室,人机对弈信息流程,东北大学机器博弈研究室,Humans Move,人机界面(CHI)界面更新,胜负判定,搜索引擎(递归BEITA-剪枝)Move GenerationMake/Unmake MoveEvaluation,数据结构:棋子棋盘表示棋局序列,着法列表,Root Move,牛角棋软件结构,软件部分,东北大学机器博弈研究室,计算引擎程序的编写,首先需要解决
7、的算法分析与设计然后考虑算法的实现与编程(编程语言,设计,编码,调试)遵照软件工程学的思想在程序设计方法学上下功夫学习人工智能的先进理论与技术 这是所有专业所必需的!,东北大学机器博弈研究室,东北大学机器博弈研究室,棋子的表示,#define REDSTONE 0#define BLUESTONE1 1#define BLUESTONE2 2,东北大学机器博弈研究室,局面的表示(一),初始局面的表示int board10=REDSTONE,0,0,0,0,0,0,0,BLUESTONE1,BLUESTONE2,;,东北大学机器博弈研究室,局面的表示(二),初始局面的表示记录有子的交叉点编号in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 牛角 博弈 程序 分析 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2262848.html