1、第三章第三章 知识与知识表示知识与知识表示 3.1 基本概念基本概念 3.2 一阶谓词逻辑表示法一阶谓词逻辑表示法 3.3 产生式表示法产生式表示法 3.4 框架表示法框架表示法 3.5 语义网络表示法语义网络表示法 3.6 脚本表示法脚本表示法 3.7 过程表示法过程表示法 3.8 Petri网表示法网表示法 小结小结3.1 基本概念本节讨论知识及其表示的有关概念本节讨论知识及其表示的有关概念3.1.1什麽是知识什麽是知识3.1.2知识的特性知识的特性3.1.3知识的分类知识的分类3.1.4知识的表示知识的表示 3.1.1什麽是知识为了说明什麽是知识,首先让我们解释为了说明什麽是知识,首先让
2、我们解释一下数据与信息的概念一下数据与信息的概念1.数据与信息数据与信息我们知道人类我们知道人类 赖以生存的空间是一个物赖以生存的空间是一个物质的世界同时又是一个信息的世界质的世界同时又是一个信息的世界.但但是信息需要用一定的形式表示才能被是信息需要用一定的形式表示才能被记载和传递记载和传递,尤其使用计算机来对信息尤其使用计算机来对信息存储及处理时更需要用一组符号及其存储及处理时更需要用一组符号及其组合进行表示组合进行表示.这样的符号及其组合表这样的符号及其组合表示的信息称为数据示的信息称为数据.数据与信息是两个数据与信息是两个密切相关的概念密切相关的概念.信息是数据的语义信息是数据的语义.3
3、.1.1什麽是知识(续)2.知识知识所谓知识就是把有关的信息关联在一起所谓知识就是把有关的信息关联在一起的数据结构。的数据结构。信息之间有多种关联形式,其中用得最信息之间有多种关联形式,其中用得最多的一种是用多的一种是用 如果如果,则,则所表示的形式。例如所表示的形式。例如如果大雁向南飞,则冬天就要来临了。如果大雁向南飞,则冬天就要来临了。它反映了大雁向南飞与冬天要来临这两它反映了大雁向南飞与冬天要来临这两个信息之间的关系。个信息之间的关系。3.1.1什麽是知识(续)知识反映了客观世界中事物之间的关系,知识反映了客观世界中事物之间的关系,不同事物或者相同事物间的不同关系形不同事物或者相同事物间
4、的不同关系形成了不同的知识。例如,成了不同的知识。例如,“雪是白色雪是白色的的”,它反映了雪和颜色之间的一种关,它反映了雪和颜色之间的一种关系。又如系。又如“如果头痛且流涕,则有可能如果头痛且流涕,则有可能患了感冒患了感冒”是一条知识,它反映的则是是一条知识,它反映的则是头痛且流涕与可能患了感冒之间的一种头痛且流涕与可能患了感冒之间的一种因果关系。因果关系。3.1.1什麽是知识(续)在人工智能中,把前一种知识称为事实在人工智能中,把前一种知识称为事实性知识,而把后一种即用性知识,而把后一种即用“如果如果,则,则”关联起来的知识称为规则。关联起来的知识称为规则。知识主要有以下三个特性:知识主要有
5、以下三个特性:1.相对正确性相对正确性知识是人们对客观世界认识的结晶,并且知识是人们对客观世界认识的结晶,并且受到长期实践经验的检验。因此,在一定受到长期实践经验的检验。因此,在一定的条件及环境下,知识一般是正确的,可的条件及环境下,知识一般是正确的,可信任的。这里特别应该注意一定的条件及信任的。这里特别应该注意一定的条件及环境的约束条件,例如环境的约束条件,例如1+1=2这样常识性这样常识性的知识,也是在十进制下才是正确的,换的知识,也是在十进制下才是正确的,换成其它进制就不一定正确了。成其它进制就不一定正确了。3.1.2知识的特性3.1.2知识的特性(续)2.不确定性不确定性知识是有关信息
6、关联在一起形成的信息结知识是有关信息关联在一起形成的信息结构,信息与关联是构成知识的两个要素。构,信息与关联是构成知识的两个要素。由于现实世界的复杂性,信息可能是精确由于现实世界的复杂性,信息可能是精确的,也可能是不精确的、模糊的;关联可的,也可能是不精确的、模糊的;关联可能是确定的,也可能是不确定的。即知识能是确定的,也可能是不确定的。即知识不总是以不总是以“真真”或或“假假”这两种状态存在,这两种状态存在,可能在真和假这个区间以某种程度存在,可能在真和假这个区间以某种程度存在,这种特性称为知识的不确定性。这种特性称为知识的不确定性。3.1.2知识的特性(续)造成知识不确定的原因有以下几种;
7、造成知识不确定的原因有以下几种;(1)由随机引起的不确定性)由随机引起的不确定性(2)由模糊性引起的不确定性)由模糊性引起的不确定性(3)由不完全性引起的不确定性)由不完全性引起的不确定性(4)由经验引起的不确定性)由经验引起的不确定性3.可表示性与可利用性可表示性与可利用性知识是可以用适当的形式表示出来的,如知识是可以用适当的形式表示出来的,如语言、文字、图形、神经元网络等,正是语言、文字、图形、神经元网络等,正是由于知识的这一特性,所以它才能被存储由于知识的这一特性,所以它才能被存储并得以传播。并得以传播。3.1.3知识的分类从不同的角度对知识进行划分,可得到不从不同的角度对知识进行划分,
8、可得到不同的分类方法:同的分类方法:若就知识的作用域来划分,可分为常识性若就知识的作用域来划分,可分为常识性知识和领域知识。知识和领域知识。若就知识的作用及表示来划分,知识可分若就知识的作用及表示来划分,知识可分为事实性知识,过程性知识,控制性知识为事实性知识,过程性知识,控制性知识事实性知识用来描述领域内有关概念、事事实性知识用来描述领域内有关概念、事实、事物的属性及状态等。例如:实、事物的属性及状态等。例如:糖是甜的。糖是甜的。大连是座海滨城市。大连是座海滨城市。3.1.3知识的分类这都是事实性的知识。事实性知识一般这都是事实性的知识。事实性知识一般都采用直接表达的形式,比如用谓词公都采用
9、直接表达的形式,比如用谓词公式表达等。过程性知识主要是指与领域式表达等。过程性知识主要是指与领域相关的知识,用于指出如何处理与问题相关的知识,用于指出如何处理与问题相关的信息以求得问题的解。过程性知相关的信息以求得问题的解。过程性知识一般是通过对领域内各种问题的比较识一般是通过对领域内各种问题的比较和分析得出的规律性的知识,由领域内和分析得出的规律性的知识,由领域内的规则、定律、定理及经验构成。过程的规则、定律、定理及经验构成。过程性性3.1.3知识的分类知识是否完整直接影响到系统的性能及知识是否完整直接影响到系统的性能及可信任性,是智能系统的基础。它可以可信任性,是智能系统的基础。它可以是一
10、组产生式规则也可以是语义网络等。是一组产生式规则也可以是语义网络等。控制性知识又称为深层知识或者元知识,控制性知识又称为深层知识或者元知识,它是关于如何运用已有的知识进行问题它是关于如何运用已有的知识进行问题求解的知识,因此又称为关于知识的知求解的知识,因此又称为关于知识的知识。例如问题求解中的推理策略(正向识。例如问题求解中的推理策略(正向推理、逆向推理)、信息传播策略(如推理、逆向推理)、信息传播策略(如不确定性的传递算法)、搜索不确定性的传递算法)、搜索3.1.3知识的分类策略(广度优先、深度优先、启发式搜策略(广度优先、深度优先、启发式搜索等)、求解策略(求第一个解、全部索等)、求解策
11、略(求第一个解、全部解、严格解、最优解等)、限制策略解、严格解、最优解等)、限制策略(规定推理的限度或求解路径的长度)(规定推理的限度或求解路径的长度)等等。关于表达控制信息的方式,按表等等。关于表达控制信息的方式,按表达形式级别的高低可分为三大类,即策达形式级别的高低可分为三大类,即策略控制级(较高级)、语句控制级(中略控制级(较高级)、语句控制级(中级)及实现控制级(较低级)。级)及实现控制级(较低级)。3.1.3知识的分类若就知识的确定性来划分,可分为确定若就知识的确定性来划分,可分为确定性知识和不确定性知识性知识和不确定性知识若就知识结构及及表现形式来划分,可若就知识结构及及表现形式来
12、划分,可分为逻辑性知识和形象性知识分为逻辑性知识和形象性知识若抛开知识涉及领域的具体特点,从抽若抛开知识涉及领域的具体特点,从抽象的、整体的观点来划分,知识可分为象的、整体的观点来划分,知识可分为零级、一级、和二级知识。零级、一级、和二级知识。3.1.3知识的分类(续)以上关于对知识层次的划分还可以继续以上关于对知识层次的划分还可以继续下去,每一级知识都对低一层的知识有下去,每一级知识都对低一层的知识有指导意义。其中,零级知识是指问题领指导意义。其中,零级知识是指问题领域内的事实、定理、方程、实验对象和域内的事实、定理、方程、实验对象和操作等常识性知识及原理性知识;一级操作等常识性知识及原理性
13、知识;一级知识是指具有经验性、启发性的知识,知识是指具有经验性、启发性的知识,例如经验性的规则、含义模糊的建议、例如经验性的规则、含义模糊的建议、不确切的判断标准;二级知识是指如何不确切的判断标准;二级知识是指如何运用上述两级知识的知识。通常称零级运用上述两级知识的知识。通常称零级知识为领域知识,而称二级以上的知识知识为领域知识,而称二级以上的知识为元知识。为元知识。3.1.4知识的表示知识的表示方法又称为知识表示技术,知识知识的表示方法又称为知识表示技术,知识表示方法可分为两大类,即符号表示法和表示方法可分为两大类,即符号表示法和 连接机制表示法。其中符号表示法用各种包连接机制表示法。其中符
14、号表示法用各种包含具体含义的符号,以各种不同的方式和次含具体含义的符号,以各种不同的方式和次序组合起来表示知识。连接机制表示法是一序组合起来表示知识。连接机制表示法是一种相对于符号表示法而言的一种隐式表示法。种相对于符号表示法而言的一种隐式表示法。目前用得较多的知识表示方法有:一阶谓词目前用得较多的知识表示方法有:一阶谓词逻辑表示法、产生式表示法、框架表示法、逻辑表示法、产生式表示法、框架表示法、语义网络表示法、脚本表示法、过程表示法、语义网络表示法、脚本表示法、过程表示法、Petri网表示法、面向对象的表示法。网表示法、面向对象的表示法。3.1.4知识的表示(续)同一个知识有多种表示方法,不
15、同的表示方同一个知识有多种表示方法,不同的表示方法其效果却不一样。下面介绍的知识表示方法其效果却不一样。下面介绍的知识表示方法都是从成功的应用中抽取出来的,不一定法都是从成功的应用中抽取出来的,不一定对任何智能问题都合适,面对具体的问题使对任何智能问题都合适,面对具体的问题使用哪种知识表示方法更好,要因问题而异。用哪种知识表示方法更好,要因问题而异。3.1.4知识的表示(续)一般,在选用知识表示方法时,应从以下一般,在选用知识表示方法时,应从以下几个方面考虑。几个方面考虑。1.充分表示领域知识充分表示领域知识也就是说在选定一种表示方法时,首先要也就是说在选定一种表示方法时,首先要考虑它是否能充
16、分地表示领域知识,并且考虑它是否能充分地表示领域知识,并且要了解每一种表示方法的特征。例如在医要了解每一种表示方法的特征。例如在医疗诊断领域中,其知识一般具有经验性、疗诊断领域中,其知识一般具有经验性、因果性的特点,适合用产生式表示法;而因果性的特点,适合用产生式表示法;而在设计类领域中,由于一个部件一般由多在设计类领域中,由于一个部件一般由多个部件组成,部件与子部件既有相同的个部件组成,部件与子部件既有相同的3.1.4知识的表示(续)属性又有不同的属性,因而要把这个特点属性又有不同的属性,因而要把这个特点表示出来,用产生式表示法就很难表示表示出来,用产生式表示法就很难表示出知识间的这种结构关
17、系,用框架表示出知识间的这种结构关系,用框架表示法和产生式表示法结合起来就比较好。法和产生式表示法结合起来就比较好。因此,当已有的知识表示方法不能适应面因此,当已有的知识表示方法不能适应面临的问题时,就需要重新设计一种新的临的问题时,就需要重新设计一种新的知识表示方法。知识表示方法。3.1.4知识的表示(续)2.有利于知识的利用有利于知识的利用知识表示的目的是为了将相关的领知识表示的目的是为了将相关的领域知识方便地在计算机内存储,而域知识方便地在计算机内存储,而利用则是使用这些知识进行推理,利用则是使用这些知识进行推理,求解现实问题。所谓推理就是根据求解现实问题。所谓推理就是根据问题的已知事实
18、,利用存储在计算问题的已知事实,利用存储在计算机内的知识推出新的事实(结论)机内的知识推出新的事实(结论)或执行某个操作过程。或执行某个操作过程。3.1.4知识的表示(续)因此,表示形式必须便于知识的利因此,表示形式必须便于知识的利用。同样存储在计算机内的知识必用。同样存储在计算机内的知识必须满足下面的两条。须满足下面的两条。3.便于知识的组织、维护与管理便于知识的组织、维护与管理4.便于理解和实现便于理解和实现下面我们分别讨论各种知识表示方下面我们分别讨论各种知识表示方法。法。3.2一阶谓词逻辑表示法 谓词逻辑是一种形式语言,用谓词逻辑谓词逻辑是一种形式语言,用谓词逻辑可以表示事物的状态、属
19、性、概念等事可以表示事物的状态、属性、概念等事实性的知识,也可以用谓词逻辑表示规实性的知识,也可以用谓词逻辑表示规则或动作。则或动作。用谓词逻辑表示知识时,需要首先定用谓词逻辑表示知识时,需要首先定义谓词,指出每个谓词的含义,然后用义谓词,指出每个谓词的含义,然后用连接词把有关的谓词连接起来,形成一连接词把有关的谓词连接起来,形成一个谓词公式表达一个完整的意义。下面个谓词公式表达一个完整的意义。下面我们通过例子说明它的使用方法。我们通过例子说明它的使用方法。3.2一阶谓词逻辑表示法(续)例例3.1设有下列知识设有下列知识刘欢比他父亲出名。刘欢比他父亲出名。高扬是计算机系的一名学生高扬是计算机系
20、的一名学生,但他不爱编程但他不爱编程序。序。人人爱劳动人人爱劳动试用谓词逻辑表示上述知识试用谓词逻辑表示上述知识解:首先定义谓词如下:解:首先定义谓词如下:Bigger(x,y):x比比y出名出名Computer(x):x是计算机系的学生是计算机系的学生3.2一阶谓词逻辑表示法(续)Like(x,y):x喜欢喜欢yLove(x,y):x爱爱yMan(x):x是人是人于是上述知识可以用一组谓词公式的合取来于是上述知识可以用一组谓词公式的合取来表示(我们用并列的形式表示合取)表示(我们用并列的形式表示合取)Bigger(liuhuan,father(liuhuan)Computer(gaoyang
21、)like(gaoyang,programing)(x)(man(x)love(x,labour)3.2一阶谓词逻辑表示法(续)例例3.2设有下列知识设有下列知识自然数都是大于零的整数。自然数都是大于零的整数。所有整数不是偶数就是奇数。所有整数不是偶数就是奇数。偶数除以偶数除以2是整数。是整数。将其用谓词逻辑表示将其用谓词逻辑表示解:首先定义谓词如下:解:首先定义谓词如下:N(x):x是自然数是自然数I(x):x是整数是整数3.2一阶谓词逻辑表示法(续)E(x):x是偶数是偶数O(x):x是奇数是奇数GZ(x):x大于零并用函数大于零并用函数S(x)表示表示x除以除以2于是上述知识可表示如下:
22、于是上述知识可表示如下:(x)(N(x)GZ(x)I(x)(x)(I(x)(E(x)O(x)(x)(E(x)I(s(x)3.2一阶谓词逻辑表示法(续)用一阶谓词逻辑还可以表示操作用一阶谓词逻辑还可以表示操作例例3.3设有机器人世界的问题如下:设有机器人世界的问题如下:房内房内c处有一机器人,处有一机器人,a处处b处各有一张桌处各有一张桌子,桌子子,桌子a上有一个盒子上有一个盒子box,现在为机器现在为机器人设计一个动作序列,使机器人把盒子从人设计一个动作序列,使机器人把盒子从a上拿到上拿到b上,再回到上,再回到c处。处。robot为此定义谓词如下:为此定义谓词如下:c a b 3.2一阶谓词逻
23、辑表示法(续)Table(x);x是桌子是桌子Empty(y):y手中是空的手中是空的At(y,z):y在在z附近附近Holds(y,w):y拿着拿着wOn(w,x):w在在x上上其中其中x的个体域是的个体域是a,b,y的个体域是的个体域是robotz的个体域是的个体域是a,b,c,w的个体域是的个体域是box问问题的初始状态可以用一组谓词公式的合取题的初始状态可以用一组谓词公式的合取描述如下:描述如下:3.2一阶谓词逻辑表示法(续)At(robot,c)Emputy(robot)On(box,a)Table(a)Table(b)问题的最终状态可以描述如下:问题的最终状态可以描述如下:At(r
24、obot,c),Emputy(robot),On(box,b),Table(a)Table(b)3.2一阶谓词逻辑表示法(续)机器人行动的目标是把问题的初始状态机器人行动的目标是把问题的初始状态转化为目标状态,其间它必须完成一系转化为目标状态,其间它必须完成一系列的操作,那麽,用谓词逻辑如何表示列的操作,那麽,用谓词逻辑如何表示操作呢?由于操作可以分为条件和动作操作呢?由于操作可以分为条件和动作两部分,而条件很容易用谓词公式来表两部分,而条件很容易用谓词公式来表示,而动作可以用动作前后状态的变化示,而动作可以用动作前后状态的变化来表示,即只要指出动作后应从动作前来表示,即只要指出动作后应从动作
25、前的状态中删去或增加什麽谓词公式就描的状态中删去或增加什麽谓词公式就描述了相应的动作。述了相应的动作。3.2一阶谓词逻辑表示法(续)本例中机器人需执行以下三个本例中机器人需执行以下三个操作:操作:goto(x,y):从从x处走到处走到y处处pick-up(x):在在x处拿起盒子处拿起盒子set-down(x):在在x处放下盒子处放下盒子这三个操作可分别用条件和动作表示为这三个操作可分别用条件和动作表示为:goto(x,y)条件:条件:at(robot,x)动作:删除:动作:删除:at(robot,x)增加:增加:at(robot,y)3.2一阶谓词逻辑表示法(续)pick-up(x)条件:条件
26、:on(box,x)table(x)at(robot,x)empty(robot)动作:删除:动作:删除:empty(robot)on(box,x)增加:增加:holds(robot,box)set-down(x)条件:条件:at(robot,x)table(x)holds(robot,box)3.2一阶谓词逻辑表示法(续)删除:删除:holds(robot,box)增加:增加:empty(robot)on(box,x)机器人在执行每一个操作之前,总要先机器人在执行每一个操作之前,总要先检查当前状态是否可使所要求的条件得检查当前状态是否可使所要求的条件得到满足,若满足就执行相应的操作,否到满足
27、,若满足就执行相应的操作,否则就检查下一个操作所要求的条件。所则就检查下一个操作所要求的条件。所谓检查当前状态是否满足所要求的条件,谓检查当前状态是否满足所要求的条件,其实是一个定理证明的过程,即证明当其实是一个定理证明的过程,即证明当前状态是否蕴涵操作所要求的条件,前状态是否蕴涵操作所要求的条件,3.2一阶谓词逻辑表示法(续)若蕴涵,就表示所要求的条件得到了满足。若蕴涵,就表示所要求的条件得到了满足。有了上述概念,就可写出机器人行动规划问有了上述概念,就可写出机器人行动规划问题的求解过程。其中,在检查条件的满足性题的求解过程。其中,在检查条件的满足性时要进行变量的代换。执行过程如下:时要进行
28、变量的代换。执行过程如下:At(robot,c),Empty(robot),On(box,a),Table(a),Table(b)/*状态状态1即初始状态用即初始状态用c代代x,a代代y*/goto(x,y)At(robot,a),Empty(robot),On(box,a),Table(a),Table(b)/*状态状态2用用a代代x*/pick-up(x)At(robot,a),Holds(robot,box),Table(a),Table(b)/*状态状态3用用a代代x用用b代代y*/一阶谓词逻辑表示法(续)goto(x,y)At(robot,b),Holds(robot,box),Ta
29、ble(a),Table(b)/*状态状态4用用b代代x*/set-down(x)At(robot,b),Empty(robot),On(box,b),Table(a),Table(b)/*状态状态5用用b代代x,用用c代代y*/goto(x,y)At(robot,c),Empty(robot),On(box,b),Table(a),Table(b)/*状态状态6目标状态目标状态*/一阶谓词逻辑表示法(续)在以上求解过程中,有两个直接相关的问题在以上求解过程中,有两个直接相关的问题需要解决:需要解决:(1)当某一状态可同时满足多个操作的条件)当某一状态可同时满足多个操作的条件时,应选用哪一个操
30、作?时,应选用哪一个操作?例如状态例如状态3既可以满足既可以满足goto(x,y)的条件又可的条件又可以满足以满足set-down(x)的条件此时该选哪一个操的条件此时该选哪一个操作作(2)在进行变量代换时,如果存在多种代换)在进行变量代换时,如果存在多种代换的可能性,如何确定用哪一个?例如在把状的可能性,如何确定用哪一个?例如在把状态态1变化为状态变化为状态2时,用时,用c代换了代换了x,用用a代换了代换了y。用用c代换代换x是明显的,否则,就不满足是明显的,否则,就不满足goto(x,y)的条件。但是,为什麽用的条件。但是,为什麽用a代换代换y而不用而不用b代换代换y呢?呢?3.2一阶谓词
31、逻辑表示法(续)第一个问题与所采用的搜索策略有关,第一个问题与所采用的搜索策略有关,后面我们将会介绍。但是针对这一问题后面我们将会介绍。但是针对这一问题我们也可采用下面的方法来解决:每当我们也可采用下面的方法来解决:每当进行一个操作使问题由一种状态转换为进行一个操作使问题由一种状态转换为另一状态时,立即检查新状态是否为目另一状态时,立即检查新状态是否为目标状态,若是,则问题得到了解决;若标状态,若是,则问题得到了解决;若不是,则检查该状态与已经出现过的状不是,则检查该状态与已经出现过的状态是否相同,如相同,则表明刚才进行态是否相同,如相同,则表明刚才进行的操作对求解是无帮助的,这时回溯到的操作
32、对求解是无帮助的,这时回溯到上一状态选择别的操作。上一状态选择别的操作。3.2一阶谓词逻辑表示法(续)例如对于状态例如对于状态3如果选用如果选用set-down(x)操操作,将使状态改变为作,将使状态改变为At(robot,a)Empty(robot)On(box,a)Table(a)Table(b)显然,这就是状态显然,这就是状态2。说明状态。说明状态3不能选不能选用用set-down(x)操作,而只能选用操作,而只能选用goto(x,y)3.2一阶谓词逻辑表示法(续)对于第二个问题也可以采用类似的方法对于第二个问题也可以采用类似的方法来解决。例如,对于状态来解决。例如,对于状态1,如果我们
33、,如果我们采用采用b来代换来代换y,则得到:则得到:At(robot,b)Empty(robot)On(box,a)Table(a)Table(b)这时我们会发现,此状态既不是目标状这时我们会发现,此状态既不是目标状态,又不能满足态,又不能满足pick-up(x)和和set-down(x)的条件的条件3.2一阶谓词逻辑表示法(续)如果仍用如果仍用goto(x,y)对它进行操作,则可对它进行操作,则可能出现两种情况,一是用能出现两种情况,一是用b代换代换x,用用c代换代换y,这就又回到状态这就又回到状态1,即机器人到,即机器人到b处转了一圈,什麽事没干,又回到了处转了一圈,什麽事没干,又回到了c
34、处;另一种是用处;另一种是用b代换代换x,用用a代换代换y,即机即机器人从器人从b处走到处走到a处。这与让机器人直接处。这与让机器人直接从从c处走到处走到a处相比,显然多走了一段弯处相比,显然多走了一段弯路,浪费了时间。因此,对状态路,浪费了时间。因此,对状态1直接直接用用a代换代换y是最佳选择。除此之外,还可是最佳选择。除此之外,还可用谓词公式表示知识的前提条件和结论。用谓词公式表示知识的前提条件和结论。3.2一阶谓词逻辑表示法(续)一阶谓词逻辑表示的特点如下:一阶谓词逻辑表示的特点如下:1.自然性自然性谓词逻辑是一种接近于自然语言的形式谓词逻辑是一种接近于自然语言的形式语言,用它表示的知识
35、容易接受。语言,用它表示的知识容易接受。2.精确性精确性谓词逻辑是二值逻辑谓词逻辑是二值逻辑,其谓词公式的真值其谓词公式的真值只有真与假只有真与假,因此可用它表示精确知识因此可用它表示精确知识,并可保证经演绎推理所得结论的精确性并可保证经演绎推理所得结论的精确性.3.2一阶谓词逻辑表示法(续)3.严密性严密性4.容易实现容易实现用谓词逻辑表示的知识容易转换为计算机的用谓词逻辑表示的知识容易转换为计算机的内部形式内部形式但是,谓词逻辑也不是完美无缺的,它的局但是,谓词逻辑也不是完美无缺的,它的局限性如下:限性如下:1.不能表示不确定性的知识不能表示不确定性的知识2.组合爆炸组合爆炸在推理过程中,
36、随着事实性知识的增加在推理过程中,随着事实性知识的增加3.2一阶谓词逻辑表示法(续)和盲目使用推理规则,可能形成组合爆和盲目使用推理规则,可能形成组合爆炸。炸。3.效率低效率低尽管谓词逻辑表示法存在以上局限性,尽管谓词逻辑表示法存在以上局限性,但它仍然是一种重要的知识表示方法。但它仍然是一种重要的知识表示方法。很多著名的专家系统都是用这种方法表很多著名的专家系统都是用这种方法表示知识的。示知识的。此外,人工智能语言此外,人工智能语言PROLOG也是以一也是以一阶谓词逻辑为基础的。阶谓词逻辑为基础的。3.3产生式表示法产生式表示法也称产生式规则表示法。产生式表示法也称产生式规则表示法。它是由美国
37、数学家波斯特根据串替代规它是由美国数学家波斯特根据串替代规则提出的一种计算模型,模型中每一条则提出的一种计算模型,模型中每一条规则称为一个产生式规则称为一个产生式在此之后,几经修改已成功应用到多种在此之后,几经修改已成功应用到多种领域中领域中1972年纽厄尔和西蒙在研究人年纽厄尔和西蒙在研究人类的认知模型中开发了基于规则的产生类的认知模型中开发了基于规则的产生式系统式系统3.3产生式表示法目前,它是人工智能中应用最多的一种目前,它是人工智能中应用最多的一种知识表示模式,如著名的专家系统知识表示模式,如著名的专家系统DENDRAL,MYCIN都是用它来表示知都是用它来表示知识的识的3.3产生式表
38、示法3.3.1产生式的基本形式产生式的基本形式3.3.2产生式系统产生式系统3.3.3产生式系统的分类产生式系统的分类3.3.4产生式系统的特点产生式系统的特点3.3.1产生式的基本形式产生式通常用于表示具有因果关系产生式通常用于表示具有因果关系的知识,其基本形式是:的知识,其基本形式是:PQ或者是或者是IF P THEN Q其中,其中,P是前提,用于指出该产生是前提,用于指出该产生式是否可用的条件;式是否可用的条件;Q是一组结论是一组结论或操作,用于指出当前提或操作,用于指出当前提P所指出所指出的条件被满足时,应该得出的结论的条件被满足时,应该得出的结论或应该执行的操作。或应该执行的操作。3
39、.3.1产生式的基本形式例如:例如:r4:IF动物会飞动物会飞 AND 会下蛋会下蛋THEN 该动物是鸟。其中该动物是鸟。其中r4是规则的编是规则的编号,号,THEN前是条件,前是条件,THEN后是结论。后是结论。3.3.1产生式的基本形式(续)这里应该注意产生式的基本形式和谓词这里应该注意产生式的基本形式和谓词逻辑中的蕴含式形式相同。但它们又有逻辑中的蕴含式形式相同。但它们又有一定的区别。区别在于以下两点:一定的区别。区别在于以下两点:1、蕴含式只能表示精确知识。、蕴含式只能表示精确知识。2、产生式不仅可以表示精确知识也可、产生式不仅可以表示精确知识也可以表示不精确知识。这是因为在产生式以表
40、示不精确知识。这是因为在产生式表示知识的系统中,事实与一条规则的表示知识的系统中,事实与一条规则的前提条件的匹配可以是不精确的。前提条件的匹配可以是不精确的。3.3.2产生式系统把一组产生式放在一起,让它们互相配把一组产生式放在一起,让它们互相配合,协同作用,一个产生式生成的结论合,协同作用,一个产生式生成的结论可以供另一个产生式作为已知事实使用,可以供另一个产生式作为已知事实使用,以求得问题的解决,这样的系统称为产以求得问题的解决,这样的系统称为产生式系统。一个产生式系统由以下三部生式系统。一个产生式系统由以下三部分组成:规则库,综合数据库,控制系分组成:规则库,综合数据库,控制系统。它们之
41、间的关系如下图所示统。它们之间的关系如下图所示 控制系统控制系统 规则库规则库 综合数据库综合数据库3.3.2产生式系统(续)1.规则库是用来描述相应领域内知识的产生规则库是用来描述相应领域内知识的产生式集合。一般说来建立规则库时应注意以式集合。一般说来建立规则库时应注意以下问题。下问题。(1)有效表达领域内过程性知识。规则库)有效表达领域内过程性知识。规则库中主要存放的是过程性知识,用于实现对中主要存放的是过程性知识,用于实现对问题的求解。所以需要解决应该建立哪些问题的求解。所以需要解决应该建立哪些产生式规则,知识库中的知识是否具有完产生式规则,知识库中的知识是否具有完整性。通过下面的的例子
42、我们会得到一些整性。通过下面的的例子我们会得到一些启发。启发。3.3.2产生式系统(续)一个动物识别系统的规则库一个动物识别系统的规则库这是一个用以识别老虎、金钱豹、斑马、长这是一个用以识别老虎、金钱豹、斑马、长颈鹿、企鹅、鸵鸟、信天翁等七种动物的颈鹿、企鹅、鸵鸟、信天翁等七种动物的产生式系统。为了实现对这些动物的识别,产生式系统。为了实现对这些动物的识别,该系统建立了如下的知识(规则)库:该系统建立了如下的知识(规则)库:R1:IF该动物有毛发该动物有毛发THEN该动物是哺乳动物。该动物是哺乳动物。R2:IF该动物有奶该动物有奶THEN该动物是哺乳动物。该动物是哺乳动物。R3:IF该动物有羽
43、毛该动物有羽毛THEN该动物是鸟。该动物是鸟。R4:IF该动物会飞该动物会飞AND会下蛋会下蛋THEN该动物是鸟该动物是鸟R5:IF该动物吃肉该动物吃肉THEN该动物是食肉动物。该动物是食肉动物。3.3.2产生式系统(续)R6:IF该动物有犬齿该动物有犬齿AND 有爪有爪AND 眼盯前方眼盯前方THEN该动物是食肉动物。该动物是食肉动物。R7:IF该动物是哺乳动物该动物是哺乳动物AND 有蹄有蹄THEN该动物是有蹄类动物。该动物是有蹄类动物。R8:IF该动物是哺乳动物该动物是哺乳动物AND是嚼反是嚼反刍动物刍动物THEN该动物是有蹄类动物。该动物是有蹄类动物。物物AND是黄褐色是黄褐色AND
44、身上有黑色条纹身上有黑色条纹THEN该动物是虎。该动物是虎。3.3.2产生式系统(续)R9:IF该动物是哺乳动物该动物是哺乳动物AND是是食肉动物食肉动物AND是黄褐色是黄褐色AND身上身上有暗斑点有暗斑点THEN该动物是金钱豹该动物是金钱豹R10:IF该动物是哺乳动物该动物是哺乳动物AND是是食肉动食肉动3.3.2产生式系统(续)R11:IF该动物有蹄类动物该动物有蹄类动物AND 有长脖子有长脖子AND 有长腿有长腿AND 身上有暗斑点身上有暗斑点THEN该动物是长该动物是长颈鹿。颈鹿。R12:IF该动物是有蹄类动物该动物是有蹄类动物AND身上有黑色条身上有黑色条纹纹THEN该动物是斑马。该
45、动物是斑马。R13:IF该动物是鸟该动物是鸟AND有长脖子有长脖子AND 有长腿有长腿AND不会飞不会飞AND有黑白两色有黑白两色THEN该动物是鸵该动物是鸵鸟。鸟。R14:IF该动物是鸟该动物是鸟AND会游泳会游泳AND不会飞不会飞AND有黑白两色有黑白两色THEN该动物是企鹅。该动物是企鹅。R15:IF该动物鸟该动物鸟AND善飞善飞THEN该动物是信天该动物是信天翁。翁。3.3.2产生式系统(续)(2)对知识进行合理的组织与管)对知识进行合理的组织与管理。对规则库中的知识适当的组织,理。对规则库中的知识适当的组织,采用合理的结构形式,可使推理避采用合理的结构形式,可使推理避免访问那些与当前
46、问题求解无关的免访问那些与当前问题求解无关的知识,从而提高求解的效率。例如知识,从而提高求解的效率。例如对于上面动物识别的例子而言,如对于上面动物识别的例子而言,如果把知识分成如下两个子集果把知识分成如下两个子集3.3.2产生式系统(续)r1,r2,r5,r6,r7,r8,r9,r10,r11,r12r3,r4,r13,r14,r153.3.2产生式系统(续)则当待识别动物属于其中一个子集时,则当待识别动物属于其中一个子集时,另一个子集中的知识在当前的问题求解另一个子集中的知识在当前的问题求解过程中就可不用考虑,从而节约了查找过程中就可不用考虑,从而节约了查找的时间。的时间。2.综合数据库又称
47、为事实、上下文、黑综合数据库又称为事实、上下文、黑板等。它是一个用于存放问题求解过程板等。它是一个用于存放问题求解过程中各种当前信息的数据结构,例如问题中各种当前信息的数据结构,例如问题的初始状态、原始数据、推理中得到的的初始状态、原始数据、推理中得到的中间结论及最终结论。中间结论及最终结论。3.3.2产生式系统(续)综合数据库中的已知事实通常用字符串、综合数据库中的已知事实通常用字符串、向量、集合、矩阵、表等数据结构表示,向量、集合、矩阵、表等数据结构表示,如在专家系统如在专家系统MYCIN中对事实通常用中对事实通常用如下一个四元组表示:如下一个四元组表示:(特性(特性 对象对象 值值 可信
48、度因子)。例如可信度因子)。例如对事实对事实“张山大约是张山大约是25岁岁”可用四元组可用四元组表示为:表示为:(AGE ZHANGSHAN 25 0.8)3.3.2产生式系统(续)3.控制系统控制系统控制系统又称为推理机构,由一组程序控制系统又称为推理机构,由一组程序组成,负责整个产生式系统的运行,实组成,负责整个产生式系统的运行,实现对问题的求解。粗略地讲它要做以下现对问题的求解。粗略地讲它要做以下几项工作:几项工作:3.3.2产生式系统(续)1、按一定的策略从规则库选择规则与、按一定的策略从规则库选择规则与数据库中已知的事实进行匹配。所谓匹数据库中已知的事实进行匹配。所谓匹配是指把规则的
49、前提条件与综合数据库配是指把规则的前提条件与综合数据库中的已知事实进行比较,如果两者一致,中的已知事实进行比较,如果两者一致,或近似一致且满足预先规定的条件,则或近似一致且满足预先规定的条件,则称匹配成功,相应的规则可能被使用;称匹配成功,相应的规则可能被使用;否则称匹配不成功,相应规则不能用于否则称匹配不成功,相应规则不能用于当前的推理。当前的推理。3.3.2产生式系统(续)2、匹配成功的规则可能不只一条,这称、匹配成功的规则可能不只一条,这称发生了冲突。此时,推理机构必须调用相发生了冲突。此时,推理机构必须调用相应的解决冲突的策略进行消解,以便从中应的解决冲突的策略进行消解,以便从中选出一
50、条执行。选出一条执行。3、在执行某一条规则时,如果该规则的、在执行某一条规则时,如果该规则的右部是一个或多个结论,则把这些结论加右部是一个或多个结论,则把这些结论加入到综合数据库中去,如果规则的右部是入到综合数据库中去,如果规则的右部是一个或多个一个或多个 操作,则执行这些操作。操作,则执行这些操作。3.3.2产生式系统(续)、对于不确定性知识,在执行每一条、对于不确定性知识,在执行每一条知识时还要按一定算法计算结论的不知识时还要按一定算法计算结论的不确定性。确定性。5、随时掌握结束产生式系统运行的时、随时掌握结束产生式系统运行的时机,以便在适当的时侯停止系统的运行。机,以便在适当的时侯停止系