当前位置:文档之家› 人工智能第二章与或图搜索问题

人工智能第二章与或图搜索问题

22
MAX
从MAX方的角度来看:
所有属于MAX方的节点都是或节点
好招
理由:
因为扩展MAX方节点时,MAX方可选择扩展最
有利于自己的节点,只要可扩展的子节点中有
一个对已有利, 则该节点就对已有利。
23
总之: 从MAX方来说,与节点、或节点交替出现;反之, 从MIN方的角度来看,情况正好相反。
24
在博弈树中,先行一方的初始状态对应着树的根
一个静态估价函数值。值越大对MAX越有利,反 之越不利;
36
② 对于给定的格局,MAX给出可能的走法,然后
MIN对应地给出相应的走法,这样重复若干次,得 到 一 组 端 节 点 ( 必 须 由 MIN 走 后 得 到 的 , 等 待
MAX下的棋局)。这一过程相当于节点扩展;
注:博弈树深度或层数一定是偶数。
初始节点
n3
n5
n6
n8
其中: h(n0)=3 h(n1)=2 h(n2)=4 h(n3)=4 h(n4)=1 h(n5)=1 h(n6)=2 h(n7)=0 h(n8)=0 设:K连接符 的耗散值为K
10
目标
n7
目标
n0 n1 n2
初始节点
n1(2) n4
n0
初始节点
n4(1)
n3
n5
n5(1)
2
n6
n8
n8(0)
目标
n7
目标
n7(0)
红色:5
黄色:6
13
n0 n1 n2
初始节点
n1 n4 5
n0
初始节点
1 n4(1)
n2(4)
n3
n5 n3(4) n6(2)
n5(1)
2
n6
n8
n8(0)
目标
n7
目标
n7(0)
红色:5 黄色:6
14
2.3 博弈树搜索
博弈
是一类具有竞争性的智能活动
双人博弈 :即两位选手对垒,轮流依次走步,

17
博弈的特点:
双方的智能活动,任何一方都不能单独控制
博弈过程,而是由双方轮流实施其控制对策 的过程。
18
人工智能中研究的博弈问题:
如何根据当前的棋局,选择对自己最有利的
一步棋 ?
中国象棋
19
博弈问题(求解过程)的表示:
用博弈树来表示,它是一种特殊的与或树。节点
代表博弈的格局(即棋局),相当于状态空间中 的状态,反映了博弈的信息, 并且与节点、或 节点隔层交替出现。
1
MAX的走步
×
MIN
-1
-2
×
×
1
× O
× O
× O
× O
× O
O × O ×
1
0
O
1
0
O × ×
-1
O × O
1
2
MAX
×
× O
-1
0
-1
0
-2
57
X O
X
第二步
O
1
X O O X O X O X X O X O X O X O X O O X O X X
X
1
2
O O X X X
1
O X X
3
n6
n8
目标
n7
红色:4
黄色:3
目标
11
n0 n1 n2
初始节点
n1 n4 n2(4) 5
n0
初始节点
n4(1)
n3
n5 n3(4)
n5(1)
n6
n8
目标
n7
红色:4
黄色:6
目标
12
n0 n1 n2
初始节点
n1 n4 5
n0
初始节点
n4(1) n2(4)
n3
n5 n3(4) n6(2)
n5(1)
点的倒推估价值,直至求出初始节点的 e(S) 为止,
再由 e(S) 选得相对较好的走法,过程结束。
49
等对手走出相应的棋,再以当前的格局 作为初始节点,重复此过程,选择对自 己有利的走法。
50
极大极小过程
51
例: 一字棋的极大极小搜索过程
约定:
每一方只向前看一步 (扩展出二层) 记MAX的棋子为“×”,MIN的棋子为“O”
节点,而任何一方获胜的最终格局为目标状态, 对应于树的终叶节点(可解节点或本原问题)。 但是,从MAX的角度出发,所有使MAX获胜的 状态格局都是本原问题,是可解节点,而使MIN 获胜的状态格局是不可解节点。
25
博弈树特点
(1)博弈的初始状态是初始节点;
(2)博弈树的“与”节点和“或”节点是逐层交替出 现的; (3)整个博弈过程始终站在某一方的立场上,所以能 使自己一方获胜的终局都是本原问题,相应的节
点也是可解节点,所有使对方获胜的节点都是不
可解节点。
26
例 Grundy博弈:分配物品的问题
如果有一堆数目为N的钱币,由两位选手轮流进 行分配,要求每个选手每次把其中某一堆分成数 目不等的两小堆,直至有一选手不能将钱币分成
不等的两堆为止,则判定这位选手为输家。
27
用数字序列加上一个说明来表示一个状态:
e ( np )=min{ nci }
47
7、转5; 8、根据 e (S) 的值,标记走步或者结束(-∞,
∞或 0)。
48
算法分成两个阶段:
第一阶段为1、2、3、4步,用宽度优先算法生成 规定深度 k 的全部博弈树,然后对其所有端节点 计算 e(P); 第二阶段为5、6、7、8步,是自下而上逐级求节
(3, 2, 1, 1, MAX)
数字序列:表示不同堆中钱币的个数 说明:表示下在取 N=7 的简单情况,并由MIN先分
(7,MIN)
所有可能的分法
(4,3,MAX)
(3,3,1,MIN)
(6,1,MAX)
(5,2,MAX)
(5,1,1,MIN)
(4,2,1,MIN)
O
X X
O X
O O
X X
O X
O O
O X
O X
O X O X
O X
O X X
O X O
O X X
O X
O X O
1
2
1
X X

