2.3 博弈树搜索 ☼● ○ ☼● ○ ☼● ○ ● ☼ ○ ● ☼ ○ ● ☼ ○ ☼ ● ○ ● ☼ ○

Slides:



Advertisements
Similar presentations
因数与倍数 2 、 5 的倍数的特征
Advertisements

手工加工全框眼镜技术 前调整确定加工基准制作模板割边 磨边磨安全角 (抛光) 装配 后调整检测.
第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
融资融券业务的保证金与保证金比例 光大证券 · 信用业务管理总部 2015 年 12 月 ★融资融券业务投资者教育活动材料★
《公路纵断面设计》 —— 纵断面设计的要求 道桥系 二○○七年五月. 纵断面设计的一般要求 1 .纵坡设计必须满足《公路工程技术标准》中的各项规定。 2 .为保证汽车能以一定的车速安全舒顺地行驶,纵坡应具有 — 定 的平顺性,起伏不宜过大及过于频繁。尽量避免采用极限纵坡 值.缓和坡段应自然地配合地形设置,在连续采用极限长度的.
必修2 第一单元 古代中国经济的基本结构和特点
问题求解与博弈.
第Ⅱ部分 问题求解 第5章 对抗搜索 中国科大 计算机学院.
复习: :对任意的x∈A,都有x∈B。 集合A与集合B间的关系 A(B) A B :存在x0∈A,但x0∈B。 A B A B.
书·棋 来 了 棋艺主题图书展 专题 图书展示第 期
平面向量.
3.4 空间直线的方程.
2012计算机博弈讲座 计算机博弈软件开发简介 ——亚马逊棋实现
政府採購法規概要 報告人:杜國正 行政院公共工程委員會企劃處.
圆的一般方程 (x-a)2 +(y-b)2=r2 x2+y2+Dx+Ey+F=0 Ax2+Bxy+Cy2+Dx+Ey+ F=0.
之 魔 析 妖 鬼 解 怪 大 沈家仪小组出品.
机器人与我们的生活 1.深蓝战胜棋王
6.6 单侧置信限 1、问题的引入 2、基本概念 3、典型例题 4、小结.
第三单元 发展社会主义民主政治.
第九章 长期资产及摊销 2017/3/21.
四种命题 2 垂直.
常用逻辑用语复习课 李娟.
3.3 资源的跨区域调配 ——以南水北调为例 铜山中学 李启强.
崇拜即將開始,請大家安靜片刻, 預備心靈敬拜上帝。
不确定度的传递与合成 间接测量结果不确定度的评估
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
2-7、函数的微分 教学要求 教学要点.
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
探索三角形相似的条件(2).
初中数学八年级下册 (苏科版) 10.4 探索三角形 相似的条件(2).
第5章 §5.3 定积分的积分法 换元积分法 不定积分 分部积分法 换元积分法 定积分 分部积分法.
强连通分量 无向图 1、任意两顶点连通称该图为连通图 2、否则将其中的极大连通子图称为连通分量 A D C B E 有向图
元素替换法 ——行列式按行(列)展开(推论)
复习: 什么叫做锐角三角函数(即直角三角形中的三角函数)? 以锐角为自变量,以比值为函数值的函数叫做锐角三角函数。
动态规划(Dynamic Programming)
北京大学国际象棋课程 2007年春季学期.
绿色圃中小学教育网 比例 比例的意义 绿色圃中小学教育网
網路遊戲版 幸福農場168號.
若2002年我国国民生产总值为 亿元,如果 ,那么经过多少年国民生产总值 每年平均增长 是2002年时的2倍? 解:设经过 年国民生产总值为2002年时的2倍, 根据题意有 , 即.
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
第一章 函数与极限.
专题作业.
Partial Differential Equations §2 Separation of variables
过程自发变化的判据 能否用下列判据来判断? DU≤0 或 DH≤0 DS≥0.
6.4不等式的解法举例(1) 2019年4月17日星期三.
线段的有关计算.
第四章 四边形性质探索 第五节 梯形(第二课时)
线性规 Linear Programming
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
12.2全等三角形的判定(2) 大连市第三十九中学 赵海英.
复习: 若A(x1,y1,z1) , B(x2,y2,z2), 则 AB = OB - OA=(x2-x1 , y2-y1 , z2-z1)
第16讲 相似矩阵与方阵的对角化 主要内容: 1.相似矩阵 2. 方阵的对角化.
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
第4课时 绝对值.
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
1.非线性规划模型 2.非线性规划的Matlab形式
2.2矩阵的代数运算.
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
2019/5/20 第三节 高阶导数 1.
§2 方阵的特征值与特征向量.
欢迎大家来到我们的课堂 §3.1.1两角差的余弦公式 广州市西关外国语学校 高一(5)班 教师:王琦.
本底对汞原子第一激发能测量的影响 钱振宇
第三节 数量积 向量积 混合积 一、向量的数量积 二、向量的向量积 三、向量的混合积 四、小结 思考题.
插入排序的正确性证明 以及各种改进方法.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
§4.5 最大公因式的矩阵求法( Ⅱ ).
一元一次方程的解法(-).
最小生成树 最优二叉树.
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

