第三章习题--搜索策略
2 2 1 2 3 1 2 3
节 点
A
父 节
深 度
0
B
I
B I
C E G D
A B
A C E A
1 2
1 2 3 1
E
C C
G
G
E G D F
G D F G
2 3
F 在CLOSED表中调整G的父指针
G F
解为:A-D-G-F
设有如下结构的移动将牌游戏:
B B W W E
其中,B表示黑色将牌,W表是白色将牌,E表示空格。游戏的 规定走法是: (1) 任意一个将牌可移入相邻的空格,规定其代价为1; (2) 任何一个将牌可相隔1个其它的将牌跳入空格,其代价为 跳过将牌的数目加1。 游戏要达到的目标是把所有W都移到B的左边。对这个问题, 请定义一个启发函数h(n),并给出用这个启发函数产生的搜索 树。 解:启发函数h(n)=每个w左边B的个数,f(n)=d(n)+3*h(n)
定义谓词 Goods(x): x是商品 Cheap(x):x便宜 Sail(super,x):超市卖x Buy(x,y):x买y Want(x,y) :x需要y 用谓词写事实、规则 超市(Supermarket)卖(Sail)的商品(Goods)便宜(Cheap): (x)( Sail(super,x) Goods(x) Cheap(x)) 王(Wang)买(Buy)需要的(Want)便宜商品: (x)( Want(Wang,x) cheap(x) Buy(Wang,x)) 自行车(Bicycle)是商品且超市卖自行车: Goods(bike)Sail(super,bike) 王需要自行车: Want(Wang,bike) 赵(Zhao)跟随王买同样的商品: (x)( Goods(x) Buy(Wang,x) Buy(Zhao,x)) Q1:Buy(Wang,bike) ~Q1:~Buy(Wang,bike) Q2:Buy(Zhao,a) 构造其重言式:Q2∨~Q2: Buy(Zhao,a) ∨~Buy(Zha
6
-2 3 5
9
-3
1、已知下列事实: (1)超市(Supermarket)卖(Sail)的商品(Goods)便宜(Cheap)。 (2)王(Wang)买(Buy)需要的(Want)便宜商品。 (3)自行车(Bicycle)是商品且超市卖自行车。 (4)王需要自行车。 (5)赵(Zhao)跟随王买同样的商品。 请应用归结反演证明方法回答以下问题: (1)王买自行车吗? (2)赵买什么商品?
迷宫问题: 分别用宽度优先、深度优先和有界深度 搜索算法求A——F的路径,列出搜索中OPEN、 CLOSED表的内容 。 A 要求:深度值相同时,按字母序扩展 有界深度dm=3
B C D E
I
G
F
宽度优先
A B C I E
OPEN A
CLOSED
B
D C D
节 点 A B
C D
父 节 A
A A
3、某公司招聘工作人员,A,B,C三人应试。面试后,公司表示如下意见: (1)三人中至少录用一人; (2)如果录用A而不录用B,则一定录用C; (3)如果录用B,则一定录用C; 求证:公司一定录用C。 定义谓词:accept (x):录用x 表示已知事实: (1)三人中至少录用一人; accept (A) accept (B) accept (C) (2)如果录用A而不录用B,则一定录用C; accept (A) accept (B) →accept (C) (3)如果录用B,则一定录用C; accept (B) →accept (C) 结论Q:accept (C)
W可以移到B右边的三种情况:
E B W B W E
代价:2 代价:2
B E W
代价:3
B B W W E
f=1+3*4=13
f=0+3*4=12 f=1+3*4=13
B B W E W
f=2+3*4=14
B B E W W
f=2+3*3=11
B B E W W
B E W B W
f=3+3*3=12
3.设有如图所示与或树,分 别用和代价法、最大代 价法求解树的代价。
B 7
5 2 2
6 E 3
t2 2 t3
C
1 t4
D
t1
若按和代价法,则该解树的代价为: h(A)=2+3+2+5+2+1+6=21 若按最大代价法,则该解树的代价为: h(A)=max{h(B)+5, h(C)+6} = max{(h(E)+2)+5, h(C)+6} = max{(max(2, 3)+2)+5, max(2, 1)+6} =max{(5+5, 2+6)}=10
深 度 0 1
1 1
节 点
A B C D I E G F
父 节
A A A B C D G
深 度
0 1 1 1 2 2 2 3
I
E
I
C E
B
B C D E G
2
2 2 2 3 3
G
G 在OPEN表中调整C的父指针 在OPEN表中调整G的父指针
G G F
F
F
解为:A-D-G-F
深度优先
A B C I E I B D C D A 节 点 A
OPEN 父 节 深 度 0
CLOSED 节 点 A B 父 节 A 深 度 0 1
B
C
A
A
1
1
D
A
1
G
F
深度优先
A A 节 点 A
OPEN 父 节 深 度 0
CLOSED 节 点 A B 父 节 A 深 度 0 1
B
C I E
B
D C D
B
I
A
B
1
2
I C
B A
2 1
I
E
C
C D
B
A A
2
1 1
G
F
深度优先
A B B D A
OPEN 节 点 A B C I E D I C C E G 父 节 A B B A C A 深 度 0 1 2 2 1 2 1
CLOSED
节 点 A B I C E 父 节 A B A C 深 度 0 1 2 1 2
C
I E
G
D
F
深度优先
A B B D A
CLOSED
节 点 A B I C E G F 父 节 A B A C E G 深 度 0 1 2 1 2 3 4
C
I E
G
G F F D
解为:A-C-E-G-F
F
有界深度优先
A B C I E I B D
OPEN A
CLOSED
节 点 A
C D
父 节 A
B B A C E A D G
深 度 0 1
A B
t1
t2
(2)与/或树的深度优先搜索 先扩展节点A, 得到节点B和C,再扩展节点C, 得节点D和t5,t5 为可解节点,再扩展节D,得节点t3、t4,因为t3、t4为可解 节点,故节点D可解,因为节点D和t5可解,故节点C可解, 从而可节点A可解。 所以求得解树为:
A C D t5
t3
t4
A
E B W B W
f=4+3*2=10
W B E B W
f=5+3*1=8
W B W B E
f=6+3*1=9
W B W E B
f=7+0=7
W E W B B
A
2.设有如图所示与或树,请 分别用与或树的广度优 先和深度优先搜索求出 解树。
B D t1 t2
C
t5
t3
t4
解:(1)与/或树的广度优先搜索 先扩展节点A,得到节点B和C,再扩展节点B,得节点t1、 t2,因为t1、t2为可解节点,故节点B可解,从而可节点 A可解。 所以求得解树为:
OPEN 节 点 A B C I E D I C C E G 父 节 A B B A C E A 深 度 0 1 2 2 1 2 3 1
CLOSED
节 点 A B I C E G 父 节 A B A C E 深 度 0 1 2 1 2 3
C
I E
G
G D F
F
深度优先
A B B D A
OPEN 节 点 A B C I E D I C C E G 父 节 A B B A C E G A 深 度 0 1 2 2 1 2 3 4 1
2、已知下列事实: 凡是容易的课程小李(Li)都喜欢; C班的课程都是容易的; ds是C班的一门课程。 证明:小李喜欢ds这门课程。
首先定义谓词: Easy(x) 表示x是容易的; Like(x,y) 表示x喜欢y; C(x) 表示x是C班的一门课程; 用定义的谓词将已知事实和结论表示为谓词形式: (x)(Easy(x)→Like(Li,x)); (x)(C(x)→Easy(x)); C(ds); Q:Like(Li,ds)
设有如图博弈树,其中最下面的数字是假设的估值,(1) 计算各节点的倒推值; (2)利用α-β剪枝技术剪去不必要的分枝 β≤ 0 α≥ 0 0 G H 0 C D α≥ 0 A0 3 α≥ 3 J 4 S0 4
β≤ 4 α≥E 4
B 6 α≥ 6 F
β剪枝
4
-3 I 3 β≤ -3
α剪枝
β剪枝
6 -3 K L M 4 β≤ -3 α剪枝 4 -3 0 6 8