概述
知识表示是人工智能研究中最基本的问题之一。
在知识处理中总要问到:如何表示知识,怎样使机器能懂这些知识,能对之进行处理,并能以一种人类能理解的方式将处理结果告诉人们。
在AI系统中,给出一个清晰简洁的有关知识的描述是很困难的。 09
第二章 知识表示 概述
知识的定义(难以给出明确的定义,只能从不同方面加以理解) Feigenbaum:知识是经过消减、塑造、解释和转换的信息。 Bernstein:知识是由特定领域的描述、关系和过程组成的。 Hayes-roth:知识是事实、信念和启发式规则。
从知识库的观点看,知识是某领域中所涉及的各有关方面的一种符号表示。 09 概述 数据:用一组符号及其组合表示的信息称为数据,是记录信息的符号,是信息的载体和表示。 信息:是对数据的解释,数据在特定场合下的具体含义。 知识:把有关信息关联到一起所形成的信息结构称为知识。 09 概述
知识的种类
以知识的作用范围来划分: 常识性知识,领域性知识 以知识的作用及表示来划分:
事实性知识,规则性知识,控制性知识,元知识 以知识的确定性来划分: 确定性知识,不确定性知识 以人类的思维及认识来划分 逻辑性知识,形象性知识 09 概述
知识的表示
研究用机器表示知识的可行性、有效性的一般方法,是一种数据结构与控制结构的统一体。 知识表示的分类 陈述性知识表示
主要用来描述事实性知识 过程性知识表示
用来描述规则性知识和控制结构知识 09
表示方法(各有特点,并存) 谓词逻辑法
产生式规则表示法 语义网络法 状态空间法 问题归约法
框架表示 面向对象表示 脚本方法表示 过程式表示 09
表示方法 —谓词逻辑法
逻辑是一种重要的知识表示方法。使用逻辑法表示知识,须将以自然语言描述的知识,通过引入谓词、函数加以形式描述,获得有关的逻辑公式,进而以机器内码表示。
用一阶谓词逻辑公式可以表示事物的状态、属性、概念等事实性知识,也可以表示事物间具有确定因果关系的规则性知识。 09
表示方法 —谓词逻辑法
一阶谓词逻辑是谓词逻辑中最直观的一种逻辑。它以谓词形式来表示动作的主体、客体。客体可以多个。 如:张三与李四打网球(Zhang and Li play tennis),可写为:PLAY(Zhang, Li, tennis) 这里谓词是PLAY ,动词主体是Zhang和 Li,而客体是tennis。 09
表示方法 —谓词逻辑法 谓词逻辑规范表达式:
P ( x1, x2, x3, ?), P是谓词符号(简称谓词),xi(i=1,2,?n)是参数项(简称项);由于有n个参数项,P(x1, x2, ?, xn)表示了一个n元谓词公式。项可以是常量、变量或函数。
基本符号:谓词符号、变量符号、函数符号、常量符号、括号和逗号。 09
表示方法 —谓词逻辑法
例:用谓词公式表示“机器人(ROBOT)在1号房间(R1)内”。 当机器人ROBOT移到房间R2时,谓词公式可以表示为: INROOM (ROBOT, R2)
这两个谓词公式的通用形式就是: 09
表示方法 —谓词逻辑法
例如,谓词公式表示“李的母亲和他的父亲结婚”。
注意:一般的,常量符号用大写字母表示,变量符号用小写字母表示。 09
表示方法 —谓词逻辑法
连词和量词(Connective & Quantifiers)
谓词公式是谓词演算的基本单元,也称为原子公式。通过引入连词和量词,可以把原子公式组合为复合谓词公式。通常将复合谓词公式称为逻辑语句,所以谓词演算也称为谓词逻辑。 连词:谓词演算中使用的连词主要有 ┑(非)、∧(与)、∨(或)、 -> (蕴涵)和<=>(等价,有时也表示为 ?)。 09
表示方法 —谓词逻辑法 连词
与·合取(conjunction)合取就是用连词∧把几个公式连接起来而构成的公式。合取项是合取式的每个组成部分。
例:Like(I,Music)∧LIKE(I,Painting) (我喜爱音乐和绘画。)
或·析取(disjunction) 析取就是用连词∨把几个公式连接起来而构成的公式。析取项是析取式的每个组成部分。 例:Play(Lili,Basketball) ∨Play(Lili,Football) (李力打篮球或踢足球。) 09
表示方法 —谓词逻辑法 连词
蕴涵(Implication) :蕴涵 表示“如果-那么”的语句。用连词->连接两个公式所构成的公式叫做蕴涵。 IF A THEN B , A ->B 例:Runs(Lihua,Fastest) -> Wins(Lihua,Champion) (如果刘华跑得最快,那么他取得冠军) 非(NOT) 表示否定,~、┑均可表示。
例:~Inroom(Robot,R2)(机器人不在2号房间内。) 09
表示方法 —谓词逻辑法 量词
为扩大命题演算能力,就需要引入变量和有关的表示方式。为此,谓词演算引入了量词来表示对变量的处理。量词分为二类: 全称量词--以符号 表示,( x)P(x)表示对于某个论域中的所有个体x,都有P(x)真值为T。 存在量词--以符号 $表示, ( $ x)P(x) 表示某个论域中至少存在一个个体x,使P(x) 真值为T。
这里,P(x)是任意逻辑语句,也称作量词的管辖范围。 09
表示方法 —谓词逻辑法
量词:以下是几个应用量词的例子 ( x)[Robot(x) -> Color(x, Gray)] 所有机器人都是灰色的;
(x)[Road(x)-> Lead(x, Roma)] 条条大路通罗马;
( $ x)[Isa(x,Robot)∧Inroom(x,R1)] 至少有一个机器人在房间R1 中; 09
表示方法 —谓词逻辑法 量词:
出现在量词符号中的变量,称为量词的约束变量(或称变元),其取值仅在量词的辖域内有效。不受量词约束的变量,称为自由变量。自由变量是相对的。
例如:( x)[Person(x)∧Give(Mary,x,y)]
Mary给每人某个东西。 09
表示方法 —谓词逻辑法
谓词公式表示知识的基本步骤:
定义谓词及个体,确定每个谓词及个体的确切含义;
根据所要表达的事物或概念,为每个谓词中的变元赋以特定的值;
根据所要表达的知识的语义,用适当的连接符号将各个谓词连接起来,形成谓词公式。 09
谓词公式表示知识举例
例: 张晓辉是一名计算机系的学生,但他不喜欢编程序。 第一步:定义谓词
COMPUTER(x):x是计算机系学生 LIKE(x,y):x喜欢y
涉及到的个体:张晓辉,编程序 第二步:将个体带入谓词中
COMPUTER(zhangxh), ~LIKE(zhangxh,program) 第三步:根据语义,用逻辑连接词连接谓词
COMPUTER(zhangxh) ∧ ~LIKE(zhangxh,program)
表示方法 —谓词逻辑法 09 19
谓词公式表示知识举例
例: 李小鹏比他父亲长的高。 第一步:定义谓词
HIGHER(x,y):x比y高
涉及到的个体:李小鹏,李小鹏的父亲(函数表示) 第二步:将个体带入谓词中 HIGHER(lixp,father(lixp)),
表示方法 —谓词逻辑法 09 20
谓词公式表示知识举例 例: 人人爱劳动。
第一步:定义谓词
MAN(x):x是人; LOVE(x,y):x喜欢y 第二步,第三步:
(? x)[MAN(x)->LOVE(x,labour)]
表示方法 —谓词逻辑法 09 21
谓词公式表示知识举例 例:
所有整数不是偶数就是奇数。 自然数都是大于零的整数。 第一步:定义谓词
N(x):x是自然数;I(x):x是整数;E(x):x是偶数 O(x):x是奇数;GZ(x):x大于零 第二步,第三步: (? x)[I(x)->E(x) ∨O(x)] ( ? x)[N(x)->GZ(x)∧I(x)]
表示方法 —谓词逻辑法 09 22
表示方法 —谓词逻辑法
例:有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花又喜欢菊花。 定义谓词 P(x):x是人 L(x,y):x喜欢y
其中,y的个体域是{梅花,菊花}。 将知识用谓词表示为:
($ x )(P(x)→(L(x, 梅花)∨L(x, 菊花)∨L(x, 梅花)∧L(x, 菊花))) 09
表示方法 —谓词逻辑法
例:不是每个计算机系的学生都喜欢在计算机上编程序。 定义谓词
S(x):x是计算机系学生
L(x, pragramming):x喜欢编程序 U(x,computer):x使用计算机 将知识用谓词表示为: ? ( x) (S(x)→(L(x, pragramming)∧U(x,computer))) 09
例: 机器人搬弄积木块问题表示
设在一个房间里,有一个机器人ROBOT ,一个壁橱ALCOVE,一个积木块BOX,两个桌子A和B。机器人可把积木块BOX从一种状态变换成另一种状态。