人工智能常见问题及解答.pdf
人工智能课后习题答案人工智能课后习题答案第一章第一章绪论绪论1.1 答:人工智能就是让机器完成那些如果由人来做则需要智能的事情的科学。人工智能是相对于人的自然智能而言,即用人工的方法和技术,研制智能机器或智能系统来模仿延伸和扩展人的智能,实现智能行为和“机器思维”,解决需要人类专家才能处理的问题。1.2 答:“智能”一词源于拉丁“LegereLegere”,意思是收集、汇集,智能通常用来表示从中进行选择、理解和感觉。所谓自然智能就是人类和一些动物所具有的智力和行为能力。智力是针对具体情况的,根据不同的情况有不同的含义。“智力”是指学会某种技能的能力,而不是指技能本身。1.3 答:专家系统是一个智能的计算机程序,他运用知识和推理步骤来解决只有专家才能解决的复杂问题。即任何解题能力达到了同领域人类专家水平的计算机程序度可以称为专家系统。1.4 答:自然语言处理语言翻译系统,金山词霸系列机器人足球机器人模式识别Microsoft Cartoon Maker博弈围棋和跳棋第二章第二章 知识表达技术知识表达技术2.1 解答:(1)状态空间(State Space)是利用状态变量和操作符号,表示系统或问题的有关知识的符号体系,状态空间是一个四元组(S,O,S0,G):S状态集合;O操作算子集合;S0初始状态,S0S;G目的状 态,GS,(G 可若干具体状态,也可满足某些性质的路径信息描述)从 S0 结点到 G 结点的路径被称为求解路径。状态空间一解是一有限操作算子序列,它使初始状态转换为目标状态:O1O2O3OkS0S1S2G其中 O1,Ok 即为状态空间的一个解(解往往不是唯一的)(2)谓词逻辑是命题逻辑的扩充和发展,它将原子命题分解成客体和谓词两个部分。与命题逻辑中命题公式相对应,谓词逻辑中也有谓词(命题函数)公式、原子谓词公式、复合谓词公式等概念。一阶谓词逻辑是谓词逻辑中最直观的一种逻辑。(3)语义网络是一种采用网络形式表示人类知识的方法。即用一个有向图表示概念和概念之间的关系,其中节点代表概念,节点之间的连接弧(也称联想弧)代表概念之间的关系。常见的语义网络形式有命题语义网络、数据语义网络:E-R 图(实体-关系图)、语言语义网络等。12.2 解答:(1)GSISAMANAREMORTALFISAISAA动 作对象ISAHgM动 作主体(2)GSISACLOUDHASLININGSILVERFISAC动 作主体ISAH动 作对象ISAWcolorg(3)MANAGERISABRANCHDECPLANISAPROFIT-SHARINGPARTICIPATEPLANbelongGSISAMANAGERSFISAISAP动 作对象SISAgM动 作主体22.3 解答:设有如下四个谓词:HUMAN(X)X 是人LAWED(X)X 受法律管制COMMIT(X)X 犯法PUNISHED(X)X 受法律制裁前两个谓词可以变为:HUMAN(X)LAWED(X),表示:人人都要受法律的管制;后两个谓词可以变为:COMMIT(X)PUNISHED(X),表示只要 X 犯了罪,X 就要受到惩罚;进一步,还可以把上述两个谓词联结成如下形式:HUMAN(X)LAWED(X)COMMIT(X)PUNISHED(X)本公式的含义是:如果由于某个 X 是人而受到法律管制,则这个人犯了罪就一定要受到惩罚。晁盖是人,受法律的管制(老百姓受法律的管制);所以晁盖劫了生辰纲,违反了宋王朝的法律,一定要受到官府的追究。高衙内是人,却不受法律的管制(达官贵人和恶少不受法律的管制);所以高衙内强抢民女,同样是违反了宋王朝的法律,却可以横行无忌。2.4 解答:题中提供的条件可记为,依次利用这些条件可得到如下结果:(1)条件:周和钱是同一性别;推得:李、徐、周、钱是同一性别条件:李、徐、周是同一性别;条件:李的爱人是陈的爱人的表哥,则李的爱人性别是男,而李的性别是女这样可以初步推出:李、徐、周、钱均是女的,对应的王、陈、孙、吴均是男的。(2)条件:陈与徐、周俊不构成夫妻,则陈选择的余地为钱或李;推得:陈与钱是夫妻条件:李与陈不构成夫妻;条件:吴与徐、周均不构成夫妻,则吴选择的余地为李;推得:吴与李是夫妻条件:王与周不构成夫妻,则王选择的余地为徐;推得:王与徐是夫妻排除上述已经成立的条件,显然可推得:孙与周是夫妻。2.5 解答:符号微积分基本公式为baf(x)F(b)F(a)F(x)|ba用产生式表示为:If f(x)and(a,b)Then F(b)-F(a)2.6 解答:题中描述的情况用谓词形式可表达如下:DOG(X)X 是狗SOUND(X)X 会吠叫BIT(X,Y)X 咬 YANIMAL(X)X 是动物题中各条推理则可以表示为:P1:x DOG(X)yBIT(X,Y)SOUND(X)P2:x(ANIMAL(X)SOUND(X))yBIT(X,Y)P3:猎犬是狗,即 DOG(X)种 X 的谓词样品是猎犬,同时也可得ANIMAL(猎犬)将 P3 带入 P1 可得 SOUND(猎犬),再将 SOUND(猎犬)和 ANIMAL(猎犬)带入 P2 可得3yBIT(猎犬,Y),即可以得到结果:猎犬是咬人的。2.7 解答:题中的三条规则侧重点不同:R1 规则的重点在于我师的任务;R2 规则的重点在于敌团的配置;R3 规则的重点在于我师的任务和敌团的配置同时满足。它们之间的关系为R1 R2 R3。所以根据冲突解决规则中的规模排序,可知首先应该选择规则R3,系统执行才最有效。2.8 解答:鸵鸟非是ISAZ动 作主体ISA知更鸟ISACLYDECL-1I动 作对象鸟ISAB会ISAC飞ISAFHNISATIMEISA占有巢STAISA春天ISA到ISA秋天2.9 解答:(1)摇动 作主体动 作对象动 作方式海浪战舰轻轻地4(2)52.10 解答:TBTD工业技术自动化技术、图书馆框架AB TZ一般工业技术矿业工程书名作者TP计算机技术TV水利工程ISBN出版时间出版社2.11 解答:在产生式系统中,随着产生式规则的数量的增加,系统设计者难以理解规则间的相互作用,究其原因,在于每条规则的自含性使得知识表示的力度过于细微。因此要提高产生式系统的可理解性,就应当按照软件工程的思想,通过对规则的适当划分,将规则组织诚易于管理的功能模块。由于框架系统具有组织成块知识的良好特性,因此将两者进行有机结合,可以为产生式系统的开发、调试和管理提供有益的帮助。基于框架的表示机制可以用作产生式语言和推理机制设计的一个重要构件。另外,框架可以直接用于表示规则,如果将每一个规则作为一个框架处理,一组用于解决特定问题的规则可组织成一类,且在这一类框架中表示这组规则的各种特性。2.12 解答:略2.13 解答:(1)题目描述可转换为如下问题(N 阶汉诺塔问题)有编号为 A、B、C 的三个柱子和标识为 1、2、N 的尺寸依次从小到大的 N 个有中心孔的金片;初始状态下N 个金片按 1、2、N 顺序堆放在 A 号柱子上,目标状态下N 个金片以同样次序顺序堆放在 B 号柱子上,金片的搬移须遵守以下规则:每次只能搬一个金片,且较大金片不能压放在较小金片之上,可以借助于C 针。(2)假设基本操作为 move(x,A,C,B),表示将 x 个金片从 A 移到 B 上,中间可借助于 C。当 N=1 时,则无需借助中间的 C 针,就可以直接实现将 1 个金片从 A 移到 B 上,这也是问题的最简操作,可表示为move-one(1,A,B);当 N1 时,需要用中间的C 针作辅助。其操作又可分为以下三步:将 N-1 个金片从A 移到 C 上,中间可借助于B,转换为基本操作就是move(N-1,A,B,C);将 1 个金片直接从 A 移到 B 上,转换为基本操作就是move-one(1,A,B);将 N-1 个金片从 C 移到 B 上,中间可借助于A,转换为基本操作就是move(N-1,C,A,B);6这样,就将问题的规模减小为N-1,依次递归求解就可以得到相应的结果。(3)设M(x)表示移动 x 个金片所需要的操作次数,则上述N 阶汉诺塔问题可以表示成如下形式:M(1)=1M(N)=2M(N-1)+1N最后可以解得 M(N)=2-1下面给出对梵塔问题给出产生式系统描述,并讨论N 为任意时状态空间的规模。(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 个盘子,所以共有种可能。即问题的状态规模为。2.14 解答:(1)定义谓词 G(x,y):x 比 y 大,个体有张三(zhang)、李四(li),将这些个体带入谓词中,得到 G(zhang,li)和G(zhang,li),根据语义用逻辑连接词将它们联结起来就得到表示上述知识的谓词公式:G(zhang,li)G(zhang,li)。(2)定义谓词 Marry(x,y):x 和 y 结婚,Male(x):x 是男的,Female(x):x 是女的。个体有甲(A)、乙(B),将这些个体带入谓词中,得到 Marry(A,B)、Male(A)、Female(B)以及 Male(A)、Female(B),根据语义用逻辑连接词将它们联结起来就得到表示上述知识的谓词公式:Marry(A,B)(Male(A)Female(B)(Male(B)Female(A)(3)定义谓词Honest(x):x 是诚实的,Lying(x):x 会说谎。个体有张三(zhang),将这些个体带入谓词中,得到Honest(x)、Lying(x)、Lying(zhang)、Honest(zhang),根据语义用逻辑连接词将它们联结起来就得到表示上述知识的谓词公式:x(Honest(x)Lying(x)(Lying(zhang)7Honest(zhang)第三章第三章问题求解方法问题求解方法3.1 答:深度优先搜索与广度优先搜索的区别在于:在对节点n 进行扩展时,其后继节点在OPEN 表中的存放位置不同。广度优先搜索是将后继节点放入OPEN 表的末端,而深度优先搜索则是将后继节点放入 OPEN 表的前端。广度优先搜索是一种完备搜索,即只要问题有解就一定能够求出,而深度优先搜索是不完备搜索。在不要求求解速度且目标节点的层次较深的情况下,广度优先搜索优于深度优先搜索;在要求求解速度且目标节点的层次较浅的情况下,深度优先搜索优于广度优先搜索。广度优先的正例:积木问题;深度优先的正例:邮递员问题,反例:国际象棋。3.2 答:衡量标准为:这组子状态中有没有目标状态,如果有,则选择该节点并且搜索成功;若没有,则按照某种控制策略从已生成的状态中再选择一个状态作为当前状态重复搜索过程。3.3 答:(1)广度优先搜索:该程序必须找到解,并且最好是最优解;(2)广度优先搜索:医生要根据病人的各种病状判断病人的病;(3)深度优先搜索:该程序要求一定要找到目标路径;(4)深度优先搜索:该程序要求找到最优解;(5)广度优先搜索:不能确定它们是否等同,既不能确定它们是否有等同解。3.4 答:对于四皇后问题,如果放一个皇后的耗散值为1 的话,则任何一个解的耗散值都是4。因此如果 h 是对该耗散值的估计,是没有意义的。对于像四皇后这样的问题,启发函数应该是对找到解的可能性的评价。利用一个位置放皇后后,消去的对角线的长度来进行评价。3.5 答:定义 h1=M+C-2Bh1=M+C-2B,其中 M,C 分别是在河的左岸的传教士人数和野人人数。B1表示船在左岸,B0 表示船在右岸。也可以定义h2=M+Ch2=M+C。h1 是满足 A*条件的,而 h2 不满足。要说明 h2M+C 不满足 A*条件是很容易的,只需要给出一个反例就可以了。比如状态(1,1,1),h2=M+C=1+1=2,而实际上只要一次摆渡就可以达到目标状态,其最优路径的耗散值为 1。所以不满足 A*的条件。下面我们来证明 h1M+C-2B 是满足 A*条件的。我们分两种情况考虑。先考虑船在左岸的情况。如果不考虑限制条件,也就是说,船一次可以将三人从左岸运到右岸,然后再有一个人将船送回来。这样,船一个来回可以运过河2 人,而船仍然在左岸。而最后剩下的三个人,则可以一次将他们全部从左岸运到右岸。所以,在不考虑限制条件的情况下,也至少需要摆渡次。其中分子上的3表示剩下三个留待最后一次运过去。除以2是因为一个来回可以运过去2 人,需要个来回,而来回数不能是小数,需要向上取整,这个用符号表示。而乘以2是因为一个来回相当于两次摆渡,所以要乘以2。而最后的1,则表示将剩下的 3 个运过去,需要一次摆渡。化简有:8再考虑船在右岸的情况。同样不考虑限制条件。船在右岸,需要一个人将船运到左岸。因此对于状态(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*条件的。3.6 答:在搜索期间改善h 函数,是一种动态改变 h 函数的方法。像改进的A*算法中,对NEXT 中的节点按 g 值的大小选择待扩展的节点,相当于令这些节点的h0,就是动态修改 h 函数的一种方法。由定理 2:若 h(n)满足单调限制,则由 A*所扩展的节点序列,其 f 值是非递减的,即f(ni)f(nj)),当 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 具有一定的单调性质,可以减少重复节点的可能性。3.7 答:6AB7531658CD4E2像这种类型的问题,由于涉及到城市距离或旅行费用,所以利用代价树广度优先搜索求解。为此,首先必须将旅行交通图转换为代价树,转换方法为:从初始节点A 开始,把与它直接相邻的节点作为他的后继节点,对其他节点也作同样的扩展,但若一个节点以作为某节点的前驱节点,则它就不能再作为该结点的后继结点。另外,图中节点除了初始节点A之外,其它的节点都有可能在代价树中多次出现,为了区分它们的多次出现,分别用下标1,2标出。但他们却是图中的同一个节点。设估价函数f(n)=d(n)+w(n),其中 d(n)为状态的深度,w(n)为城市间的距离。代价树如下所示:9(10)AB1(7)C1(2)D1(6)E1(8)B2(8)D2(10)E2(4)B3(6)D3(8)D4(8)ACEBDA定义h1=n*k,其中n是还未走过的城市数,k是还未走过的城市间距离的最小值。h2,其中 n 是还未走过的城市数,ki 是还未走过的城市间距离中n 个最小的距离。显然这两个h 函数均满足 A*条件。3.8 答:可定义 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.9 答:10(),(),(),(),()(1)(S,S),S,(S,S)(2)(A,A),A,(A,A)(3)(A),A,(A)(4)(S,A,S)(2)(A,A,A)(3)(A,A)(3)(A)3.10 答:(4)(1)(1)余一棋的弈法余一棋的弈法如下:两棋手可以从5 个钱币堆中轮流拿走一个、两个或三个钱币,拣起最后一个钱币者算输。试通过博弈证明,后走的选手必胜,并给出一个简单的特征标记来表示取胜策略。为了方便起见,用(AB)()()这样的表表示一个状态。这样得到搜索图如下:(2)(2)八数码问题八数码问题空格:Up,Left,Down,Right113.11 答:(1)与与/或图的解图:或图的解图:那些可解结点的子图,包含一结点到目的结点集的、连通的可解结点的子图。在问题的完整的隐含图中扩展生成出包含初始结点和目的结点集合的连通的明显子图。(2)算法算法 AO*AO*:必须对当前已生成出的与或图中的所有结点实施其每解点是否为可解结点的标注过程,如果起始结点被标注为可解的,则搜索过程可成功地结束;如果起始结点还不能被标注为可解的,则应当继续扩展生成结点(尽可能地记录,所有生成的结点中,哪些结点被标注了可解的,以便减少下一次标注过程的工作量);同样地,对不可解结点也同样如此。利用结点的可解/不可解性质,能从搜索图中删去可解结点的任何不可解结点的子结点;同样地,能删去不可解结点的所有的子结点(搜索这些被删除的结点是没有意义的,而只会降低搜索的效率)。两个主要过程的反复:自上而下的图生长过程,并通过跟踪有标记的连接符寻找一个候选局部解图自下而上的估价函数值的修正、连接符的标记和SOLVED的标注过程(3)3.12 答:此题要求按照课中例题的方式,给出算法,以下是每个循环结束时的搜索图。上面这种做法比较简单,也可以如下做:123.13 答:略3.14 答:博弈搜索通常被限制在一定的范围,搜索的目标是确定一步好的走法(好棋),等对手回手后,再继续搜索。因此,博弈搜索过程总是由当前状态向目标状态搜索,而不是由目标状态向当前状态搜索。这类博弈的实例有西洋跳棋等。3.15 答:8(3,0,8)(7,8,3)、(0,6)、(8,9)(7,6)、(8,6,5)、(2,3)、(0,-2)、(6,2)、(5,8)、(9,2)1388(3,0,8)869583.16 答:见上图3.17 答:略3.18 答:剪裁算法.剪裁若极小层的(先辈层)则中止这个 MAX 以下的搜索算法如下:double alphabeta(int depth,double alpha,double beta,Position p);/*alpha 是 MAX 的当前值beta 是 MIN 的当前值,depth是在搜索树中的深度,p 是所求结点的位置*/double t;if(depth=0)return evaluate(p);/*如果 P 是叶结点,算出 P 的值*/for(i=1;i alpha&MAX)if(t beta)returnt;/*直接返回*/elsealpha=t;if(talpha&MIN)if(tAlpine(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)目标取反:(x)Alpine(x)Alpinist(x)Skier(x)17=(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)归结树如下:4.10 答:基于规则的演绎推理可分为正向演绎推理、反向演绎推理和正反向混合演绎推理。在正向演绎推理正向演绎推理中,作为 F 规则用的蕴含式对事实的总数据库进行操作运算,直至得到该目标公式的一个终止条件为止。事实目标公式在反向演绎推理反向演绎推理中,作为 B 规则用的蕴含式对目标的总数据库进行操作运算,直至得到包含这些事实的终止条件为止。目标公式事实4.11 答:第五章第五章 不精确推理不精确推理5.1 答:不精确推理是建立在非经典逻辑基础上的一种推理,是基于不确定性知识的推理。不精确推理就是从不确定性的初始事实(证据)出发,通过运用不确定性的知识,最终推出具有一定程度的不确定性却是合理或者近乎合理的结论的思维过程。在不精确推理中,知识和证据都具有不确定性,这为推理机的设计与实现增加了复杂度和难度。它除了必须解决推理方向、推理方法和控制策略等基本问题外,一般还需要解决不确定性的表示、不确定性的匹配和不确定性的更新算法等问题。185.2 答:有明确定义但不一定出现的事件中包含的不确定性称为随机性,他不因人的主观意思变化,由事物本身的因果律决定。不精确推理就是表示和处理随机性的推理方法。5.3 答:(1)当有一个证据 E1 时,根据 Bayes 公式,可得P(H1)P(E1|H1)P(H|E1)=P(H1)P(E|H1)P(H2)P(E1|H2)P(H3)P(E1|H3)=0.4*0.5/(0.4*0.5+0.3*0.3+0.3*0.5)=0.2/0.44=0.45同理可得:P(H|E2)=0.09/0.44=0.20P(H|E3)=0.15/0.44=0.34这说明,由于证据 E1 的出现,H1 和 H3 成立的可能性有所增加,而 H2 成立的可能性有所下降。(2)当证据 E1、E2 同时出现时,根据多证据情况下的Bayes 公式,可得P(E|H1)P(E2|H1)P(H1)P(H1|E|E2)P(E|H1)P(E2|H1)P(H1)P(E1|H2)P(E2|H2)P(H2)P(E1|H3)P(E2|H3)P(H3)=0.14/(0.14+0.162+0.009)=0.59同理可得:P(H2|E|E2)0.34P(H3|E|E2)0.064这说明,由于证据E1 和 E2 的出现,H1 和 H2 成立的可能性有不同程度的增加,而H3成立的可能性则有了较大幅度的下降。5.4 答:LSLS 为规则的充分性量度,它反映 E 的出现对 H 的支持程度。当 LS=1 时,O(H|E)=O(H),说明 E 对 H 没有影响;当 LS1 时,O(H|E)O(H),说明 E 支持 H,且 LS 越大,E 对 H 的支持越充分,若 LS 为,则 E 为真时 H 就为真;当 LS1 时,O(H|E)1 时,O(H|E)O(H),说明E支持 H,且 LN 越大,E 对 H 的支持越充分,若 LN 为,则 E 为真时 H 就为真;当 LN1时,O(H|E)1且LN1情形2:LS1情形3:LS=LN=15.5 答:5.6 答:根据经验对一个事物或现象为真的相信程度称为可信度。19规则的一般形式为:IFETHENH(CF(H,E))。其中,CF(H,E)是该规则的可信度,称为可信度因子或规则强度。CF(H,E)在-1,1上取值,它表示在已知证据E 的情况下对假设 H 为真的支持程度。CF(H,E)定义如下:CF(H,E)=MB(H,E)MD(H,E)。其中,MBMB(Measure Belief)称为信任增长度,表示因证据E 的出现而增加对假设H 为真的信任增加程度MB(H,E)0P(H|E)P(H);MDMD(Measure Disbelief)称为不信任增长度,表示因证据E 的出现对假设 H为假的信任减少的程度MD(H,E)0P(H|E)P(H)。5.7 答:R2R2E E2 2H HR1R1E E1 1R3R3R4R4E E5 5R5R5E E3 3ORORE E6 6E E7 7ANDANDE E4 4(1)求证据 E3、E4 逻辑组合的可信度CF(E3 AND E4)=minCF(E3),CF(E4)=min0.5,09=0.8(2)根据规则 R3 求 CF(E1)CF(E1)=0.9max0,CF(E3 AND E4)=0.90.8=0.72(3)求证据 E6、E7 逻辑组合的可信度CF(E6 OR E7)=maxCF(E6),CF(E7)=max0.1,0.5=0.5(4)根据规则 R5 求 CF1(E2)CF1(E2)=-0.3max0,CF(E6 OR E7)=-0.30.5=-0.15(5)根据规则 R4 求 CF2(E2)CF2(E2)=0.7max0,CF(E5)=0.70.8=-0.56(6)根据规则 R5 求 CF1(E2)CF1(E2)=-0.3max0,CF(E6 OR E7)=-0.30.5=-0.15(7)组合由独立证据导出的假设 E2 的可信度 CF1(E2)、CF2(E2),得到 E2 的综合可信度CF(E2)CF(E2)=CF1(H)+CF2(H)=0.56-0.15=0.41(8)根据规则 R1 求 CF1(H1)CF1(H1)=0.8max0,CF(E1)=0.80.72=-0.576(8)根据规则 R2 求 CF2(H1)CF2(H1)=0.9max0,CF(E2)=0.90.41=-0.36920(9)组合由独立证据导出的假设H1 的可信度 CF1(H1)、CF2(H1),得到 H1 的综合可信度CF(H1)CF(H)=CF1(H)+CF2(H)-CF1(H)CF2(H)=0.576+0.369-0.5760.369=0.7235.8 答:已经出现但难以给出精确定义的事件中包含的不确定性称为模糊性,是由事物的概念界限模糊和人的主观推理与判断产生的。而有明确定义但不一定出现的事件中包含的不确定性称为随机性,他不因人的主观意思变化,由事物本身的因果律决定。不精确推理就是表示和处理随机性的推理方法。两者之间有着本质的区别。5.9 答:A B=0.5/x1+0.65/x2+0.8/x3+0.9/x4+0.7/x5;AB=0.85/x1+0.7/x2+0.9/x3+0.98/x4+0.77/x5;A=0.15/x1+0.3/x2+0.1/x3+0.1/x4+0.3/x5。5.10 答:0.70.4=0.70.4A B0.50.45.11 答:模糊推理实质上是在模糊集合上进行操作。在同一论域中,证据的“与”、“或”、“非”运算通常可以对应于模糊集的交、并、求补操作;不同论域中的逻辑运算一般需拓广至笛卡尔意义下的相应操作。逻辑推理是通过逻辑蕴含实现的。设 U 和 V 为两个论域,A 是 U 上的模糊子集,B 是 V 上的模糊子集,则规则IF A THEN B可以定义为 UV 上的一个模糊关系:(AB)(AV)或等价表示成:A B max(min(x),(y),1(x)/(x,y)ABAUV第六章第六章 PROLOGPROLOG 语言语言6.3 答:(1)目标不成功(2)目标不成功(3)目标成功,x,y,z被例化为 x1,y1,z1(4)目标不成功(5)目标不成功6.4 答:poglog 规则Is_mother(x):_mother(x,y)Is_father(x):_father(x,y)Is_son(x):_father(y,x),male(x)Grandpa(x,y):_father(x,y1),father(y1,y)Sibling(x,y):_diff(x,y),mother(z1,x),mother(z1,y),father(z2,x),father(z2,y),parent(x,y)216.5 答:(1)family1.cl文件头:/*Copyright(c)Sabu Francis Associates*/class family1open corepredicatesclassInfo:core:classInfo.%short Class informationpredicate.%detail This predicate represents information predicate of this class.%endpredicatesrun:core:runnable.end class family1(2)family1.pack文件头:/*Copyright(c)Sabu Francis Associates*/#include family1.ph%privately used packages#include pfcfilesystemfilesystem.ph#include pfcapplicationexeexe.ph#include pfcconsoleconsole.ph#include pfcexceptionexception.ph%private interfaces%private classes%implementations#include family1.pro(3)family1.ph文件头:/*Copyright(c)Sabu Francis Associates*/#requires family1.pack%publicly used packages#include pfccore.ph%exported interfaces%exported classes#include family1.cl(4)family1.prj6文件头:22/*Copyright(c)Sabu Francis Associates*/implement family1open coreconstantsclassName=family1.classVersion=$JustDate:$Revision:$.clausesclassInfo(className,classVersion).domainsgender=female();male().class facts-familyDBperson:(string Name,gender Gender).parent:(string Person,string Parent).class predicatesfather:(string Person,string Father)nondeterm anyflow.clausesfather(Person,Father):-parent(Person,Father),person(Father,male().class predicatesgrandFather:(string Person,string GrandFather)nondeterm(o,o).clausesgrandFather(Person,GrandFather):-parent(Persoicates)文件尾:reconsult:(string FileName).clausesreconsult(FileName):-retractFactDB(familyDB),file:consult(FileName,familyDB).clausesrun():-console:init(),stdIO:write(Load datan),reconsult(.fa.txt),stdIO:write(nfather testn),father(X,Y),stdIO:writef(%is the father of%n,Y,X),fail.run():-stdIO:write(ngrandFather testn),grandFather(X,Y),23stdIO:writef(%is the grandfather of%n,Y,X),fail.run():-stdIO:write(nancestor of Pam testn),X=Pam,ancestor(X,Y),stdIO:writef(%is the ancestor of%n,Y,X),fail.run():-stdIO:write(End of testn).end implement family1goalmainExe:run(family1:run).(5)family1.pro补充习题:1.编写一 Prolog 程序使得你能和计算机“交谈”(Conversations with a computer)。下图显示了对