人工智能博弈树的搜索.pptx
搜索(博弈树的启发式搜索)
14
一字棋棋盘
例如,对图1所示的棋局有估价函数值 e(P)=6-4=2 在搜索过程中,具有对称性的棋局认为是同一棋 局。例如,图2所示的棋局可以认为是同一个棋局, 这样可以大大减少搜索空间。图3给出了第一着走棋 以后生成的博弈树。图中叶节点下面的数字是该节点 的静态估值,非叶节点旁边的数字是计算出的倒推值。 从图中可以看出,对MAX来说S2是一着最好的走棋, 它具有较大的倒推值。
人下棋的思考方式
人下棋实际上采用一种试探性的方法: 假定走了一步棋,看对方会有哪些应法; 再根据对方的每一种应法,看我方是否有好的回应; 这一过程一直进行下去,直到若干步后,找到一个满意的走法 为止. 极大极小搜索方法模拟的就是人的这样一种思维过程.
节点A,轮到MAX下棋….
MAX
2.非叶子节点的估值由倒推取值的方法取得
博弈是一类富有智能行为的竞争活动,如下棋
、打牌、战争等。博弈可分为双人完备信息博 弈和机遇性博弈。所谓双人完备信息博弈,就 是两位选手对垒,轮流走步,每一方不仅知道 对方已经走过的棋步,而且还能估计出对方未 来的走步。对弈的结果是一方赢,另一方输; 或者双方和局。这类博弈的实例有象棋、围棋 等。所谓机遇性博弈,是指存在不可预测性的 博弈,例如掷币等。对机遇性博弈,由于不具 备完备信息,因此我们不作讨论。
算法框架 整个算法分为四个步骤: 1、以当前状态为根结点产生一个博弈树。 2、对博弈树的每一个叶结点,利用判定函数给出它的判定值。 3、从叶结点开始,一层一层地回溯。在回溯过程中,利用最大/最小判定为每一个结 点给出其判定值。 4、MAX方选择下一层中判定值最大的结点,作为它的下一状态。
博弈树的搜索
极小极大过程
0
1 1
极大
极小
6
0
3
1
0
-3
3
-3
-3
-2
1
-3
6
-3
0
5
-3
3
3
-3
0
2
2
-3
0
-2
3 5 4
1
-3
0 6
8 9
-3
一字棋游戏
设有一个三行三列的棋盘,两个棋手轮流走步,每 个棋手走时往空格上摆一个自己的棋子,谁先使自己 的棋子成三子一线为赢。设程序方MAX的棋子用(×) 表示,对手MIN的棋子用(○)表示,MAX先走。静态 估计函数f(p)规定如下: 1. 若 P是 MAX的必胜局, 则 e(P) = +∞ ; 2. 若 P是 MIN的必胜局, 则 e(P) = -∞ ; 3. 若P对MAX、MIN都是胜负未定局,则 e(P) = e(+P)-e(-P) 其中,e(+P)表示棋局 P上有可能使× 成三子一线的 数目;e(-P)表示棋局 P上有可能使 ○成三子一线的 数目。
中国象棋
一盘棋平均走50步,总状态数约为10的161次方。 假设1毫微秒走一步,约需10的145次方年。 结论:不可能穷举。
博弈树是与/或树
双方都希望自己能够获胜。因此,当任何一方走步时, 都是试图选择对自己最为有利,而对另一方最为不利的 每一步,可供自己选择 的行动方案之间是“或”的关系,原因在于选择哪个方案完 全是由自己决定的;而可供MIN选择的行动方案之间则是 “与”的关系,原因是主动权掌握在MIN手里,任何一个方
α-β
α值为MAX节点(“或”节点)倒推值的下确界
《智能搜索》PPT课件
16 of 31
3.2 盲目搜索
第三章 智能搜索
1.宽度优先搜索
宽度优先搜索(Breadth First Search,BFS)又称广度优先搜索,是最简便的
图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短
路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。
(因为那些节点是下一步探索的目标点了),但是这里有个判断,当访问
到1 节点的时候,它的下一个节点应该是0 和4 ,但是0 已经在前面被染
成黑色了,所以不会将它染灰色(即不会回头去探索它),如图3-5(c)所
示
20 of 31
3.2 盲目搜索
第三章 智能搜索
1.宽度优先搜索
4、循环执行步骤3,直到目标节点 6 被染灰色,说明了下一步就到终点了,
高了效率。
如果能够利用搜索过程所得到的问题自身的一些特征信息来指导搜索过程,则
可以缩小搜索范围,提高搜索效率。像这样利用问题自身特征信息来引导搜索过程
的方法成为启发式方法。
启发式策略可以通过指导搜索向最有希望的方向前进,降低了复杂性。通过删
除某些状态及其延伸,启发式算法可以消除组合爆炸,并得到令人能接受的解(通常
f3=数字1移动到X位上。产生对应的状态为:Q4=[X,2,3,8,6,4,1,7,5]。
f4=数字6移动到X位上。产生对应的状态为:Q5=[1,2,3,8,X,4,6,7,5]。
f5=数字5移动到X位上。产生对应的状态为:Q6=[1,2,3,8,6,4,5,7,X]。
f6=数字6移动到X位上。产生对应的状态为:Q7=[1,2,3,8,X,4,6,7,5]。
博弈树
围棋中的博弈树搜索二人完美信息博弈中典型的人工智能方法是搜索博弈树以决定走哪一步。
标准博弈树搜索由四部分组成:1.状态表示,2.候选走法产生,3.确定目标状态,以及4.一个确定相对优势状态的静态评估函数。
有效的博弈树剪枝方法(比如α-β)增强了程序的表现。
博弈树这条途径很成功,如我们在国际象棋程序中所看到的,基于典型的完全广度α-β剪枝博弈树搜索的程序甚至击败了世界冠军。
这一节我们从透视电脑围棋的角度检查博弈树搜索的四个构件。
2.1 状态表示从完全信息的角度看,围棋盘面有19X19的3次方格,每个交叉点要么空要么被黑子或白子占据。
状态空间的大小(例如可能的位置数)是3的361次方(或10的172次方),相比之下国际象棋大致为10的50次方而Othello棋为10的30次方(Allis,1994)。
另外,博弈树的大小(例如可能的博弈数)在10的575次方和10的620次方之间,对比国际象棋的10的123次方和Othello棋的10的55次方(Allis,1994)。
由于空间的组合尺寸,用19X19格的形式严格表示状态空间对人或机器来说都层次太低而不能有效使用。
接下来的层面的描述是把正交的邻接棋子组成串(或链)。
所有的程序把串搜集到更大的单元,然而没有通用的处理方法——即便是对专业棋手来说——把串组合到更大的单元中。
依靠他们的围棋理论,程序员开发了他们自己的启发式,当串有效的连接在一起时用做评估之用(叫做模糊组或块)。
另外,恰当层次的表示能改变对运行时子任务的依赖,例如,战术分析,死活分析,或实地评估。
2.2 走子棋手在禁止自杀和同型反复(劫)的规则限制下轮流把棋子投放在空的交叉点(包括角和边)。
象国际象棋一样,围棋在给定位置的上下文中只有所有合法走法中的一部分是有效的。
围棋的平均分枝因子是很大的,大约是国际象棋的六倍(200对35,Burmeister & Wiles,1995)。
注意这个分枝因子在全盘中的考虑。
人工智能搜索与博弈
物联网 21 尹佳旺 2120209019
关键词:搜索 正文:
算法 启发式
博弈
人工智能自 1956 年问世以来,已经得到了迅速的发展,并与生 物工程及空间技术一起被称为当今三大尖端技术。 人工智能就是指人 类的各种脑力劳动或智能行为,如判断、推理、证明、识别、感知、 理解、设计、思考、规划、问题求解等思维活动,可用某种智能化的 机器予以人工的实现。 在人工智能中有很大一类问题的求解技术依赖 于搜索,搜索技术关系到智能系统的性能与运行效率,因而被称为人 工智能研究的核心问题之一 。 简单来说, 搜索就是一个利用已知条件来寻求解决问题的方法的 过程。搜索分为盲目搜索和启发式搜索。
A
A 取最大值
18
B
C
16
D
E
F
图 2:Alpha 剪枝(α 剪枝)
同样道理在图 3 右半部一棵极大极小树的片段中,设 A 为极小值 节点,节点 B 的估值为 8,节点 D 的估值为 l8,由此可以判断节点 C 的值将大于等于 18(取极大值);而节点 A 的值为 Min(B,c),是 8。 也就是说不再需要求节点 C 的其他子节点如 E、F 值就可以得出父节 点 A 的值了。 这样将节点 D 的后继兄弟节点剪去称为 Beta 剪枝(β 剪 枝)。如图 3:
个子节点计算估价值,并选择最小者作为下一个考察的节点。扩展节 点 n 后用估价函 数 f ( x) 计算每个子节点的估价值,并按估价值从 小到大的顺序依次放到 OPEN 表的首部, 为每个子节点配置指向父节 点的指针。 深度优先搜索、 代价数的深度优先搜索以及局部择优搜索都是子 节点作为考察范围的,这是他们的共同点。不同的是他们选择节点的 标准不一样:深度优先搜索以子节点的深度作为选择标准,后生成的 子节点先被考察; 代价树深度优先搜索以各子节点到父节点的代价作 为选择标准,代价小的优先选择;局部优先搜索以估价函数作为选择 标准,哪一个子节点的值最小就优先被选择。另外,在局部择优搜索 中,若令 f ( x ) = g( x) , 则局部择优搜索就成为代价树的深度优先搜 索;若令 f( x) = g ( x) , 这里 d ( x) 表示节点的深度,则局部择优搜索 就成了深度优先搜索。 所以深度优先搜索和代价树的深度优先搜索可 看作是局部择优搜索的特例 。 2、全局择优搜索 每次总是从 OPEN 表的全体节点中选择一个估价值最小的节点。 这一点和代价树的广度优先搜索类似, 但是不同之处在于它的择优标 准是估价函数 f 最小的节点。 在全局择优搜索中, 如果令 f ( x) = g ( x ), 则它就成了代价树的广度择优搜索;如果 f ( x) = d ( x) (这里 d ( x) 表 示节点 x 的深度) ,则它就成为广度择优搜索,所以广度优先搜索与 代价树的广度择优搜索是全局择优搜索的特例 。 3、A*算法
搜索(博弈树的启发式搜索)
人下棋的思考方式
人下棋实际上采用一种试探性的方法: 假定走了一步棋,看对方会有哪些应法; 再根据对方的每一种应法,看我方是否有好的回应; 这一过程一直进行下去,直到若干步后,找到一个满意的走法为止. 极大极小搜索方法模拟的就是人的这样一种思维过程.
节点A,轮到MAX下棋….
MAX
2.非叶子节点的估值由倒推取值的方法取得
4
一.博弈树概述
若把双人完备信息博弈过程用图表示出来,就可得到一棵与/或 树,这种与/或树被称为博弈树。在博弈树中,那些下一步该MAX走 步的节点称为MAX节点,而下一步该MIN走步的节点称为MIN节点 。博弈树具有如下特点: (l)博弈的初始状态是初始节点; (2)博弈树中的“或”节点和“与”节点是逐层交替出现的; (3)整个博弈过程始终站在某一方的立场上,所有能使自己一方 获胜的终局都是本原问题,相应的节点是可解节点;所有使对方获 胜的终局都是不可解节点。例如,站在MAX方,所有能使MAX方获 胜的节点都是可解节点,所有能使MIN方获胜的节点都是不可解节 点。
博弈是一类富有智能行为的竞争活动,如下棋
、打牌、战争等。博弈可分为双人完备信息博 弈和机遇性博弈。所谓双人完备信息博弈,就 是两位选手对垒,轮流走步,每一方不仅知道 对方已经走过的棋步,而且还能估计出对方未 来的走步。对弈的结果是一方赢,另一方输; 或者双方和局。这类博弈的实例有象棋、围棋 等。所谓机遇性博弈,是指存在不可预测性的 博弈,例如掷币等。对机遇性博弈,由于不具 备完备信息,因此我们不作讨论。
3
这里我们主要讨论双人完备信息博弈问题。 在双人完备信息博弈过程 中,双方都希望自己能够获胜。因此,当任何一方走步时,都是选择 对自己最为有利,而对另一方最为不利的行动方案。 假设博弈的一方为MAX,另一方为MIN。在博弈过程的每一步, 可供MAX和MIN选择的行动方案都可能有多种。从MAX方的观点看 ,可供自己选择的那些行动方案之间是“或”的关系,原因是主动权 掌握在MAX手里,选择哪个方案完全是由自己决定的;而对那些可供 MIN选择的行动方案之间则是“与”的关系,原因是主动权掌握在 MIN的手里,任何一个方案都有可能被MIN选中,MAX必须防止那种 对自己最为不利的情况的发生。
人工智能与或图搜索精品PPT课件
应用AO*算法,经过四个循 环,可找到解图。
在第一次循环中,扩展节点
n8 h(n8)=0
n0;下一次循环扩展节点n1; 接着扩展节点n5;最后扩展 节点n4。在节点n4被扩展之 后,节点n0便被标注SOLVED, 此时,通过向下跟踪有标记
的连接符,便获得了此状态
空间的解图。
Artificial Intelligence
7 、S:=(n); 建立含n的单一节点集合S.(待修正的节点集合)
8、 Until S为空, do:
9、 begin
10、这个RmE在MO图VEG(中m,的S子),节当点mcmc,不(出S)现;从在集S中合。S中(移从出底一层节开点始m修,正要)求 11 、 • 根据下面方法修改m的耗散值q(m):
• 或节点:几个算子适用于同一个问题,从而产生不同的后 继问题集合。这时只要有一个后继集合有解,则意味该父 辈问题有解,此时关系是“或”关系,对应节点称为或节 点。
P
P
R
Q
R
Q
(a)
(b)
• 与节点由与运算连接,如图(a)中Q和R,并用一条弧线将 相关的边连接起来,这种弧线及所相关的边被称为超弧。
• 或节点由或运算连接,如图4-1(bA)r中tifQic和iaRl 。Intelligence
–1.若 n 是 N 的一个元素,则 G由单个节点n 组成;
–2.若 n 有一个指向节点集 {n1…,nk}的外向连 接符 K,使得从每一个节点ni到 N有一个解图 (i=1,…,k),则 G由节点 n,连接符K,以及 {n1 ,…,nk}中的每一个节点到 N的解图所组成;
–3.否则 n 到 N 不存在解图。
• 1.若n是N的一个元素,则k(n, N)=0; • 2.若n有一个外向连接符指向后继节点集合
《博弈与搜索》课件
机器学习中的博弈与搜索
在机器学习中,博弈与搜索的结合应用可以帮助算法在处理大 规模数据时更加高效。通过使用博弈论和搜索算法,机器学习 模型可以快速地找到最优解或近似最优解。这有助于提高机器 学习模型的性能和效率,使其在处理大规模数据时更加可靠和 高效。
广度优先搜索
按照广度优先的顺序搜索 状态空间,先搜索离起始 状态近的状态,再逐步向 外扩展,直到达到目标状 态或无法再扩展为止。
启发式搜索
使用启发式函数指导搜索 ,通过评估状态的好坏来 决定搜索的方向,常见的 启发式搜索包括A*搜索和 Dijkstra算法。
混合搜索
结合深度优先搜索和广度 优先搜索的优点,根据问 题的特性和具体情况选择 合适的搜索策略,以提高 搜索效率。
03
搜索算法概述
搜索算法的基本概念
搜索算法是解决优化问题的基本方法,通过搜索算法可以找到问题的最优解或近似 最优解。
搜索算法的基本概念包括问题表示、状态空间、搜索空间、目标状态和最优解等。
搜索算法的分类包括深度优先搜索、广度优先搜索、启发式搜索和混合搜索等。
搜索算法的分类
深度优先搜索
按照深度优先的顺序搜索 状态空间,尽可能深地搜 索,直到达到目标状态或 无法再深入为止。
详细描述
广度优先搜索从起始节点开始,先搜索离起始节点最近的节点,再逐步向外扩展,直到找到目标节点 或搜索完所有可达节点。该算法按照层次顺序访问节点,先访问离起始节点最近的节点,再逐步向外 扩展。
人工智能与人机博弈 ppt课件
里程碑事件
真正引起中国人广泛关注的机器博弈史上三个里程碑事件是:
1997年IBM公司“更深的蓝” (Deeper Blue)战胜世界国际 象棋棋王卡斯帕罗夫,这是基 于知识规则引擎和强大计算机 硬件的人工智能系统的胜利
2011年IBM公司的问答机器人 “沃森”在美国智力问答竞 赛节目中大胜人类冠军,这 是基于自然语言理解和知识 图谱的人工智能系统的胜利
人机对抗历史
从1958年开始,人工智能研究者对国际象棋的挑战持续了半个多世纪:
1973年B. Slate和Atkin开 发了国际象棋软件 “CHESS4.0”,成为未 来国际象棋AI程序基础;
1987年,美国卡内基梅隆大学设 1989年,“深思”已经有6 计的国际象棋计算机程序“深思” 台信息处理器,每秒处理速 (Deep Thought)以每秒钟75 度达到200万步,但还是在 万步的处理速度露面,其水平相 与世界棋王卡斯帕罗夫的人 当于拥有2450国际等级分的棋手; 机大战中以0比2败北;
在最后一局中,卡斯帕罗夫失去耐心,回到了“正常”的下 法,在第七回合就犯了一个不可挽回的低级错误,局势急转直下, 最终在第六盘决胜局中仅仅走了19步就向“更深的蓝”俯首称臣。
最终卡斯帕罗夫1胜2负3平,以2.5比3.5的总比分输给“更深 的蓝”。“更深的蓝”赢得了这场备受世人瞩目的人机大战,也 标志着国际象棋近2000年的发展历史走向了新时代。
机器学习之父
机器博弈的水平实际上代表了当时计算机体系架构与计算机科学 的最高水平。早在1962年,就职于IBM的阿瑟•萨缪尔就在内存仅为 32k的IBM 7090晶体管计算机上开发出了西洋跳棋(Checkers)AI 程序,并击败了当时全美最强的西洋棋选手之一的罗伯特•尼雷,引 起了轰动。
人工智能入门课件第4章博弈与搜索
该算法分三个阶段进行。 第一阶段为步骤2-4,使用宽度优先法生成规定深度的全部博弈树,然后对其所有端节点计算其静态估计函数值。 第二阶段为步骤5-7是从底向上逐级求非终结点的倒推估计值,直到求出初始节点的倒推值f(s)为止。f(s)的值应为max min…. {f(ni1i2i3…ik)},其中nik表示深度为k的端节点。 第三阶段,根据f(s)可选的相对好的走步,由Mark (Move, T )标记走步。
4.4.1 围棋博弈程序的发展
4.4.1 围棋博弈程序的发展
图4.8 围棋博弈程序的分类
4.4.2 AlphaGo博弈树搜索算法的改进
MCTS算法大致思想可类比MinMax算法:对于给定的当前根节点(某一棋局),通过计算机模拟推演以当前根节点出发的各种可能的走法,配合高效的“剪枝”算法来控制搜索空间大小,并用演算到最后一步的结果来反过来影响当前节点下一步棋的选择。 针对围棋相对于传统棋类AI的设计难点: 1)可能的走法太多(即Branching Factor较大)导致搜索空间非常大 ; 2)没有一个好的估值函数对进行中的围棋棋局计算一个静态得分。
要达到上述目的有效途径是使用启发式方法引导搜索过程,使其只生成可能赢的走步。而这样的博弈程序应具备: 一个好的(即只产生可能赢棋步骤的)生成过程。 一个好的静态估计函数。 下面介绍博弈中两种最基本的搜索方法。
4.2 极小极大搜索过程
4.2.1 极小极大搜索的思想 极小极大搜索策略是考虑双方对弈若干步之后,从可能的步中选一步相对好的走法来走,即在有限的搜索深度范围内进行求解。 为此要定义一个静态估计函数f,以便对棋局的势态作出优劣估计。这个函数可根据棋局优劣势态的特征来定义。
4.2.2 极小极大搜索算法
人工智能6第六章-与或树的搜索策略_搜索的完备性与效率 (2)
希望树
希望树的定义
选择待扩展节点时,挑选有希望成为最优 解树一部分的节点进行扩展,保证任一时刻 求出的部分解树的代价都是最小的。
例:与/或树的宽度优先搜索
Step3:扩展3得到5、B,都不是终叶节点,接 着扩展4。
Step4:扩展4得到A、t2。
t过2是程终标叶出节4、点2,均标为示可4解为节可点解。节点。应用可解标示
还不能确定1为可解节点。此时5号节点是OPEN表 中的第一个待考察的节点,所以下一步扩展5号节 点。
OPEN ……
– 如果x是“或”节点,y1, y2, …, yn是它的子节点,则具有
min
1i n
c x, yi h yi
值的那个子节点yi也应在希望树中。
– 如果x是“与”节点,则它的全部子节点都应在希望树中。
有序搜索算法流程
(1)把初始节点S放入OPEN表中。 (2)根据当前搜索树中节点的代价求出以S为根的希望
如果x不可扩展,且不是终叶节点,则定义:h(x)=
如果x是“或”节点,y1, y2, …, yn是它的子节点,则x的代价为:
h
x
min
1i n
c
x,
yi
h
yi
如果x是“与”节点.则x的代价有两种计算方法:
※和代价法
n
h x c x, yi h yi i 1
※最大代价法
h
x
max
1i n
c
x,
宽度优先搜索算法流程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
正在与深蓝下棋的卡斯帕罗夫
1.概述
博弈问题特点: 双人对弈,轮流走步。 信息完备,双方所得到的信息是一样的。 零和,即对一方有利的棋,对另一方肯定 是不利的,不存在对双方均有利或无利的 棋。
1.概述
博弈的特性 ① 两个棋手交替地走棋 ; ② 比赛的最终结果,是赢、输和平局中的
一种; ③ 可用图搜索技术进行,但效率很低; ④ 博弈的过程,是寻找置对手于必败态的
若P是MAX获胜的格局,则f(p)=+∞ ; 若P是MIN获胜的格局,则f(p)=-∞ 。
3.极小极大搜索过程
当前棋局f(p)=2
估计函数 f(p)=(所有空格都放上MAX的棋子之后,MAX的三子 成线(行、列、对角)数)-(所有空格都放上MIN的棋子之后, MIN的三子成线(行、列、对角)的总数)
MAX节点和MIN节点
命名博弈的双方,一方为“正方”,对每 个状态的评估都是对应于该方的输赢的。 例如,赢2个,输1个等,都是指正方的。 正方每走一步,都在选择使自己赢得更多 的节点,因此这类节点称为“MAX”节点;
3Байду номын сангаас极小极大搜索过程
另一方为“反方”,对每个状态的评估 都是对应于对手的输赢的。例如,赢2个, 输一个,其实是指自己输2个,赢1个的。 反方每走一步,都在选择使对手输得更 多的节点,因此这类节点称为“MIN”节 点。
对各个局面进行评估
评估的目的:对后面的状态提前进行考虑,并 且以各种状态的评估值为基础作出最好的走棋 选择。
评估的方法:用评价函数对棋局进行评估。赢 的评估值设为+∞,输的评估值设为-∞,平局 的评估值设为0。
评估的标准:由于下棋的双方是对立的,只能 选择其中一方为评估的标准方。
3.极小极大搜索过程
A B╳
╳╳〇
〇C〇
3.极小极大搜索过程
╳B ╳
╳ ╳〇
〇C 〇
-
╳ 〇╳ ╳╳〇
〇C 〇
-1
╳B ╳
╳ ╳〇 〇〇〇
-
A B╳
0 ╳ ╳ 〇
〇 C〇
MAX节点
A╳ ╳
╳╳〇
〇C〇
-
〇╳ ╳ ╳╳ 〇
2.Grundy 博弈
搜索策略要考虑的问题是:
对MIN走步后的每一个MAX结点,必须证 明MAX对MIN可能走的每一个棋局对弈后 能获胜,即MAX必须考虑应付MIN的所有 招法,这是一个与的含意,因此含有MAX 符号的结点可看成与结点。
2.Grundy 博弈
对MAX走步后的每一个MIN结点,只须证 明MAX有一步能走赢就可以,即MAX只要 考虑能走出一步棋使MIN无法招架就成, 因此含有MIN符号的结点可看成或结点。
3.极小极大搜索过程
由于正方和反方是交替走步的,因此 MAX节点和MIN节点会交替出现。
3.极小极大搜索过程
正方(MAX节点)从所有子节点中,选 取具有最大评估值的节点。
反方(MIN节点)从其所有子节点中, 选取具有最小评估值的节点。
反复进行这种选取,就可以得到双方各 个节点的评估值。这种确定棋步的方法, 称为极小极大搜索法。
2.Grundy 博弈
对弈过程的搜索图呈现出与或图表示的形式。 实现一种取胜的策略就是搜索一个解图的问题,
解图就代表一种完整的博弈策略。
3.极小极大搜索过程
中国象棋 一盘棋平均走50步,总状态数约为10的
161次方。 假设1毫微秒走一步,约需10的145次方
年。 结论:不可能穷举。
3.极小极大搜索过程
估计函数值 f(p)=6-4=2
3.极小极大搜索过程
一字棋第一阶段搜索树
3.极小极大搜索过程
一字棋第二阶段搜索树
3.极小极大搜索过程
一字棋第三阶段搜索树
3.极小极大搜索过程
棋盘残局举例: 设有一个摆放三个子的棋盘残局,如下图所示,
〇和╳在结束前有三步棋可以走,而且设走第一步 的是╳ 。这时存在着三个空格A,B,C,用博弈树 搜索算法判断应该把棋子放到哪一格内。
☼
●
○
☼
●
○
2.3 博弈树搜索
●
☼
○
●
☼
○
●
☼
○
●
☼
○
●
☼
○
☼
●
○
1.概述
20世纪60年代,研制出的西洋跳棋和国际象棋 的博弈程序达到了大师级的水平。
1958约翰•麦卡锡提出博弈树搜索算法
1997年,IBM公司研制的“深蓝”国际象棋 程序,采用博弈树搜索算法,该程序战胜了 国际象棋世界冠军卡斯帕罗夫。
过程; ⑤ 双方都无法干预对方的选择。
2.Grundy 博弈
下棋的双方是对立的,命名博弈的双方,一方为
“正方”,这类节点称为“MAX”节点;另一方为
“反方”,这类节点称为“MIN”节点。正方和反
方是交替走步的,因此MAX节点和MIN节点会交替
出
现
。
2.Grundy 博弈
Grundy博弈是一个分钱币的游戏。有 一堆数目为N的钱币,由两位选手轮流 进行分堆,要求每个选手每次只把其中 某一堆分成数目不等的两小堆。例如, 选手甲把N分成两堆后,轮到选手乙就 可以挑其中一堆来分,如此进行下去, 直到有一位选手先无法把钱币再分成不 相等的两堆时就得认输。
3.极小极大搜索过程
在九宫格棋盘上,两位选手轮流在棋盘上摆各自的 棋子(每次一枚),谁先取得三线的结果就取胜。 设程序方MAX的棋子用(×)表示, MAX先走。
对手MIN的棋子用(o)表示。
例如:
MIN取胜
3.极小极大搜索过程
估计函数 f(p)=(所有空格都放上MAX的 棋子之后,MAX的三子成线数)-(所有空 格都放上MIN的棋子之后,MIN的三子成 线的总数)
3.极小极大搜索过程
3.极小极大搜索过程
MAX MIN MAX MIN
0 5 -3 3 3 -3 0 2 2 -3 0 -2 3 5 4 1 -3 0 6 8 9 -3
3.极小极大搜索过程
1
MAX
0
1
MIN
0
3
1
6
MAX
0
-3
3 -3 -3 -2
1
-3
6 -3
MIN
0 5 -3 3 3 -3 0 2 2 -3 0 -2 3 5 4 1 -3 0 6 8 9 -3
2.Grundy 博弈
设初始状态为(7,MIN),建立问题的状 态空间图,图中所有终结点均表示该选 手必输的情况,取胜方的目标是设法使 棋局发展为结束在对方走步时的终结点 上。
2.Grundy 博弈
MIN先走
MAX必胜
2.Grundy 博弈
结点A是MAX的搜索目标,而结点B,C 则为MIN的搜索目标。