《人工智能原理》第四章知识表示第四章知识表示•概述•表示方法《人工智能原理》第四章知识表示第四章知识表示方法•概述•表示方法《人工智能原理》第四章知识表示概述•人工智能研究中最基本的问题之一–在知识处理中总要问到:“如何表示知识?”,“知识是用什么来表示的?”。怎样使机器能懂,能对之进行处理,并能以一种人类能理解的方式将处理结果告诉人们。–在AI系统中,给出一个清晰简洁的描述是很困难的。有研究报道认为。严格地说AI对知识表示的认真、系统的研究才刚刚开始。《人工智能原理》第四章知识表示概述•知识的定义(难以给出明确的定义只能从不同侧面加以理解)–Feigenbaum:知识是经过消减、塑造、解释和转换的信息。–Bernstein:知识是由特定领域的描述、关系和过程组成的。–Hayes-roth:知识是事实、信念和启发式规则。–知识库的观点:知识是某领域中所涉及的各有关方面的一种符号表示。《人工智能原理》第四章知识表示概述•知识的种类–事实性知识:采用直接表示的形式如:凡是猴子都有尾巴–过程性知识:描述做某件事的过程如:电视维修法–行为性知识:不直接给出事实本身,只给出它在某方面的行为如:微分方程、(事物的内涵)……..《人工智能原理》第四章知识表示概述•知识的种类……..–实例性知识:只给出一些实例,知识藏在实例中。–类比性知识:即不给出外延,也不给出内涵,只给出它与其它事物的某些相似之处如:比喻、谜语–元知识:有关知识的知识。最重要的元知识是如何使用知识的知识,如何从知识库中找到想要的知识。《人工智能原理》第四章知识表示概述•知识的要素–事实:事物的分类、属性、事物间关系、科学事实、客观事实等。(最低层的知识)–规则:事物的行动、动作和联系的因果关系知识。(启发式规则)。–控制:当有多个动作同时被激活时,选择哪一个动作来执行的知识。(技巧性)–元知识:高层知识。怎样实用规则、解释规则、校验规则、解释程序结构等知识。《人工智能原理》第四章知识表示概述•知识表示的定义–知识表示研究用机器表示知识的可行性、有效性的一般方法。–知识表示是理智推理的部分理论。–知识表示是有效计算的载体–知识表示是交流的媒介(如语义网络)《人工智能原理》第四章知识表示概述•选取知识表示的因素–表示范围是否广泛–是否适于推理–是否适于计算机处理–是否有高效的算法–能否表示不精确知识–能否模块化总之………知识和元知识能否用统一的形式表示是否加入启发信息过程性表示还是说明性表示表示方法是否自然《人工智能原理》第四章知识表示概述•选取知识表示的因素………..总之,人工智能问题的求解是以知识表示为基础的。如何将已获得的有关知识以计算机内部代码形式加以合理地描述、存储、有效地利用便是表示应解决的问题。《人工智能原理》第四章知识表示概述•研究内容–表示观的研究:认识论、本体论、知识工程–表示方法的研究:直接法、代替法(局部、分布,…….)《人工智能原理》第四章知识表示概述•知识表示研究的特点–智能行为特有的灵活性。“常识问题”不能概括为一类简洁的理论,是大量小理论的集合。–AI的任务受到计算装置的约束。这导致了所采用的“表示”必须同时满足“刻画智能现象”与“计算装置可以接受”,这两个有时是矛盾的条件。《人工智能原理》第四章知识表示第四章知识表示方法•概述•表示方法《人工智能原理》第四章知识表示表示方法•概述•直接表示•逻辑表示•产生式规则表示法•语义网络表示法框架表示法脚本方法过程表示混合型知识表示方法面向对象的表示方法《人工智能原理》第四章知识表示表示方法—概述•表示方法可以分成2类–替代表示法•局部表示法:最充分也是正统AI最经常使用的•分布表示法:对局部表示法在智能行为表述尚不够充分而作的补充。–直接表示法:正在引起越来越多AI研究者的注意。(不可完全独立:考虑到“任何表示方法必须被计算机所接受”这个先决条件,直接表示需要借助局部或部分表示形式。《人工智能原理》第四章知识表示表示方法—概述表示方法直接表示局部表示分布表示陈述性表示过程性表示语义网络表示产生式表示逻辑表示框架表示脚本表示替代表示《人工智能原理》第四章知识表示表示方法概述•直接表示•逻辑表示•产生式规则表示法•语义网络表示法框架表示法脚本方法过程表示混合型知识表示方法面向对象的表示方法《人工智能原理》第四章知识表示表示方法概述直接表示•逻辑表示•产生式规则表示法•语义网络表示法框架表示法脚本方法过程表示混合型知识表示方法面向对象的表示方法《人工智能原理》第四章知识表示表示方法—直接表示•1963年由Gelernter提出的。用于基于传统欧氏几何证明的几何定理证明器。•它的输入是对前提和目标的陈述以及图示(图示是用一系列坐标来表示的)。•在证明过程中,证明器把图示作为启发式信息,排除在图示中不正确的子目标。从而大大地减少了搜索空间。•但……..《人工智能原理》第四章知识表示表示方法—直接表示•但,长期以来直接表示没有得到长足发展。原因如下:–计算机对直接表示的信息难以处理。–直接表示难以表示定量信息(语言设计失败)–直接表示不能描述自然世界的全部信息•这两年直接表示有所发展,因为,现在认识到,可以用其它媒体表示的方法去补充直接表示的不足。——将被发展成多媒体。•引申的研究是临场AI与临境技术。近几年AI对自主智能系统研究(完全机器做人不干预)的失望,导致对建立人机一体智能系统的尝试。这样系统所需环境的要求是直接表示兴起的原因之一。《人工智能原理》第四章知识表示表示方法概述直接表示•逻辑表示•产生式规则表示法•语义网络表示法框架表示法脚本方法过程表示混合型知识表示方法面向对象的表示方法《人工智能原理》第四章知识表示表示方法概述直接表示逻辑表示•产生式规则表示法•语义网络表示法框架表示法脚本方法过程表示混合型知识表示方法面向对象的表示方法《人工智能原理》第四章知识表示表示方法—逻辑表示法•一阶谓词逻辑是谓词逻辑中最直观的一种逻辑。它以谓词形式来表示动作的主题、客体。客体可以多个。如:张三与李四打网球(ZhangandLiplaytennis),可写为:play(Zhang,Li,tennis)这里谓词是play,动词主体是Zhang和Li,而客体是tennis。•谓词逻辑规范表达式:P(x1,x2,x3,…),这里P是谓词,xi是主体与客体。《人工智能原理》第四章知识表示表示方法—逻辑表示法•谓词比命题更加细致地刻画知识:–表达能力强•如:北京是个城市,City(x)把城市这个概念分割出来。把“城市”与“北京”两个概念连接在一起,而且说明“北京”是“城市”的子概念。(有层)–谓词可以代表变化的情况•如:City(北京),真。City(煤球),假–在不同的知识之间建立联系……….《人工智能原理》第四章知识表示表示方法—逻辑表示法–在不同的知识之间建立联系•如:Human(x)→Lawed(x),人人都受法律管制,x是同一个人。Commit(x)→Punished(x),x不一定是人也可以是动物。而,{[Human(x)→Lawed(x)]→[commit(x)→Punished(x)]},意为如果由于某个x是人而受法律管制,则这个人犯了罪就一定要受到惩罚。《人工智能原理》第四章知识表示表示方法—逻辑表示法•谓词逻辑法是应用最广的方法之一,其原因是:–谓词逻辑与数据库,特别是关系数据库就有密切的关系。在关系数据库中,逻辑代数表达式是谓词表达式之一。因此,如果采用谓词逻辑作为系统的理论背景,则可将数据库系统扩展改造成知识库。–一阶谓词逻辑具有完备的逻辑推理算法。如果对逻辑的某些外延扩展后,则可把大部分的知识表达成一阶谓词逻辑的形式。(知识易表达)–………..《人工智能原理》第四章知识表示表示方法—逻辑表示法•谓词逻辑法是应用最广的方法之一,其原因是:………..–谓词逻辑本身具有比较扎实的数学基础,知识的表达方式决定了系统的主要结构。因此,对知识表达方式的严密科学性要求就比较容易得到满足。这样对形式理论的扩展导致了整个系统框架的发展。–逻辑推理是公理集合中演绎而得出结论的过程。由于逻辑及形式系统具有的重要性质,可以保证知识库中新旧知识在逻辑上的一致性(或通过相应的一套处理过程检验)、和所演绎出来的结论的正确性。而其它的表示方法在这点上还不能与其相比。《人工智能原理》第四章知识表示表示方法—逻辑表示法用逻辑(谓词)表示知识实质上是把人类关于世界的认识变成一个包含个体、函数和谓词的概念化形式。基本步骤:•给出有关世界的个体、函数和谓词•构造一阶谓词公式(集)•对公式(集)给出解释,使该解释是相应公式(集)的一个模型。《人工智能原理》第四章知识表示表示方法—逻辑表示法为此逻辑表示法在实际人工智能系统上得到应用。《人工智能原理》第四章知识表示逻辑表示例例:一个房间里,有一机器人Robot,一个积木块Box,两个桌子A和B,怎样用逻辑法描述从初始状态到目标状态的机器人操作过程?•先引入谓词:Table(A)表示A是桌子EmptyHanded(Robot)机器人Robot双手空空At(Robot,A)表示机器人Robot在A旁Holds(Robot,Box)机器人Robot拿着BoxOn(Box,A)积木块Box在A上•设定初始状态:EmptyHanded(Robot)On(Box,A)Table(A)Table(B)•目标状态是:EmptyHanded(Robot)On(Box,B)Table(A)Table(B)《人工智能原理》第四章知识表示例(续)•机器人的每个操作的结果所引起的状态变化,可用对原状态的增添表和删除表来表示。如机器人有初始状态是把Box从A桌移到B桌上,然后仍回到Alcove,这时同初始状态相比有:增添表On(Box,B)删除表On(Box,A)•又如机器人从初始状态,走近A桌,然后拿起Box。这时同初始状态相比有:增添表At(Robot,A)Holds(Robot,Box)删除表At(Robot,Alcove)EmptyHanded(Robot)On(Box,A)•进一步说,机器人的每一操作还需要先决条件。如机器人拿起A桌上的Box这一操作,先决条件:On(Box,A)(Box在A上)At(Robot,A)(机器人在A旁边)EmptyHanded(robot)(机器人手空空)《人工智能原理》第四章知识表示例(续)•先决条件成立与否的验证可以使用归结法。如将初始状态视作已知条件,而将要验证的先决条件作为结论,便可使用归结法了。•归结过程如下:1)At(Robot,A)2)EmptyHanded(Robot)3)On(Box,A)4)Table(A)5)Table(B)6)~On(Box,A)∨~At(Robot,A)∨~EmptyHanded(Robot)(先决条件之否定)7)~At(Robot,A)∨~EmptyHanded(Robot)3,68)~EmptyHanded(Robot)1,79)NULL2,8•于是验证了先决条件的成立。《人工智能原理》第四章知识表示表示方法—逻辑表示法•存在问题:谓词表示越细,推理越慢、效率越低,但表示清楚。实际中是要折衷的。《人工智能原理》第四章知识表示表示方法概述直接表示逻辑表示•产生式规则表示法•语义网络表示法框架表示法脚本方法过程表示混合型知识表示方法面向对象的表示方法《人工智能原理》第四章知识表示表示方法概述直接表示逻辑表示产生式规则表示法•语义网络表示法框架表示法脚本方法过程表示混合型知识表示方法面向对象的表示方法《人工智能原理》第四章知识表示表示方法—产生式规则表示法•美国数学家Post,1943年提出了一种计算形式体系里所使用的术语。主要是使用类似文法的规则,对符号串做替换运算。这就是最早的一个产生式系统。•到了60年代,产生式系统成为认知心理学研究人类心理活动中信息加工过程的基础,由此心理学家认为,人脑对知识的存储就是产生式形式。因此,用它来建立人类认知模型。•到目前为止,产生式系统已发展成为人工智能系统中最典型最普遍的一种结构。产生