2.3 博弈树搜索 ☼● ○ ☼● ○ ☼● ○ ● ☼ ○ ● ☼ ○ ● ☼ ○ ☼ ● ○ ● ☼ ○

1.概述 20世纪60年代,研制出的西洋跳棋和国际象棋达到了大师级的水平。 1958约翰•麦卡锡提出博弈树α-β剪枝算法 1997年,IBM公司研制的“深蓝”国际象棋 程序,采用博弈树搜索算法,该程序战胜了国际象棋世界冠军卡斯帕罗夫。

正在与深蓝下棋的卡斯帕罗夫

1.概述 博弈问题特点: 双人对弈,轮流走步。 信息完备,双方所得到的信息是一样的。 零和,即对一方有利的棋,对另一方肯定是不利的,不存在对双方均有利或无利的棋。

1.概述 博弈的特性 两个棋手交替地走棋 ; 比赛的最终结果,是赢、输和平局中的一种; 可用图搜索技术进行,但效率很低; 博弈的过程,是寻找置对手于必败态的过程; 双方都无法干预对方的选择。

2.Grundy 博弈 下棋的双方是对立的,命名博弈的双方,一方为“正方”,这类节点称为“MAX”节点;另一方为“反方”,这类节点称为“MIN”节点。正方和反方是交替走步的,因此MAX节点和MIN节点会交替出现。

2.Grundy 博弈 Grundy博弈是一个分钱币的游戏。有 一堆数目为N的钱币,由两位选手轮流进行分堆,要求每个选手每次只把其中某一堆分成数目不等的两小堆。例如,选手甲把N分成两堆后,轮到选手乙就可以挑其中一堆来分,如此进行下去,直到有一位选手先无法把钱币再分成不相等的两堆时就得认输。

2.Grundy 博弈 设初始状态为(7,MIN),建立问题的状态空间图,图中所有终结点均表示该选手必输的情况,取胜方的目标是设法使棋局发展为结束在对方走步时的终结点上。

2.Grundy 博弈 MIN先走 MAX必胜

2.Grundy 博弈 结点A是MAX的搜索目标,而结点B,C则为MIN的搜索目标。

2.Grundy 博弈 搜索策略要考虑的问题是: 对MIN走步后的每一个MAX结点,必须证明MAX对MIN可能走的每一个棋局对弈后能获胜,即MAX必须考虑应付MIN的所有招法,这是一个与的含意,因此含有MAX符号的结点可看成与结点。

2.Grundy 博弈 对MAX走步后的每一个MIN结点,只须证明MAX有一步能走赢就可以,即MAX只要考虑能走出一步棋使MIN无法招架就成,因此含有MIN符号的结点可看成或结点。

2.Grundy 博弈 对弈过程的搜索图呈现出与或图表示的形式。 实现一种取胜的策略就是搜索一个解图的问题,解图就代表一种完整的博弈策略。

3.极小极大搜索过程 对各个局面进行评估 评估的目的:对后面的状态提前进行考虑,并且以各种状态的评估值为基础作出最好的走棋选择。 评估的方法:用评价函数对棋局进行评估。赢的评估值设为+∞,输的评估值设为-∞,平局的评估值设为0。 评估的标准:由于下棋的双方是对立的,只能选择其中一方为评估的标准方。

