4-与或图搜索

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a b
5-5=0
a b
6-5=1
a
5-6=-1
b
a b
5-5=0
a b
5-4=1
6-4=2
5-5=0
23 4-5=-1
5-6=-1 人工智能6-6=0
4-6=-2 sspu 王帅
极大极小法
在极大极小分析法中,总是先生成一定深 度的博弈树,然后对端节点进行估值,再 计算出上层节点的倒推值,这样做的效率 很低 由于博弈树具有“与”节点和“或”节点 逐层交替出现,如果能边生成节点边计算 估值计算倒推值,就有可能删去一些不必 要的节点,从而减少搜索及计算的工作量
5
人工智能 sspu 王帅
等价变换
对于复杂问题,除了可用“分解”方法进 行求解外,还可利用等价变换,把它变换 为若干个较容易求解的新问题,若新问题 中有一个可解,则就得到了原问题的解 问题的等价变换过程,也可用一个图表示, 称为“或图”
…...
6
人工智能 sspu 王帅
与或图
与图和或图结合起 来使用,此时的图 称为“与或图”, 其中既有“与”节 点,也有“或”节 点 后面介绍的更多的 是“与或树”
≤1 1 ≥6
b
≥0 0
n e
3
k
a
0
c
≤-3
g
5 4
i
1
≤-3
6
j
0
5
-3
3
3
-3
0
2
2
-3
0
-2
3 5 4
1
-3
0 6
8 9
-3
30
人工智能
sspu 王帅
-剪枝
在-剪枝 技术中,一个节点的第一个子 节点的倒推值或估值是很重要的 对于一个“或”节点,如果估值最高的子 节点最先生成,或者对于一个“与”节点, 估值最低的子节点最先生成,则被剪除的 节点数最多,搜索的效率最高。这称为最 优-剪枝 法
目标
7
人工智能 sspu 王帅
初始节点s a c b
目标
与或图的其他概念
本原问题
不能在分解或变换,而且直接可解的子问题
端节点与终止节点
没有子节点的节点称为端节点 本原问题对应的节点称为终止节点
终止节点一定是端节点,端节点不一定是终
止节点
8
人工智能 sspu 王帅
与或图的其他概念
可解节点
(3,2,2)
(4,3)
(3,3,1)
(5,1,1) (4,2,1)
(4,1,1,1) (3,1,1,1,1)
(3,2,1,1)
(2,2,2,1) 我方必胜
sspu 王帅
(2,2,1,1,1)
人工智能
(2,1,1,1,1,1) 15
对于较简单的博弈问题,可以求出解图,解图 代表了从开局到终局任何阶段上的弈法,但这 对于复杂的博弈问题是不可能实现的 在博弈问题中,每个格局可供选择的行动方案 有很多,因此会生成十分庞大的博弈树。
全信息
对垒过程中,双方都了解当前格局及过去的历史
非偶然
双方都是理智的分析决定自己的行动,不存在“碰运气”的偶然因