6
普通图搜索的情况
s
n
f(n) = g(n) + h(n) 对n的评价实际是对从s到n这条路 径的评价
7
与或图: 对局部图的评价
初始节点
c
a
b 目标 目标
8
两个过程

图生成过程,即扩展节点

从最优的局部途中选择一个节点扩展

计算耗散值的过程

对当前的局部图从新计算耗散值
9
AO*算法举例
n0 n1 n2 n4
O X X
2
O X X
1
O X O X
0
O O X O
O
O
O
1
O O
0
O O X X
2
O
0
O
1
O
1
O O X
X
1
X
X
X
X O X
X
O X
X O
X
X
O
2
2
3
1
O O
2
X
X
2
O O
X X
1
1
O X
X
0
X
O X
0
58
O X O X X O
O
1
X
第三步
O X X O X
X
1
-
X O X
O X
O
X X
O X O
e(n)=∞,-∞或 0,并转2;否则扩展 n,产生 n 的
后继节点集 { ni },将{ ni }放入搜索树 T 中。此时, 若搜索深度d{ ni }小于预先设定的深度 k,则将 { ni }放入OPEN表的末端,转2;否则,ni 达到深 度k,计算e ( ni ),并转2;
44
步2
Open为空,即已经扩展完节点
MAX占优,MIN不利 势均力敌 MAX不利,MIN占优
40
符号:
OPEN:存放待扩展的节点,此时为队列,即以
宽度优先的策略扩展节点。 CLOSED:存放已扩展的节点,此时为堆栈,
即后扩展的节点先计算。
41

极大极小过程的基本思想:
(1)当轮到MIN走步的节点时,MAX应考虑最 坏的情况(即f(p)取极小值); (2)当轮到MAX走步的节点时,MAX应考虑最 好的情况(即f(p)取极大值); (3)评价往回倒推时,相应于两位棋手的对 抗策略,交替使用(1)和(2)两种方 法传递倒推值。
42
极大极小搜索过程为:
1、将初始节点 S 放入 OPEN 表中,开始时搜索
树 T 由初始节点 S 构成;
2、若 OPEN 表为空(节点扩展结束),则转5; 3 、 将 OPEN 表 中 第 一 个 节 点 n 移 出 放 入
CLOSED 表的前端;
43
4、若 n 可直接判定为赢、输、或平局,则令对应的
20
为什么与节点、或节点隔层交替出现?
假设博弈双方为:MAX和MIN 在博弈过程中,规则是双方轮流走步。在博弈 树中,相当于博弈双方轮流扩展其所属节点。
21
从MAX方的角度来看:
所有MIN方节点都是与节点
MIN
好招
理由:
因为MIN方必定选择最不利于MAX方的方式来
相关主题