3.极小极大搜索过程 MAX节点和MIN节点 命名博弈的双方,一方为“正方”,对每个状态的评估都是对应于该方的输赢的。例如,赢2个,输1个等,都是指正方的。正方每走一步,都在选择使自己赢得更多的节点,因此这类节点称为“MAX”节点;

3.极小极大搜索过程 另一方为“反方”,对每个状态的评估都是对应于对手的输赢的。例如,赢2个,输一个,其实是指自己输2个,赢1个的。反方每走一步,都在选择使对手输得更多的节点,因此这类节点称为“MIN”节点。

3.极小极大搜索过程 由于正方和反方是交替走步的,因此MAX节点和MIN节点会交替出现。

3.极小极大搜索过程 正方(MAX节点)从所有子节点中,选取具有最大评估值的节点。 反方(MIN节点)从其所有子节点中,选取具有最小评估值的节点。 反复进行这种选取,就可以得到双方各个节点的评估值。这种确定棋步的方法,称为极小极大搜索法。

3.极小极大搜索过程

3.极小极大搜索过程 MAX MIN MAX MIN 5 -3 3 3 -3 2 2 -3 -2 3 5 4 1 -3 6 8 9 -3

3.极小极大搜索过程 1 MAX 1 MIN 3 1 6 MAX -3 -2 6 MIN -3 1 -3 -3 3 -3 5 -3 3 3 1 MIN 3 1 6 MAX -3 -2 6 MIN -3 1 -3 -3 3 -3 5 -3 3 3 -3 2 2 -3 -2 3 5 4 1 -3 6 8 9 -3

3.极小极大搜索过程 在九宫格棋盘上,两位选手轮流在棋盘上摆各自的 棋子(每次一枚),谁先取得三线的结果就取胜。 设程序方MAX的棋子用(×)表示, MAX先走。 对手MIN的棋子用(o)表示。 例如: MIN取胜

3.极小极大搜索过程 估计函数 f(p)=(所有空格都放上MAX的棋子之后,MAX的三子成线数)-(所有空格都放上MIN的棋子之后,MIN的三子成线的总数) 若P是MAX获胜的格局,则f(p)=+∞ ; 若P是MIN获胜的格局,则f(p)=-∞ 。

3.极小极大搜索过程 估计函数值 f(p)=6-4=2 估计函数 f(p)=(所有空格都放上MAX的棋子之后,MAX的三子成线(行、列、对角)数)-(所有空格都放上MIN的棋子之后,MIN的三子成线(行、列、对角)的总数) 估计函数值 f(p)=6-4=2

3.极小极大搜索过程 一字棋第一阶段搜索树

3.极小极大搜索过程 一字棋第二阶段搜索树

3.极小极大搜索过程 一字棋第三阶段搜索树

3.极小极大搜索过程 棋盘残局举例: 设有一个摆放三个子的棋盘残局,如下图所示,〇和╳在结束前有三步棋可以走,而且设走第一步的是╳ 。这时存在着三个空格A,B,C,用博弈树搜索算法判断应该把棋子放到哪一格内。 A B ╳ 〇 C

3.极小极大搜索过程 - - - - -1 1 A B C MAX节点 MIN节点 B C A C A B 终端节点 C B C A ╳ 〇 C MAX节点 MIN节点 ╳ B 〇 C A ╳ 〇 C A B ╳ 〇 - - 终端节点 ╳ 〇 C ╳ B 〇 〇 ╳ C A ╳ 〇 〇 B ╳ A 〇 ╳ - - -1 1

3.极小极大搜索过程 对于棋盘残局中的╳来说,最好的选择,是将╳放在C的位置上,这时可以导致平局局面。

3.极小极大搜索过程 中国象棋 一盘棋平均走50步,总状态数约为10的161次方。 假设1毫微秒走一步,约需10的145次方年。 结论:不可能穷举。

4. -搜索过程 -剪支法的引入 在极小极大法中,必须求出所有终端节点的评估值,当预先考虑的棋步比较多时,计算量会大大增加。为了提高搜索的效率,引入了通过对评估值的上下限进行估计,从而减少需进行评估的节点范围的-剪支法。

