知识表示方法分为陈述性表示法和过程性表示法两类。陈述性知识表示强调的是事物所涉及的对象是什么、是对事物有关知识的静态描述、是知识的显式表达形式,通过控制策略来决定如何使用这些知识。而过程性知识表示是将所要表示的知识及如何使用这些知识的控制策略一起隐式地表示为一个或多个求解问题的过程。过程性知识表示给出的是事物的一些客观规律,表达的是如何求解问题。
1.知识的过程表示法
过程表示法的本质是用程序的形式对知识进行表示,在这种表示法中已将那些用于求解问题的控制策略融于知识表示之中。过程表示法可以用多种实现形式,下面以过程规则表示法为例,说明知识的过程表示方法。
1)激发条件
激发条件指在求解问题过程中,启动该知识所应满足的条件,或者说是调用一个知识库中的程序所应具备的条件或提供哪些参数。激发条件一般由两部分构成:推理方向和调用模式。推理方向用以确定被调用过程是正向推理还是反向推理;调用模式则是调用该过程的形式参数,在调用该过程用于推理时,需要调用过程规则才能被激活。对于正向推理,只有当综合数据库中的已有事实可以与其调用模式匹配时,该过程规则才能被激活,数据库中的已有事实就类似实参;对方向推理,只有当调用模式与查询目标或子目标匹配时,才能将该过程规则激活,查询目标或子目标就类似实参。
2)演绎操作
演绎操作就是一个过程中将依次被执行的那些动作,由一系列的子目标构成,每一个子目标就类似程序中的一条语句。在应用推理求解问题时,当启动知识库中某个过程的激发条件被满足时,该过程即被启动,其中的每一个操作将被依次执行。
3)状态转换
状态转换操作是指过程被执行中,用来完成对综合数据库的增、删、改操作。分别用INSERT、DELETE和MODIFY操作符实现。
4)返回
过程规则的最后一个语句是返回语句,用以将控制权返回到调用该过程规则的上一级过程处。
【例】 问题描述如下:
如果张三与李四是同班同学,且王五是张三的老师,求证:王五也是李四的老师。
解:综合数据库中有这样的已知事实:张三与李四是同班同学,王五是张三的老师,表示为:
规则库中有一个用过程规则表示的描述师生关系“如果x与y是同班同学,且z是x的老师,则z也是y的老师”的过程:
求解采用反向推理方式进行。
(1)在知识库中找出与问题(Teacher ?w ?v)相匹配的过程,(Teacher ?w ?v)就是调用模式,过程BR(Teacher ?z ?y)的激发条件可以被满足,启动过程BR(Teacher ?z ?y)
(2)执行第一个演绎操作GOAL(Classmate ?x y)。经与综合数据库的已知事实(Classmate 张三 李四)匹配,分别求得变量x及y的值,x=张三,y=李四
(3)执行第二个演绎操作GOAL(Teacher z x),经与已知事实(Teacher 王五 张三)匹配,求得变量的值,z=王五,x=张三
(4)执行该过程中的第三个演绎操作INSERT(Teacher z y),此时z与y的值均已知道,分别是王五和李四,因此这是插入数据库的事实是:(Teacher 王五 李四)
这表明“王五也是李四的老师”,问题得证。
2.过程表示法的特点
(1)过程性知识表示法用程序来表示知识,程序中嵌入了推理过程的控制策略,可以避免选择和匹配无关的知识,也不需要跟踪不必要的路径,因此比陈述性知识表示法程序求解效率高得多。
(2)由于控制策略已嵌入到程序中,因而推理的控制策略比较容易设计和实现。
(3)过程性知识表示法将知识蕴涵于程序中,因而不易对知识库进行修改或更新,而且对知识库的某一过程进行修改时,可能会影响到该过程调用的其他过程,所以对知识库的维护极不方便。
(4)由于有些知识并不适合用程序表示,因此过程性知识表示法适用的表示范围较窄。
习题
(1)什么是知识?知识表示的意义是什么?
(2)试分别简述知识的逻辑表示和语义网络表示的特点。
(3)有3个传教士和3个野人来到河边准备渡河,河岸有一条船,每次至多可供2人乘渡。问传教士为了安全起见,应如何规划摆渡方案,使得在任何时刻,河岸两边以及船上的野人数目总是不超过传教士的数目?即求解传教士和野人从左岸全部摆渡到右岸的过程中,任何时刻满足M(传教士数)≥C(野人数)和M+C≤2的摆渡方案。使用逻辑表示模式表示上述知识。
(4)把下列句子用语义网络表示出来:
①张三是一个大学生。
②李是雇员,王是老板,而李打了王。
③所有的学生都学了“C语言程序设计”这门课。
(5)请把下列知识用一个语义网络表示出来:
①树和草都是植物。
②树和草都有叶和根。
③水草是草,且生长在水中。
④果树是树,且会结果。
⑤苹果树是果树中的一种,它会结苹果。
(6)试述状态空间的搜索策略。
(7)对比广度优先和深度优先的搜索方法,说明为何它们都是盲目搜索方法?(www.daowen.com)
(8)什么是启发式搜索?启发式知识的指导作用体现在哪些方面?
(9)请分别用广度优先搜索和深度优先搜索策略求解如下图所示九宫问题,并给出搜索轨迹(Open表和Closed表)和解路径。
九宫问题
(10)实验题:请分别用广度优先和深度优先策略实现上述第(4)题中九宫问题的求解(语言自选)。
(11)什么是产生式系统?其基本组成和工作原理分别是怎样的?
(12)对N=5、K≤3时求解传教士和野人问题的产生式系统各组成部分进行描述(给出综合数据库、规则集合的形式化描述,给出初始状态和目标条件的描述),并画出状态空间图。
(13)甲要去参加一项智力竞赛,他听说另外两名对手都很聪明,心中十分担忧。幸好他的一位朋友打听到了竞赛题目,并把应付办法事先告诉了他。竞赛开始,主持人在每个竞赛者头上戴一顶帽子,帽子的颜色有红、白两种,但至少有一顶白帽。题目是说出自己戴的帽子的颜色。戴毕,主持人连问两次,三人面面相觑,无一回答,问第三次时,某甲抢先回答了。试问朋友面授某甲的妙计是什么?用产生式系统回答此问题。
(14)实验题:请编程实现下列传教士和野人问题的求解(语言自选)。
有3个传教士和3个野人来到河边准备渡河,河岸有一条船,每次至多可供2个人乘渡。问传教士为了安全起见,应如何规划摆渡方案,使得在任何时刻,河岸两边以及船上的野人数目总是不超过传教士的数目。即求解传教士和野人从左岸全部摆渡到右岸的过程中,任何时刻满足M(传教士数)≥C(野人数)和M+C≤2的摆渡方案。
(15)将下面的公式化成子句集:
¬(((P∨¬Q)→R)→(P∧R))
(16)利用下面的公理证明a成立:
①a←b∧C
②b
③C←d∧e
④e∨f
⑤d∧¬f
(17)下列子句是否可以合一?如果可以,写出最一般合一置换
①P(x,B,B)和P(A,y,z)
②P(g(f(v)),g(u))和P(x,x)
③P(x,f(x))和P(y,y)
④P(y,y,B)和P(z,x,z)
(18)用归结法证明一个绿色物体,存在如下条件:
①如果可以推动的物体是蓝色的,那么不可以推动的物体是绿色的。
②所有的物体或者是蓝色的,或者是绿色的,但不能同时具有两种颜色。
③如果存在一个不能推动的物体,那么所有的可推动的物体是蓝色的。
④物体O1是可以推动的。
⑤物体O2是不可以推动的。
Ontable(A) Clear(E)
Ontable(C) Clear(D)
On(D,C) Heavy(D)
On(B,A) Wooden(B)
Heavy(B) On(E,B)
绘出这些公式所描述的状态的草图。
下列语句提供了有关这个积木世界的一般知识:
每个大的蓝色积木块是在一个绿色积木块上。
每个重的木制积木块是大的。
所有顶上没有东西的积木块都是蓝色的。
所有木制积木块是蓝色的。
以具有单文字后项的蕴涵式的集合表示这些语句。绘出能求解“哪个积木块是在绿积木块上”这个问题的一致解图(用B规则)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。