人工智能博弈树的搜索.pptx

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

正在与深蓝下棋的卡斯帕罗夫
1.概述
博弈问题特点: 双人对弈,轮流走步。 信息完备,双方所得到的信息是一样的。 零和,即对一方有利的棋,对另一方肯定 是不利的,不存在对双方均有利或无利的 棋。
1.概述
博弈的特性 ① 两个棋手交替地走棋 ; ② 比赛的最终结果,是赢、输和平局中的
一种; ③ 可用图搜索技术进行,但效率很低; ④ 博弈的过程,是寻找置对手于必败态的
估计函数值 f(p)=6-4=2
3.极小极大搜索过程
一字棋第一阶段搜索树
3.极小极大搜索过程
一字棋第二阶段搜索树
3.极小极大搜索过程
一字棋第三阶段搜索树
3.极小极大搜索过程
棋盘残局举例: 设有一个摆放三个子的棋盘残局,如下图所示,
〇和╳在结束前有三步棋可以走,而且设走第一步 的是╳ 。这时存在着三个空格A,B,C,用博弈树 搜索算法判断应该把棋子放到哪一格内。






2.3 博弈树搜索


















1.概述
20世纪60年代,研制出的西洋跳棋和国际象棋 的博弈程序达到了大师级的水平。
1958约翰•麦卡锡提出博弈树搜索算法
1997年,IBM公司研制的“深蓝”国际象棋 程序,采用博弈树搜索算法,该程序战胜了 国际象棋世界冠军卡斯帕罗夫。
过程; ⑤ 双方都无法干预对方的选择。
2.Grundy 博弈
下棋的双方是对立的,命名博弈的双方,一方为
“正方”,这类节点称为“MAX”节点;另一方为
“反方”,这类节点称为“MIN”Baidu Nhomakorabea点。正方和反
方是交替走步的,因此MAX节点和MIN节点会交替



2.Grundy 博弈
Grundy博弈是一个分钱币的游戏。有 一堆数目为N的钱币,由两位选手轮流 进行分堆,要求每个选手每次只把其中 某一堆分成数目不等的两小堆。例如, 选手甲把N分成两堆后,轮到选手乙就 可以挑其中一堆来分,如此进行下去, 直到有一位选手先无法把钱币再分成不 相等的两堆时就得认输。
3.极小极大搜索过程
由于正方和反方是交替走步的,因此 MAX节点和MIN节点会交替出现。
3.极小极大搜索过程
正方(MAX节点)从所有子节点中,选 取具有最大评估值的节点。
反方(MIN节点)从其所有子节点中, 选取具有最小评估值的节点。
反复进行这种选取,就可以得到双方各 个节点的评估值。这种确定棋步的方法, 称为极小极大搜索法。
对各个局面进行评估
评估的目的:对后面的状态提前进行考虑,并 且以各种状态的评估值为基础作出最好的走棋 选择。
评估的方法:用评价函数对棋局进行评估。赢 的评估值设为+∞,输的评估值设为-∞,平局 的评估值设为0。
评估的标准:由于下棋的双方是对立的,只能 选择其中一方为评估的标准方。
3.极小极大搜索过程
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
A B╳
╳╳〇
〇C〇
3.极小极大搜索过程
╳B ╳
╳ ╳〇
〇C 〇
-
╳ 〇╳ ╳╳〇
〇C 〇
-1
╳B ╳
╳ ╳〇 〇〇〇
-
A B╳
0 ╳ ╳ 〇
〇 C〇
MAX节点
A╳ ╳
╳╳〇
〇C〇
-
〇╳ ╳ ╳╳ 〇
2.Grundy 博弈
设初始状态为(7,MIN),建立问题的状 态空间图,图中所有终结点均表示该选 手必输的情况,取胜方的目标是设法使 棋局发展为结束在对方走步时的终结点 上。
2.Grundy 博弈
MIN先走
MAX必胜
2.Grundy 博弈
结点A是MAX的搜索目标,而结点B,C 则为MIN的搜索目标。
2.Grundy 博弈
对弈过程的搜索图呈现出与或图表示的形式。 实现一种取胜的策略就是搜索一个解图的问题,
解图就代表一种完整的博弈策略。
3.极小极大搜索过程
中国象棋 一盘棋平均走50步,总状态数约为10的
161次方。 假设1毫微秒走一步,约需10的145次方
年。 结论:不可能穷举。
3.极小极大搜索过程
MAX节点和MIN节点
命名博弈的双方,一方为“正方”,对每 个状态的评估都是对应于该方的输赢的。 例如,赢2个,输1个等,都是指正方的。 正方每走一步,都在选择使自己赢得更多 的节点,因此这类节点称为“MAX”节点;
3.极小极大搜索过程
另一方为“反方”,对每个状态的评估 都是对应于对手的输赢的。例如,赢2个, 输一个,其实是指自己输2个,赢1个的。 反方每走一步,都在选择使对手输得更 多的节点,因此这类节点称为“MIN”节 点。
3.极小极大搜索过程
在九宫格棋盘上,两位选手轮流在棋盘上摆各自的 棋子(每次一枚),谁先取得三线的结果就取胜。 设程序方MAX的棋子用(×)表示, MAX先走。
对手MIN的棋子用(o)表示。
例如:
MIN取胜
3.极小极大搜索过程
估计函数 f(p)=(所有空格都放上MAX的 棋子之后,MAX的三子成线数)-(所有空 格都放上MIN的棋子之后,MIN的三子成 线的总数)
若P是MAX获胜的格局,则f(p)=+∞ ; 若P是MIN获胜的格局,则f(p)=-∞ 。
3.极小极大搜索过程
当前棋局f(p)=2
估计函数 f(p)=(所有空格都放上MAX的棋子之后,MAX的三子 成线(行、列、对角)数)-(所有空格都放上MIN的棋子之后, MIN的三子成线(行、列、对角)的总数)
2.Grundy 博弈
搜索策略要考虑的问题是:
对MIN走步后的每一个MAX结点,必须证 明MAX对MIN可能走的每一个棋局对弈后 能获胜,即MAX必须考虑应付MIN的所有 招法,这是一个与的含意,因此含有MAX 符号的结点可看成与结点。
2.Grundy 博弈
对MAX走步后的每一个MIN结点,只须证 明MAX有一步能走赢就可以,即MAX只要 考虑能走出一步棋使MIN无法招架就成, 因此含有MIN符号的结点可看成或结点。
相关文档
最新文档