4. -搜索过程 MAX节点的评估下限值 作为正方出现的MAX节点,假设它的MIN子节点有N个,那么当它的第一个MIN子节点的评估值为时,则对于其它的子节点,如果有高过的,就取那最高的值作为该MAX节点的评估值;如果没有,则该MAX节点的评估值为。 总之,该MAX节点的评估值不会低于,这个就称为该MAX节点的评估下限值。

4. -搜索过程 MIN节点的评估上限值 作为反方出现的MIN节点,假设它的MAX子节点有N个,那么当它的第一个MAX子节点的评估值为时,则对于其它子节点,如果有低于的,就取那个低于的值作为该MIN节点的评估值;如果没有,则该MIN节点的评估值取。 总之,该MIN节点的评估值不会高过,这个就称为该MIN节点的评估上限值。

4. -搜索过程 剪支法 设MAX节点的下限为,则其所有的MIN子节点中,其评估值的上限小于等于的节点,其以下部分的搜索都可以停止了,即对这部分节点进行了剪支。 剪支 MAX节点 A  MIN节点 B C  D = 

4. -搜索过程 剪支法 设MIN节点的上限为,则其所有的MAX子节点中,其评估值的下限大于等于的节点,其以下部分的搜索都可以停止了,即对这部分节点进行了剪支。 剪支 MIN节点 A  C B  D MAX节点 = 

4. -搜索过程 A B C G D E F H I J K N O L M 3 5 6 5 2 1 6 4 MAX节点 MIN节点 4. -搜索过程 MAX节点 A B C MIN节点 G MAX节点 D E F H 终端节点 I J K N O L M 3 5 6 5 2 1 6 4

4. -搜索过程 (5,) A B C (-,5) (-,2) (5,) (6,) (2,) G D E F H I J K 4. -搜索过程 (5,) A 剪支 MAX节点 B C (-,5) (-,2) MIN节点 (5,) (6,) (2,) G MAX节点 D E F H 终端节点 I J K N O L M 3 5 6 5 2 1 6 4 剪支

4. -搜索过程 一字棋第一阶段-剪支方法

4. -搜索过程 极大节点的下界为。 极小节点的上界为。 剪支的条件: 简记为: 后辈节点的值≤祖先节点的值时, 剪支 4. -搜索过程 极大节点的下界为。 极小节点的上界为。 剪支的条件: 后辈节点的值≤祖先节点的值时, 剪支 后辈节点的 值≥祖先节点的值时, 剪支 简记为: 极小≤极大, 剪支 极大≥极小, 剪支

4. -搜索过程 f m d h b k n i e a c g j MAX 1 MIN 1 3 1 6 MAX 5 -3 6 -3 4. -搜索过程 f MAX 1 MIN 1 m d h b 3 1 6 MAX k n i a e c 5 g -3 6 -3 MIN 3 j 4 1 5 -3 3 3 -3 2 2 -3 -2 3 5 4 1 8 9 -3 -3 6

4. -搜索过程 改进方法 使用-剪支技术,当不满足剪支条件(即)时或值比值大不了多少或极相近时,这时也可以进行剪支,以便有条件把搜索集中到会带来更大效果的其他路径上,这就是中止对效益不大的一些子树的搜索,以提高搜索效率。

4. -搜索过程 不严格限制搜索的深度。当到达深度限制时,如出现博弈格局有可能发生较大变化时,则应多搜索几层,使格局进入较稳定状态后再中止,这样可使倒推值计算的结果比较合理,避免考虑不充分产生的影响,这是等候状态平稳后中止搜索的方法。

4. -搜索过程 当算法给出所选的走步后,不要马上停止搜索,而是在原先估计可能的路径上再往前搜索几步,再次检验会不会出现意外,这是一种增添辅助搜索的方法。

4. -搜索过程 对某些博弈的开局阶段和残局阶段,往往总结了一些固定的对弈模式,因此可以利用这些知识编好走步表,以便在开局和结局时使用查表法。只是在进入中盘阶段后,再调用其他有效的搜索算法,来选择最优的走步。