ch2与或图搜索问题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目标
目标
能解节点
❖ 终节点是能解节点 ❖ 若非终节点有“或”子节点时,当且仅当其子
节点至少有一能解时,该非终节点才能解。 ❖ 若非终节点有“与”子节点时,当且仅当其子
节点均能解时,该非终节点才能解。
不能解节点
❖ 没有后裔的非终节点是不能解节点。 ❖ 若非终节点有“或”子节点,当且仅当所有子
节点均不能解时,该非终节点才不能解。 ❖ 若非终节点有“与”子节点时,当至少有一个
AO*算法举例
n1 n3
n6 n7目标
n0 初始节点
n2
n4
n5
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
n1 n3
n0 初始节点
n1(2)
n2
n4
n5
❖ 其 中 e(+P) 表 示 棋 局 P 上 有 可
能使a成为三子成一线的数目;
b
e(-P)表示棋局P上有可能使b
a
成为三子成一线的数目。例如,
对于所示棋局:
e(P)=6-4=2
❖另外,我们假定具有对称性的 两个棋局算作一个棋局。还假
定A先走棋,我们站在A的立场 上。
如图给出了A的第一着走棋生成的博弈树。图中节点旁的数字分别
表示相应节点的静态估值或倒推值。
S0
a
S1
a
-1
1
a
a
a
a
a
b
b
b
b
b
1
0
1
0
-1
源自文库
a S2 -2
S4
b a
1
b a S5 2
a
b
b
b
a
a
ab
-1
0
-1
0
一字棋极小极大搜索
ab -2
博弈树的剪枝(1)
(a)
[-∞, +∞] A
[-∞,3] B
3
(b)
[-∞, +∞] A
[-∞,3] B
3 12
博弈树的剪枝(2)
b a
图 一字棋
设A的棋子用“a”表示,B的棋子用“b”表示。 为了不致于生成太大的博弈树,假设每次仅扩展 两层。估价函数定义如下:
设棋局为P,估价函数为f(P)。 (1)若P是A必胜的棋局,则f(P)=+∞。 (2)若P是B必胜的棋局,则f(P)=-∞。 (3)若P是胜负未定的棋局,则
f(P)=e(+P)-e(-P)
子节点不能解时,该非终节点才不能解。
普通图搜索的情况
s
n f(n) = g(n) + h(n) 对n的评价实际是对通过n的这条路径的评价
与或图: 对局部图的评价
初始节点
a b
目标
c 目标
两个过程
❖ 图生成过程,即扩展节点 ▪ 从最优的局部途中选择一个节点扩展
❖ 计算耗散值的过程 ▪ 对当前的局部图重新计算耗散值
(5)如果一个行动方案能获得较大的倒推值,则 它就是当前最好的行动方案。
1,极小极大过程
1
b
0
a0
3
1
极大
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
❖例 一字棋游戏。设有如图所示的九个空格, 由A,B二人对弈,轮到谁走棋谁就往空格上 放一只自己的棋子,谁先使自己的棋子构成 “三子成一线”谁就取得了胜利。
❖ 假设1毫微秒走一步,约需10的145次方年。 ❖ 结论:不可能穷举。
研究领 域
❖ Othello
奥塞罗
❖Checkers 西洋跳棋
❖ Chess
国际象棋
❖Chinese chess 中国象棋
❖ConnectSix 六子棋
❖ Shogi
日本将棋
❖ Go
围棋
❖
……………………
❖ 博弈复杂度:包括状态空间复杂度、博弈 树复杂度(以10为底)
(c)
[3, +∞] A
[3,3] B
3 12 8
(d)
[3, +∞] A
[3,3] B
[-∞,2] C
3 12 8 2
博弈树的剪枝(3)
(e)
[3,3]B
[3,14] A [-∞,2] C
[-∞,14] D
3 12 8 2
14
(f )
[3,3] A
[3,3] B
[-∞,2] C
[2,2] D
3 12 8 2
分钱币问题
对方先走
(7)
(6,1) (5,2)
(4,3)
(5,1,1)(4,2,1) (3,2,2) (3,3,1)
(4,1,1,1) (3,2,1,1) (2,2,2,1)
(3,1,1,1,1) (2,1,1,1,1,1)
(2,2,1,1,1) 我方必胜
中国象棋
❖ 一盘棋平均走50步,总状态数约为10的161次 方。
棋类
状态空间复杂度 博弈树的复杂度
Chess
50
123
Chinese chess 52
150
Shogi
71
226
Go
160
400
极小极大搜索法
其基本思想是: (1)设博弈的双方中一方为A,另一方为B。为
一方(如A)寻找最优行动方案。 (2)为了找到当前的最优行动方案,需要对各个
可能的方案所产生的后果进行比较。 (3)为计算得分,需要根据问题的特性信息定义
一个估价函数,用来估算当前博弈树端节点的 得分。
(4)当端节点的估值计算出来后,再推算出父节 点的得分,方法是:对“或”节点,选其子节 点中一个最大的得分作为父节点的得分,这是 为了使自己在可供选择的方案中选一个对自己 最有利的方案;对“与”节点,选其子节点中 一个最小的得分作为父节点的得分,这是为了 立足于最坏的情况。
n6 n目7 标
n8 目标
n0 初始节点 n4(1)
n5(1)
红色:4 黄色:3
n1 n3 n6 n目7 标
n0 初始节点
n0 初始节点
n1 5
n2
n4
n2(4)
n4(1)
n5
n5(1)
n3(4)
n8 目标
红色:4 黄色:6
n1 n3 n6 n7 目标
n0 初始节点
n0
n2 n5
n1 5
n4 n2(4) n5(1)
n3(4) n6(2) n8 目标
n7(0)
初始节点
n4(1) 2
n8(0) 红色:5 黄色:6
n0 初始节点
n0 初始节点
n1
n2
n3
n5
n6 n7 目标
n1 5
1
n4
n4(1)
n2(4)
n5(1) 2
n3(4)
n6(2) n8 目标
n8(0) 红色:5
n7(0)
黄色:6
2.3 博弈树搜索
❖ 博弈问题 ▪ 双人 ▪ 一人一步 ▪ 双方信息完备 ▪ 零和
第2章 与或图搜索问题
初始节点s
a c
b
目标
目标
2.1 基本概念
❖ 与或图是一个超图,节点间通过连接符连接。 ❖ K-连接符:
…... K个
耗散值的计算
k(n, N) = Cn+k(n1, N)+…+k(ni, N) 其中:N为终节点集
Cn为连接符的耗散值
n
…...
n1 n2
ni
i个
解图:
初始节点