人工智能课后题答案20.doc

上传人:丁** 文档编号:2877736 上传时间:2019-12-03 格式:DOC 页数:20 大小:376KB
返回 下载 相关 举报
人工智能课后题答案20.doc_第1页
第1页 / 共20页
人工智能课后题答案20.doc_第2页
第2页 / 共20页
人工智能课后题答案20.doc_第3页
第3页 / 共20页
点击查看更多>>
资源描述
第一章课后习题答案第1题答: 1,综合数据库定义三元组:(m, c, b) 其中:,表示传教士在河左岸的人数。,表示野人在河左岸的认输。,b=1,表示船在左岸,b=0,表示船在右岸。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= j or i=0) THEN (m-i, c-j, 0)r2:IF (m, c, 0) and 0= 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+L25 THEN (5, L5+L2-5) /* L2到入L5中 */ r7:IF (L5, L2) and L5+L25 THEN (L5+L2-2, 2) /* L5到入L2中 */3,初始状态:(5, 0) 4,结束条件:(x, 1),其中x表示不定。当然结束条件也可以写成:(0, 1) 第3题答: 1,综合数据库定义三元组:(A, B, C) 其中A, B, C分别表示三根立柱,均为表,表的元素为1N之间的整数,表示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:猴子抓到了香蕉 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) 其中x1x4为变量。第5题答: 1,综合数据库定义四元组:(x, y, z, n) 其中x,y,x0,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题答: 说明一个产生式系统是可交换的,就是要证明该产生式系统满足可交换产生式系统的三条性质。(1)该产生式系统以整数的集合为综合数据库,其规则是将集合中的两个整数相乘后加入到数据库中。由于原来数据库是新数据库的子集,所以原来的规则在新数据库中均可以使用。所以满足可交换产生式系统的第一条性质。(2)该产生式系统以某个整数的子集的出现为目标条件,由于规则执行的结果只是向数据库中添加数据,如果原数据库中已经满足目标了,即出现了所需要的整数子集,规则的执行结果不会破坏该整数子集的出现,因此新的数据库仍然会满足目标条件。满足可交换产生式系统的第二个性质。 (3)设D是该产生式系统的一个综合数据库。对D施以一个规则序列后,得到一个新的数据库D。该规则序列中的有些规则有些是可以应用于D的,这些规则用R1表示。有些规则是不能应用于D的,这些规则用R2表示。由于R1中的规则可以直接应用与D,所以R1中规则的应用与R2中规则的执行结果无关,也与1中其他的规则的执行无关。所以可以认为,先将R1中所有的规则对D应用,然后再按照原来的次序应用R2中的规则。因此对于本题的情况,这样得到的综合数据库与D是相同的。而由于R1中一条规则的执行与其他的规则无关,所以R1中规则的执行顺序不会影响到最终的结果。因此满足可交换产生式系统的第三个条件。因此这样一个产生式系统是一个可交换的产生式系统。第二章 课后习题第1题答: 为了方便起见,我们用(AB)()()这样的表表示一个状态。这样得到搜索图如下: 第2题提示:可定义h为:hB右边的W的数目设j节点是i节点的子节点,则根据走法不同,h(i)-h(j)的值和C(i, j)分为如下几种情况:(1)B或W走到了相邻的一个空格位置,此时: h(i)-h(j)=0, C(i,j)=1;(2)W跳过了1或2个W,此时 h(i)-h(j)=0, C(i,j)=1或2; (3)W向右跳过了一个B(可能同时包含一个W),此时: h(i)-h(j)=-1, C(i,j)=1或2;(4)W向右跳过了两个B,此时: h(i)-h(j)=-2, C(i,j)=2; (5)W向左跳过了一个B(可能同时包含一个W),此时: h(i)-h(j)=1, C(i,j)=1或2; (6)W向左跳过了两个B,此时: h(i)-h(j)=2, C(i,j)=2; (7)B跳过了1或2个B,此时 h(i)-h(j)=0, C(i,j)=1或2; (8)B向右跳过了一个W(可能同时包含一个B),此时: h(i)-h(j)=1, C(i,j)=1或2;(9)B向右跳过了两个W,此时: h(i)-h(j)=2, C(i,j)=2;(10)B向左跳过了一个W(可能同时包含一个B),此时: h(i)-h(j)=-1, C(i,j)=1或2; (11)B向左跳过了两个W,此时: h(i)-h(j)=-2, C(i,j)=2;纵上所述,无论是哪一种情况,具有:h(i)-h(j)C(i,j)且容易验证h(t)=0,所以该h是单调的。由于h满足单调条件,所以也一定有h(n)h*(n),即满足A*条件。 第3题答: 定义h1=n*k,其中n是还未走过的城市数,k是还未走过的城市间距离的最小值。 h2,其中n是还未走过的城市数,ki是还未走过的城市间距离中n个最小的距离。 显然这两个h函数均满足A*条件。 第4题提示:对于四皇后问题,如果放一个皇后的耗散值为1的话,则任何一个解的耗散值都是4。因此如果h是对该耗散值的估计,是没有意义的。对于像四皇后这样的问题,启发函数应该是对找到解的可能性的评价。比如像课上讲到的,利用一个位置放皇后后,消去的对角线的长度来进行评价。第5题答: 定义h1=M+C-2B,其中M,C分别是在河的左岸的传教士人数和野人人数。B1表示船在左岸,B0表示船在右岸。也可以定义h2=M+C。h1是满足A*条件的,而h2不满足。要说明h(n)M+C不满足A*条件是很容易的,只需要给出一个反例就可以了。比如状态(1, 1, 1),h(n)=M+C=1+1=2,而实际上只要一次摆渡就可以达到目标状态,其最优路径的耗散值为1。所以不满足A*的条件。下面我们来证明h(n)M+C-2B是满足A*条件的。我们分两种情况考虑。先考虑船在左岸的情况。如果不考虑限制条件,也就是说,船一次可以将三人从左岸运到右岸,然后再有一个人将船送回来。这样,船一个来回可以运过河2人,而船仍然在左岸。而最后剩下的三个人,则可以一次将他们全部从左岸运到右岸。所以,在不考虑限制条件的情况下,也至少需要摆渡次。其中分子上的3表示剩下三个留待最后一次运过去。除以2是因为一个来回可以运过去2人,需要个来回,而来回数不能是小数,需要向上取整,这个用符号表示。而乘以2是因为一个来回相当于两次摆渡,所以要乘以2。而最后的1,则表示将剩下的3个运过去,需要一次摆渡。化简有:再考虑船在右岸的情况。同样不考虑限制条件。船在右岸,需要一个人将船运到左岸。因此对于状态(M,C,0)来说,其所需要的最少摆渡数,相当于船在左岸时状态(M+1,C,1)或(M,C+1,1)所需要的最少摆渡数,再加上第一次将船从右岸送到左岸的一次摆渡数。因此所需要的最少摆渡数为:(M+C+1)-2+1 。其中(M+C+1)的1表示送船回到左岸的那个人,而最后边的1,表示送船到左岸时的一次摆渡。化简有:(M+C+1)-2+1=M+C。综合船在左岸和船在右岸两种情况下,所需要的最少摆渡次数用一个式子表示为:M+C-2B。其中B1表示船在左岸,B0表示船在右岸。 由于该摆渡次数是在不考虑限制条件下,推出的最少所需要的摆渡次数。因此,当有限制条件时,最优的摆渡次数只能大于等于该摆渡次数。所以该启发函数h是满足A*条件的。第6题答:题目的另一个说法是:当A*结束时,OPEN表中任何一个具有f(n)f*(s)的节点都被扩展了。用反证法证明。假设在A*结束的时候,OPEN表中有一个节点n没有被扩展,且f(n)f*(s)。A*算法每次从OPEN表中取出f值最小的节点扩展,当该节点是目标节点时,算法结束。并且由可采纳性定理,知道这时A*找到了从初始节点到目标节点的最佳路径,即f(t)=f*(s)。如果这时OPEN中存在f(n)f*(s)的节点n,由于f(n)f*(s)的节点,不会被A*所扩展。所以如果从OPEN表中去掉f(n)f*(s)的节点,不会影响A*的可采纳性。而F是f*(s)的上界范围,因此去掉f(n)F的节点也同样不会影响A*的可采纳性。第8题提示:对于8数码问题,逆向搜索和正向搜索是完全一样的,只是把目标状态和初始状态对调就可以了。第9题提示:在搜索期间改善h函数,是一种动态改变h函数的方法。像改进的A*算法中,对NEST中的节点按g值的大小选择待扩展的节点,相当于令这些节点的h0,就是动态修改h函数的一种方法。由定理6,当h满足单调条件时,A*所扩展的节点序列,其f是非递减的。对于任何节点i,j,如果j是i的子节点,则有f(i)f(j)。利用该性质,我们可以提出另一种动态修改h函数的方法:f(j)=max(f(i), f(j)以f(j)作为节点j的f值。f值的改变,隐含了h值的改变。当h不满足单调条件时,经过这样修正后的h具有一定的单调性质,可以减少重复节点的可能性。第10题提示:很多知识对求解问题有好处,这些知识并不一定要写成启发函数的形式,很多情况下,也不一定能清晰的写成一个函数的形式。为了叙述方便,我们将两个相对的扇区称为相对扇区,图中阴影部分的扇区称为阴影扇区,非阴影部分的扇区称为非阴影扇区。 由题意,在目标状态下,一个扇区的数字之和等于12,一个相对扇区的数字之和等于24,而一个阴影扇区或者非阴影扇区的数字之和为48。为此,我们可以将目标进行分解,首先满足阴影扇区的数字之和为48(这时非阴影部分的数字和也一定为48)。为了这个目标我们可以通过每次转动圆盘45o实现。在第一个目标被满足的情况下,我们再考虑第二个目标:每一个相对扇区的数字和为24。在实现这个目标的过程中,我们希望不破坏第一个目标。为此我们采用转动90o的方式实现,这样即可以调整相对扇区的数字和,又不破坏第一个目标。在第二个目标实现之后,我们就可以实现最终目标:扇区内的数字和为12。同样我们希望在实现这个目标的时候,不破坏前两个目标。为此我们采用转动180o的方式实现。这样同样是即可以保证前两个目标不被破坏,又可以实现第三个目标。 经过这样的分析以后,我们发现该问题就清晰多了。当然,是否每一个第一、第二个目标的实现,都能够实现第三个目标呢?有可能不一定。在这种情况下,就需要在发现第三个目标不能实现时,重新试探其他的第一、第二个目标。 第三章课后习题答案第1题答:此题要求按照课中例题的方式,给出算法,以下是每个循环结束时的搜索图。上面这种做法比较简单,也可以如下做:第2题从该搜索图可以看出,无论先走者选择哪个走步,后走者都可以走到标记为A的节点,该节点只剩下一枚钱币,所以先走者必输。 对于一般的具有n个钱币的情况,当n4m1时,后走者存在取胜策略。因为后走者可以根据先走者的走法,选择自己的走法,使得双方拿走的钱币数为4,这样经过m个轮回后,共拿走了4m个钱币,只剩下了一枚钱币,而此时轮到先走者走棋。所以在这种情况下,后走者存在取胜的策略。 对于钱币数不等于4m1的情况,先走者可以根据实际的钱币数选择取走的钱币数,使得剩下的钱币数为4m1个,此时先走者相当于4m1个钱币时的后走者了。因此在这种情况下,先走者存在获胜的策略。第3题答:第四章课后习题答案第1题答:(1)(x)P(x)P(x)(x)P(x)P(x)P(x)P(x)(2)(x)P(x)(x)P(x) (x)P(x)(x)P(x) (x)P(x)(y)P(y)(x)(y)P(x)P(y) P(x)P(f(a) (3)(x)P(x)(y)P(y)P(f(x,y)(y)Q(x,y)P(y)(x)P(x)(y)P(y)P(f(x,y)(y)Q(x,y)P(y)(x)P(x)(y)P(y)P(f(x,y)(y)Q(x,y)P(y)(x)P(x)(y)P(y)P(f(x,y)(z)Q(x,z)P(z)(x)P(x)(y)P(y)P(f(x,y)(z)Q(x,z)P(z)(x)P(x)(y)P(y)P(f(x,y)(z)Q(x,z)P(z) (x)(y)(z)P(x)P(y)P(f(x,y)Q(x,z)P(z)(x)(y)(z)P(x)P(y)Q(x,z)P(z)P(f(x,y)Q(x,z)P(z) P(a)P(b)Q(a,z)P(z)P(f(a,b)Q(a,z)P(z)P(a), P(b)Q(a,z1)P(z1), P(f(a,b)Q(a,z2)P(z2) (4)(x)(y)P(x,y)Q(y,x)Q(y,x)S(x,y)(x)(y)P(x,y)S(x,y) (x)(y)P(x,y)Q(y,x)Q(y,x)S(x,y)(x)(y)P(x,y)S(x,y) (x)(y)P(x,y)Q(y,x)Q(y,x)S(x,y)(u)(v)P(u,v)S(u,v)(x)(y)P(x,y)Q(y,x)Q(y,x)S(x,y)(u)(v)P(u,v)S(u,v) (x)(y)P(x,y)Q(y,x)Q(y,x)S(x,y)(u)(v)P(u,v)S(u,v) (x)(y)(u)(v)P(x,y)Q(y,x)Q(y,x)S(x,y)P(u,v)S(u,v) (x)(y)(u)(v)P(x,y)Q(y,x)P(x,y)S(x,y)Q(y,x)S(x,y)P(u,v)S(u,v) (x)(y)(u)(v)P(x,y)Q(y,x)P(u,v)S(u,v)P(x,y)S(x,y)P(u,v)S(u,v)Q(y,x)S(x,y)P(u,v)S(u,v)P(a,y)Q(y,a)P(f(y),v)S(f(y),v)P(a,y)S(a,y)P(f(y),v)S(f(y),v)Q(y,a)S(a,y)P(f(y),v)S(f(y),v) P(a,y1)Q(y1,a)P(f(y1),v)S(f(y1),v), P(a,y2)S(a,y2)P(f(y2),v2)S(f(y2),v2), Q(y3,a)S(a,y3)P(f(y3),v3)S(f(y3),v3) 第2题答:设有两个置换s1=a/x和s2=x/y,合适公式P(x, y)。则:P(x, y)s1s2=P(a, x)P(x, y)s2s1=P(a, a) 二者不相等。所以说,置换的合成是不可交换的。 第3题答:A/x, A./y, A/z, A/w, A/u第4题答: (1)P(f(x,x),A),P(f(y,f(y,A),A) 在合一时,f(x,x)要与f(y,f(y,a)进行合一,x置换成y后,y要与f(y,a)进行合一,出现了嵌套的情况,所以不能进行合一。 (2)P(A),P(x)一个是谓词P,一个是P的反,不能合一。 (3)P(f(A),x),P(x,A)在合一的过程中,x置换为f(A),而f(A)与A不能合一。 第6题答: (1)(x)P(x)P(A)P(x)P(B)目标取反化子句集:(x)P(x)P(A)P(x)P(B) (x)P(x)P(A)P(x)P(B) (x)P(x)P(A)P(x)P(B) (x)P(x)P(A)P(x)P(x)P(A)P(B)(x)P(x)P(A)P(x)P(x)P(B)P(A)P(B)P(x)P(A)P(x)P(x)P(B)P(A)P(B)得子句集:1, P(x1)2, P(A)Px2 3, P(x3)P(B)4, P(A)P(B)(2)(z)Q(z)P(z)(x)Q(x)P(A)Q(x)P(B)目标取反化子句集:(z)Q(z)P(z)(x)Q(x)P(A)Q(x)P(B)(z)Q(z)P(z)(x)Q(x)P(A)Q(x)P(B)(z)Q(z)P(z)(x)Q(x)P(A)Q(x)P(B)(z)(x)Q(z)P(z)Q(x)P(A)Q(x)P(B)(z)(x)Q(z)P(z)Q(x)Q(x)P(B)P(A)Q(x)P(A)P(B)Q(z)P(z)Q(x)Q(x)P(B)P(A)Q(x)P(A)P(B) 得子句集: 1, Q(z)P(z)2, Q(x2) 3, Q(x3)P(B) 4, P(A)Q(x4) 5, P(A)P(B) (3)(x)(y)P(f(x)Q(f(B)P(f(A)P(y)Q(y)目标取反化子句集:(x)(y)P(f(x)Q(f(B)P(f(A)P(y)Q(y) (x)(y)P(f(x)Q(f(B)P(f(A)P(y)Q(y) ( x)( y)P(f(x)Q(f(B)P(f(A)P(y)Q(y)P(f(x)Q(f(B)P(f(A)P(y)Q(y) 得子句集:1,P(f(x1)2,Q(f(B) 3,P(f(A)P(y3)Q(y3)(4)(x)(y)P(x,y)(y)(x)P(x,y)目标取反化子句集:(x)(y)P(x,y)(y)(x)P(x,y)(x)(y)P(x,y)(y)(x)P(x,y) (x)(y)P(x,y)(v)(u)P(u,v)(x)(y)P(x,y)(v)(u)P(u,v) (x)(y)(v)(u)P(x,y)P(u,v)P(a,y)P(u,f(y)得子句集:1,P(a,y1) 2,P(u,f(y2) (5)(x)P(x)Q(A)Q(B)(x)P(x)Q(x) 目标取反化子句集:(x)P(x)Q(A)Q(B)(x)P(x)Q(x)(x)P(x)Q(A)Q(B)(x)P(x)Q(x) (x)P(x)Q(A)Q(B)(x)P(x)Q(x)(x)P(x)Q(A)Q(B)(y)P(y)Q(y) (x)(y)P(x)Q(A)Q(B)P(y)Q(y) P(x)Q(A)Q(B)P(y)Q(y)得子句集:1,P(x) 2,Q(A)Q(B) 3,P(y)Q(y) 第7题答: (1)将(x)P(x)取反化为子句:(x)P(x) =( x)P(x)与条件P(A1)P(A2)合在一起得子句集:P(x), P(A1)P(A2)所以,公式(x)P(x)是P(A1)P(A2)的逻辑推论。(2)对于(x)P(x)的Skolem形,即P(A),取反后为P(A),与条件P(A1)P(A2)合在一起得子句集:P(A), P(A1)P(A2) 该子句集不能进行归结,故P(A)不是P(A1)P(A2)的逻辑推论。 第8题答: 该问题用谓词公式描述如下: 已知: (1)(x)Food(x)Like(John, x)(2)Food(Apple)(3)(x)(y)Eat(y, x)Kill(x, y)Food(x) (4)Eat(Bill, Peanut)Kill(Penut, Bill) (5)(x)Eat(Bill, x)Eat(Sue, x)目标1:Like(John, Peanut)目标2:(x)Food(x)Eat(Sue, x) 已知条件化子句集: (1)(x)Food(x)Like(John, x)= (x)Food(x)Like(John, x) = Food(x)Like(John, x) (2)Food(Apple) (3)(x)(y)Eat(y, x)Kill(x, y)Food(x)= (x)(y)Eat(y, x)Kill(x, y)Food(x) = (x)(y)Eat(y, x)Kill(x, y)Food(x) = Eat(y, x)Kill(x, y)Food(x) (4)Eat(Bill, Peanut)Kill(Penut, Bill)= Eat(Bill, Peanut), Kill(Penut, Bill) (5)(x)Eat(Bill, x)Eat(Sue, x)= (x)Eat(Bill, x)Eat(Sue, x) = Eat(Bill, x)Eat(Sue, x) 目标1取反化子句集:Like(John, Peanut) 目标2取反化子句集:(x)Food(x)Eat(Sue, x) = (x)Food(x)Eat(Sue, x) = Food(x)Eat(Sue, x) 对于目标1,经变量换名后,得子句集:Food(x1)Like(John, x1),Food(Apple),Eat(y2, x2)Kill(x2, y2)Food(x2),Eat(Bill, Peanut), Kill(Penut, Bill), Eat(Bill, x3)Eat(Sue, x3), Like(John, Peanut) 归结树如下:对于目标2,经变量换名后,得子句集:Food(x1)Like(John, x1),Food(Apple),Eat(y2, x2)Kill(x2, y2)Food(x2),Eat(Bill, Peanut), Kill(Penut, Bill), Eat(Bill, x3)Eat(Sue, x3), Food(x)Eat(Sue, x) 归结树如下:修改证明树如下:得到解答为:Food(Peanut)Eat(Sue, Peanut) 第9题答: 该归结过程存在错误。其原因是由于不同的子句用了相同的变量名引起的。如上图中A、B两个子句的归结,两个子句中的y应该是不同的变量,在归结时,如果用不同的变量分别表示,就不会出现这样的问题了。比如B中的y用y1代替,则归结结果如下: 第10题答: 化子句集:(u)LAST(cons(u,NIL),u) = LAST(cons(u,NIL),u)(x)(y)(z)(LAST(y,z)LAST(cons(x,y),z)= (x)(y)(z)(LAST(y,z)LAST(cons(x,y),z)= LAST(y,z)LAST(cons(x,y),z)目标取反: (v)LAST(cons(2,cons(1,NIL),v)=(v)LAST(cons(2,cons(1,NIL),v)= LAST(cons(2,cons(1,NIL),v)经变量换名后,得子句集:LAST(cons(u,NIL),u), LAST(y,z)LAST(cons(x,y),z), LAST(cons(2,cons(1,NIL),v)归结树如下:修改证明树:得到解答:LAST(cons(2,cons(1,NIL),1),表cons(2,cons(1,NIL)的最后一个元素为1。通过以上归结过程,我们可以看出,该方法求解长表的最后一个元素的方法是,每次将长表去掉第一个元素,直到最后得到了只有一个元素的表,该元素就是长表的最后一个元素。 第12题答: 我们用Skier(x)表示x是滑雪运动员,Alpinist(x)表示x是登山运动员,Alpine(x)表示x是Alpine俱乐部的成员。问题用谓词公式表示如下:已知:(1) Alpine(Tony) (2) Alpine(Mike) (3) Alpine(John) (4) ( x)Alpine(x)Skier(x)Alpinist(x) (5) ( x)Alpinist(x)Like(x, Rain)(6) ( x)Like(x, Snow) Skier(x) (7) ( x)Like(Tony, x)Like(Mike, x) (8) ( x)Like(Tony, x)Like(Mike, x) (9) Like(Tony, Snow) (10) Like(Tony, Rain) 目标:(vx)Alpine(x)Alpinist(x)Skier(x) 化子句集:(1) Alpine(Tony)(2) Alpine(Mike) (3) Alpine(John) (4) ( x)Alpine(x)Skier(x)Alpinist(x) = ( x)Alpine(x)Skier(x)Alpinist(x) =Alpine(x)Skier(x)Alpinist(x) (5) ( x)Alpinist(x)Like(x, Rain) = ( x)Alpinist(x)Like(x, Rain) =Alpinist(x)Like(x, Rain)(6) ( x)Like(x, Snow) Skier(x) = ( x)Like(x, Snow) Skier(x) = Like(x, Snow) Skier(x)(7) ( x)Like(Tony, x)Like(Mike, x) = ( x)Like(Tony, x)Like(Mike, x) =Like(Tony, x)Like(Mike, x) (8) ( x)Like(Tony, x)Like(Mike, x) = ( x)Like(Tony, x)Like(Mike, x) = Like(Tony, x)Like(Mike, x)(9) Like(Tony, Snow) (10) Like(Tony, Rain) 目标取反:(vx)Alpine(x)Alpinist(x)Skier(x)= ( x)Alpine(x)Alpinist(x)Skier(x) =Alpine(x)Alpinist(x)Skier(x)经变量换名后,得到子句集: Alpine(Tony), Alpine(Mike), Alpine(John), Alpine(x1)Skier(x1)Alpinist(x1), Alpinist(x2)Like(x2, Rain), Like(x3, Snow) Skier(x3), Like(Tony, x4)Like(Mike, x4), Like(Tony, x5)Like(Mike, x5), Like(Tony, Snow), Like(Tony, Rain), Alpine(x)Alpinist(x)Skier(x) 归结树如下:第13题答: 状态草图:知识的谓词表示:(x)(y)BIG(x)BLUE(x)ON(x, y)GREEN(y) (x)HEAVY(x)WOODEN(x)BIG(x) (x)CLEAR(x)BLUE(x) (x)WOODEN(x)BLUE(x) 目标:(x)(y)GREEN(y)ON(x, y) 对规则Skolem化,对目标用对偶形式Skolem化后,整理得:事实:ONTABLE(A) CLEAR(E)ONTABLE(C) CLEAR(D)ON(D,C) HEAVY(D)ON(B,A) WOODEN(B)HEAVY(B) ON(E,B)规则:r1:BIG(x1)BLUE(x1)ON(x1,f(x1)r2:BIG(x2)BLUE(x2)GREEN(f(x2)r3:HEAVY(x3)WOODEN(x3)BIG(x3) r4:CLEAR(x4)BLUE(x4) r5:WOODEN(x5)BLUE(x5)目标:GREEN(y)ON(x, y) 容易验证,只有一个解图是一致的,其合一复合为:B/x, f(B)/y 带入目标公式,得到解答:GREEN(f(B)ON(B, f(B)其含义是,积木B在绿色积木上边。这里的f(B)可以理解为B下面那个积木。 20
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!