11
人工智能
sspu 王帅
博弈树
在博弈过程中,任何一方都希望自己取得胜利。因此,在 某一方当前有多个行动方案可供选择时,他总是挑选对自 己最有利而对对方最不利的那个方案行动。 如果我们站在A方立场,则可供A选择的若干方案之间是 “或”关系,因为主动权在A方手里,他或者选择这个方 案,或者选择另一个方案,完全由A决定 但若B也有若干可供选择的方案,则对A来说这些方案之间 是“与”关系,因为这时主动权在B,这些可供选择的方 案中的任何一个都可能被B选中,A必须考虑对自己最不利 的情况的发生 把上述博弈过程用图表示出来,得到的是一棵“与/或” 树 注意:该“与/或”树是始终站在某一方(例如A方)的 立场上得出的,不能一会站在A方立场,一会又站在B方 立场
28
人工智能 sspu 王帅
-剪枝技术的一般规律
剪枝的条件:
后辈节点的值≤祖先节点的值时, 剪枝 后辈节点的 值≥祖先节点的值时, 剪枝
简记为:
极小≤极大, 剪枝
极大≥极小, 剪枝
29
人工智能
sspu 王帅
-剪枝 —例
f
≤0 0 ≥0 1
d
≥3
m h
≥1 1
中国象棋 一盘棋平均走50步,总状态数约为10161。 假设1毫微秒走一步,约需10145年。 西洋跳棋 博弈树约有1040个节点 围棋
结论:不可能穷举。试图利用完整的博弈树来 进行分析是很困难的
16
人工智能 sspu 王帅
博弈树搜索
可行的办法
只生成一定深度的博弈树,然后进行极大极小分析,
基本思想
设博弈双方中一方为A,另一方为B,极大极小分析法是为其中
的一方(例如A)寻找一个最优行动方案的方法 为了找到当前最优方案,需对各个方案可能产生的后果进行比 较,考虑每个方案实施后对方可能采取的所有行动,并计算可 能的得分 为计算得分,需根据问题的特性信息定一个估价函数,用来估 算当前博弈树端节点的得分(称为静态估值) 当端节点的估值计算出来后,再推算父节点的得分(成为倒推 值)
24
人工智能 sspu 王帅
极大极小法—计算倒推值示例
1
b
0
1
a
0
3
1
6
极大
极小
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
25
人工智能
sspu 王帅
-剪枝
S0
3 ≥3 S2 ≤2
S1
3
3 5 S3 S4
2 S5 S6
设有博弈树,各端点的估值如 图所示,其中S6还没计算估值。 由S3与S4的估值得到S1的倒推 值为3,这表示S0的倒推值最小 为3。另外,由S5的估值得知S2 的倒推值最大为2,因此S0的倒 推值为3。 这里,虽然没有计算S6的估值, 仍然不影响对上层节点倒推值 的推算,这表示S6这个分枝可 以从博弈树中剪去

