(2)用归结法提取回答\
9、已知事实公式为 ((((
x)(u)(
y)(
z)(Gt(x,y)∧Gt(y,z)→Gt(x,z))
v)(Succ(u,v)→Gt(u,v)
x)(~Gt(x,x))
求证Gt(5,2)
试判断下面的归结过程是否正确?若有错误应如何改进:
10、设公理集为 ( (
u)LAST(cons(u,NIL),u)(cons是表构造函数) x)(
y)(
z)(LAST(y,z)→LAST(cons(x,y),z))(LAST(x,y)代表y
是表x的最末元素)
(1)用归结反演法证明如下定理: (v)LAST(cons(2,cons(1,NIL)),v) (2)用回答提取过程求表(2,1)的最末元素v。 (3)简要描述如何使用这个方法求长表的最末元素。
11、对一个基于规则的几何定理证明系统,把下列语句表示成产生式规则: (1)两个全等的三角形的对应角相等。 (2)两个全等的三角形的对应边相等。
(3)如果两个三角形对应边是相等的,则这两个三角形全等。 (4)一个等腰三角形的底角是相等的。
6 / 35
12、我们来考虑下列一段知识:Tony、Mike和John属于Alpine俱乐部,Alpine俱乐部的每个成员不是滑雪运动员就是一个登山运动员,登山运动员不喜欢雨而且任一不喜欢雪的人不是滑雪运动员,Mike讨厌Tony所喜欢的一切东西,而喜欢Tony所讨厌的一切东西,Tony喜欢雨和雪。 以谓词演算语句的集合表示这段知识,这些语句适合一个逆向的基于规则的演绎系统。试说明这样一个系统怎样才能回答问题\有没有Alpine俱乐部的一个成员,他是一个登山运动员但不是一个滑雪运动员呢?\
13、一个积木世界的状态由下列公式集描述: ONTABLE(A) CLEAR(E) ONTABLE(C) CLEAR(D) ON(D,C) HEAVY(D) ON(B,A) WOODEN(B) HEAVY(B) ON(E,B) 绘出这些公式所描述的状态的草图。
下列语句提供了有关这个积木世界的一般知识: 每个大的蓝色积木块是在一个绿色积木块上。 每个重的木制积木块是大的。
所有顶上没有东西的积木块都是蓝色的。 所有木制积木块是蓝色的。
以具有单文字后项的蕴涵式的集合表示这些语句。绘出能求解\哪个积木块是在绿积木块上\这个问题的一致解图(用B规则)。
答案
第一章课后习题答案
说明:由于人工智能的很多题目都很灵活,以下解答仅供参考。 第1题
答: 1,综合数据库 定义三元组:(m, c, b) 其中:
,表示传教士在河左岸的人数。 ,表示野人在河左岸的认输。
,b=1,表示船在左岸,b=0,表示船在右岸。
7 / 35
2,规则集
规则集可以用两种方式表示,两种方法均可。
第一种方法: 按每次渡河的人数分别写出每一个规则,共(3 0)、(0 3)、(2 1)、(1 1)、(1 0)、(0 1)、(2 0)、(0 2)八种渡河的可能(其中(x y)表示x个传教士和y个野人上船渡河),因此共有16个规则(从左岸到右岸、右岸到左岸各八个)。注意:这里没有(1 2),因为该组合在船上的传教士人数少于野人人数。 规则集如下:
r1:IF (m, c, 1) THEN (m-3, c, 0) r2:IF (m, c, 1) THEN (m, c-3, 0) r3:IF (m, c, 1) THEN (m-2, c-1, 0) r4:IF (m, c, 1) THEN (m-1, c-1, 0) r5:IF (m, c, 1) THEN (m-1, c, 0) r6:IF (m, c, 1) THEN (m, c-1, 0) r7:IF (m, c, 1) THEN (m-2, c, 0) r8:IF (m, c, 1) THEN (m, c-2, 0) r9 :IF (m, c, 0) THEN (m+3, c, 1) r10:IF (m, c, 0) THEN (m, c+3, 1) r11:IF (m, c, 0) THEN (m+2, c+1, 1) r12:IF (m, c, 0) THEN (m+1, c+1, 1) r13:IF (m, c, 0) THEN (m+1, c, 1) r14:IF (m, c, 0) THEN (m, c+1, 1) r15:IF (m, c, 0) THEN (m+2, c, 1) r16:IF (m, c, 0) THEN (m, c+2, 1)
第二种方法: 将规则集综合在一起,简化表示。规则集如下: r1:IF (m, c, 1) and 0< i+j〈=3 and (i>= j or i=0) THEN (m-i, c-j, 0) r2:IF (m, c, 0) and 0< i+j〈=3 and (i>= j or i=0) THEN (m+i, c+j, 1) 3,初始状态:(5, 5, 1) 4,结束状态:(0, 0, 0) 第2题
答: 1,综合数据库 定义两元组:(L5, L2)
其中:0<=L5<=5,表示容量为5升的壶的当前水量。 0<=L2<=2,表示容量为2升的壶的当前水量。 2,规则集
r1:IF (L5, L2) THEN (5, L2) /* 将L5灌满水 */ r2:IF (L5, L2) THEN (L5, 2) /* 将L2灌满水 */ r3:IF (L5, L2) THEN (0, L2) /* 将L5水到光 */ r4:IF (L5, L2) THEN (L5, 0) /* 将L2水到光 */
r5:IF (L5, L2) and L5+L2<=5 THEN (L5+L2, 0) /* L2到入L5中 */
8 / 35
r6:IF (L5, L2) and L5+L2>5 THEN (5, L5+L2-5) /* L2到入L5中 */ r7:IF (L5, L2) and L5+L2<=2 THEN (0, L5+L2) /* L5到入L2中 */ r8:IF (L5, L2) and L5+L2>5 THEN (L5+L2-2, 2) /* L5到入L2中 */ 3,初始状态:(5, 0)
4,结束条件:(x, 1),其中x表示不定。当然结束条件也可以写成:(0, 1) 第3题
答: 1,综合数据库 定义三元组:(A, B, C)
其中A, B, C分别表示三根立柱,均为表,表的元素为1~N之间的整数,表示N个不同大小的盘子,数值小的数表示小盘子,数值大的数表示大盘子。表的第一个元素表示立柱最上面的柱子,其余类推。 2,规则集
为了方便表示规则集,引入以下几个函数:
first(L):取表的第一个元素,对于空表,first得到一个很大的大于N的数值。 tail(L):取表除了第一个元素以外,其余元素组成的表。 cons(x, L):将x加入到表L的最前面。 规则集:
r1: IF (A, B, C) and (first(A) < first(B)) THEN (tail(A), cons(first(A), B), C) r2: IF (A, B, C) and (first(A) < first(C)) THEN (tail(A), B, cons(first(A), C)) r3: IF (A, B, C) and (first(B) < first(C)) THEN (A, tail(B), cons(first(B), C)) r4: IF (A, B, C) and (first(B) < first(A)) THEN (cons(first(B), A), tail(B), C) r5: IF (A, B, C) and (first(C) < first(A)) THEN (cons(first(C), A), B, tail(C)) r6: IF (A, B, C) and (first(C) < first(B)) THEN (A, cons(first(C), B), tail(C)) 3,初始状态:((1,2,...,N),(),()) 4,结束状态:((),(),(1,2,...,N))
问题的状态规模: 每一个盘子都有三中选择:在A上、或者在B上、或者在C上,共N个盘子,所以共有 第4题
答: 1,综合数据库
定义5元组:(M, B, Box, On, H) 其中:
M:猴子的位置 B:香蕉的位置 Box:箱子的位置 On=0:猴子在地板上 On=1:猴子在箱子上 H=0:猴子没有抓到香蕉 H=1:猴子抓到了香蕉
种可能。即问题的状态规模为
。
9 / 35
2,规则集
r1: IF (x, y, z, 0, 0) THEN (w, y, z, 0, 0) 猴子从x处走到w处
r2: IF (x, y, x, 0, 0) THEN (z, y, z, 0, 0) 如果猴子和箱子在一起,猴子将箱子推到z处 r3: IF (x, y, x, 0, 0) THEN (x, y, x, 1, 0) 如果猴子和箱子在一起,猴子爬到箱子上 r4: IF (x, y, x, 1, 0) THEN (x, y, x, 0, 0) 如果猴子在箱子上,猴子从箱子上下来
r5: IF (x, x, x, 1, 0) THEN (x, x, x, 1, 1) 如果箱子在香蕉处,猴子在箱子上,猴子摘到香蕉 其中x, y, z, w为变量 3,初始状态 (c, a, b, 0, 0)
4,结束状态 (x1, x2, x3, x4, 1) 其中x1~x4为变量。 第5题
答: 1,综合数据库 定义四元组:(x, y, z, n)
其中x,y,x∈[0,1],1表示钱币为正面,0表示钱币为方面。n=0,1,2,3,表示当前状态是经过n次翻钱币得到的。 2,规则库
r1: IF (x, y, z, n) THEN (~x, y, z, n+1) r2: IF (x, y, z, n) THEN (x, ~y, z, n+1) r3: IF (x, y, z, n) THEN (x, y, ~z, n+1) 其中~x表示对x取反。 3,初始状态 (1, 1, 0, 0)
4,结束状态 (1, 1, 1, 3) 或者(0, 0, 0, 3) 第6题
提示:将十进制数分为整数部分和小数部分两部分。用四元组(a, b, c, d)表示综合数据库,其中a, b表示到目前为止还没有转换的十进制数的整数部分和小数部分,c, d表示已经转换得到的二进制数的整数部分和小数部分。然后根据十进制数转换二进制数的原理,分别定义整数的转换规则和小数的转换规则,一次规则的执行,转换得到二进制数的一位。 第7题
答: 设规则R的逆用R'表示。由题意有R应用于D后,得到数据库D',由可交换系统的性质, 有: rule(D)
rule(D')
其中rule(D)表示可应用于D的规则集合。
由于R'是R'的逆,所以R'应用于D'后,得到数据库D。同样由可交换系统的性质, 有: rule(D')
rule(D)
综合上述两个式子,有rule(D')=rule(D)。 第8题
答: 说明一个产生式系统是可交换的,就是要证明该产生式系统满足可交换产生式系统的三条性质。
10 / 35