b a
则f(P)=6-4=2
21
人工智能
sspu 王帅
一字棋
假定具有对称性的两个棋局算作一个棋局
a a
还假定A先走,我们站在A的立场上 为了不至于生成太大的博弈树,假设每次只 扩展两层
22
人工智能
sspu 王帅
最佳走法
-1
a
-2
a
1
a
a
b
a
b
a b
b a a
b
b a b a
6-5=1
20
人工智能
sspu 王帅
一字棋
估价函数定义如下
设棋局为P,估价函数为f(P) 若P是A必胜的棋局,则f(P)=+∞ 若P是B必胜的棋局,则f(P)=-∞ 若P是胜负未定的棋局,则f(P)=f(+P)-f(-P)
> 其中f(+P)表示棋局P上有可能使a成为三子一线的数目 > 其中f(-P)表示棋局P上有可能使b成为三子一线的数目
13
人工智能 sspu 王帅
例—分钱币问题
有一堆数目为N的钱币,由两位选手轮流 进行分堆,要求每个选手每次只把其中某 一堆分成数目不等的两小堆,直到有一位 选手无法把钱币再分成不相等的两堆时就 得认输
14
人工智能
sspu 王帅
分钱币问题 状态空间图及搜索解图
对方先走 (6,1)
(7)
(5,2)
1
a
0
3
1
6
极大
极小
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
19
人工智能
sspu 王帅
极大极小法应用
例:一字棋 设有九个空格,由A,B二人对弈,轮到谁走 棋谁就往空格上放自己的一只棋子,谁先使自 己的棋子构成三子成一线,谁就取得了胜利 设A的棋子用a表示,B的棋子用b表示
人工智能 sspu 王帅
26
-剪枝
对于“或”节点,它取当前子节点中的最 大倒推值最为它倒推值的下界,称此值为 值 对于“与”节点,它取当前子节点中的最 小倒推值最为它倒推值的上界,称此值为 值
27
人工智能
sspu 王帅
-剪枝技术的一般规律
任何“或”节点x的值如果不能降低其父节点 的值,则对节点x以下的分枝可停止搜索,并 使x的倒推值为。这种剪枝称为剪枝 任何“与”节点x的值如果不能降低其父节点 的值,则对节点x以下的分枝可停止搜索,并 使x的倒推值为 。这种剪枝称为剪枝 注意: 剪枝和剪枝,剪去的都是节点x以下 的分枝,此时的x节点还不能剪去。因为x节点 对计算其父节点的倒推值还是有用的。
找出当前最好的行动方案(极大极小搜索是博弈树 搜索最常用的基本方法) 在此之后,再在已经选定的分枝上扩展一定深度, 再选最好的方案 如此进行,直到取得胜败的结果为止
每次生成博弈树的深度,当然越大越好,但由 于受到计算机存储空间的限制,只能根据实际 情况而定
17
人工智能 sspu 王帅
极大极小分析法
9
人工智能 sspu 王帅
AO* 算法
也是一种启发式搜索算法,与A*算法有些 类似 具体算法步骤(略)
10
人工智能
sspu 王帅
2.3 博弈树搜索
博弈
诸如下棋、打牌、战争等一类竞争性智能活动称为博弈
最简单的一种博弈具有以下特征
二人零和
双方对垒,轮流采取行动; 对一方有利的对另一方必然不利; 博弈结果只能有三种情况:A胜B败、B胜A败、平局
与或图搜索
1
主要内容
与或图的概念 与或树搜索 博弈树搜索(重点)
2
人工智能
sspu 王帅
与或图的概念
在上一章状态空间搜索的问题中,一个问题可 以有几种求解方法,只要其中一种方法可以求 解,则该问题就可以求解。即该节点的后继节 点之间是“或”的关系,即只要一个后继节点 能够求解,则该节点也就可以求解了。从初始 节点到目标节点之间,可以得到一条由节点序 列组成的求解路径 但现实世界中,有时一个问题也可能需要求解 几个子问题,这些子问题必须全部求解,才可 求解原始问题,即这些子问题之间是“与”的 关系。这类问题可以用与或图表示
31
人工智能 sspu 王帅
-剪枝
S0
Awk.baidu.com
B
19
20 17
15
无法剪枝 思考:如果把A,B互换, 会怎样? 答:若把A,B互换,则D, E节点可以剪去
C
D
E
32
人工智能
sspu 王帅
-剪枝
S0
A
B
10
同样无法剪枝 但若把A,B互换,则可 剪枝D,E
25 17
15
C
D
E
33
人工智能
sspu 王帅
作业
P75 2.6
34
人工智能
sspu 王帅
3
人工智能 sspu 王帅
与或图的概念
对于一个复杂问题,直接求解往往比较困 难。此时,可以通过下述方法进行简化
分解 等价变换
4
人工智能
sspu 王帅
分解
把一个复杂问题分解为若干个较简单的子问题, 每个子问题又继续分解为若干个更简单的子问 题,重复此过程,直到不需要再分解或者不能 在分解为止。 然后对每个子问题分别求解,最后把各子问题 的解复合起来就得到了原问题的解。 这时子节点间是“与”关系 …... 通常用一条弧把各边连接起来 构成的图称为“与图” K个 若一节点有k个与关系子节点,则称该节点有一 个k-连接符
对“或”节点,选其子节点中一个最大的得分作为它的得分(使
自己在可选方案中选一个最己最有利的方案) 对“与”节点,选其子节点中一个最小的得分作为它的得分(这 是为了立足于最坏的情况)
如果一个方案能获得较大的倒推值,则它就是当前最好的方案
18
人工智能
sspu 王帅
极大极小法—计算倒推值示例
1
b
0
在与或树中,满足下列条件之一的称为可解节点 是一个终止节点 是一个“或”节点,且其子节点中至少有一个是可解节点 是一个“与”节点,且其子节点全部是可解节点
不可解节点
不是可解节点的节点
解树
由可解节点构成,且由这些可解节点可推出初始节
点(对应于原始问题)为可解节点的子树称为解树 在解树中一定包含初始节点
12
人工智能 sspu 王帅
博弈树的特点
博弈的初始格局是初始节点 在博弈树中,“或”节点和“与”节点是逐层 交替出现的
己方扩展的节点之间是“或”关系
对方扩展的节点之间是“与”关系 双方轮流扩展节点
所有能使己方获胜的终局都是本原问题,相应 的节点是可解节点;所有使对方获胜的终局都 是不可解节点
相关文档
最新文档