【人工智能专栏】(3)知识表示方法 II

目录

  • 1. 简述
  • 2. 框架表示法
    • 2.1 框架理论
    • 2.2 框架表示法
    • 2.3 框架结构
    • 2.4 用框架表示方法的步骤
    • 2.5 框架表示法的应用:
  • 3. 谓词逻辑法
    • 3.1 命题与命题逻辑
    • 3.2 命题逻辑 vs.谓词逻辑
    • 3.3 一阶谓词逻辑表示法
      • 3.3.1 原子公式
      • 3.3.2 谓词演算
      • 3.3.3 联接词
      • 3.3.4 量词
      • 3.3.5 谓词公式
      • 3.3.6 谓词公式的解释
      • 3.3.7 等价关系
    • 3.4 谓词逻辑表示法的应用

1. 简述

上一篇文章简要介绍了 3 种知识表示方法:状态空间法问题归约法 以及 产生式表示,下面将介绍另外几种知识表示方法:框架表示法

2. 框架表示法

2.1 框架理论

1975 年美国人工智能专家 M.Minsky 在论文 “A framework for representing knowledge” 中提出了框架理论,受到了人工智能的广泛重视,后来逐步发展为一种被广泛使用的知识表示方法,成为理解视觉、自然语言对话和其他复杂行为的基础。

例子】当你在走进一个教室之前,你会根据你自己对教室的理解,想象到这个教室一定有四面墙,有门、窗、天花板和地板,还有黑板、讲台、粉笔、课桌、椅子等,尽管你对这个教室的具体细节如教室的面积、桌椅的个数等还不清楚,但对教室的结构是可以预见的。在你头脑中已经建立起了有关“教室”这一概念的基本框架~

2.2 框架表示法

• 框架是基于概念的抽象程度表现出自上而下的分层结构,它的最顶层是固定的一类事物:

  • 框架由框架名和描述事物各个方面的槽组成.每个槽可以拥有若干侧面,而每个侧面可以拥有若干个值。这些内容根据具体问题具体需要来取舍!

• 框架理论将框架作为知识的单元,将一组有关的框架链接起来便形成框架系统。许多推理过程可以在框架系统内完成~

2.3 框架结构

框架的基本结构为:一个框架 (Frame) 由一组槽(Slot)组成,一个槽可以由若干个侧面 (Face) 组成,每个侧面可以有一个或多个值 (Value)。

框架中的一些定义:

  1. 框架:框架表示一个对象、一个概念、一个事件、或问题领域的一个实体。它是属性(或称为:槽)及其相关值的集合;
  2. :框架的属性;
  3. 侧面:对槽的进一步细化;
  4. :侧面的具体属性。

对于大多数问题,不能简单地用一个框架来表示,必须同时使用许多框架,组成一个框架系统!

框架例子1:关于 CSDN 用户的框架(简略版本)

框架名:
类属:<知识分子>
姓名:单位(姓、名)
码龄:单位(岁)
性别:范围:(男、女)
     缺省:男
学历:范围(初中、高中、中技、中专、大专、本科、硕士、MBA、博士、博士后)
水平:范围:(优、良、中、差)
	 缺省:良
住址:<住址框架>
收入:<收入框架>
工作:<工作框架>

框架例子2:关于某个具体的 CSDN 用户的框架(简略版本)

框架名:
类属:<知识分子>
姓名:小邓在森林
码龄:2
性别:男
学历:高中
水平:良
住址:<住址框架-1>
收入:<收入框架-1>
工作:<工作框架-1>

2.4 用框架表示方法的步骤

  • 框架 是描述所论对象属性并反映相关各对象间各种关系的数据结构,可以将它视做知识的单位。
  • 对于要被表达的知识,其中可能包含许多对象,对象之间有各种各样联系,将这些有关系的对象的框架联结起来便形成要被表达知识的框架系统。
  • 框架表示知识的步骤:
    • Step1:分析待表达知识中的对象及其属性,对框架中的槽进行合理设置。
    • Step2:对各对象间的各种联系进行考察,使用一些常用的名称或根据具体需要定义一些表达联系的槽名,来描述上、下层框架间的联系。
    • Step3:对各层对象的“槽”及“侧面”进行合理的组织安排,避免信息描述的重复。

2.5 框架表示法的应用:

  • Bobrow (1977) 研究了基于框架方法的知识表达语言 KRL (Knowledge Representation Language);
  • Bobrow 等 (1977) 研制的通用理解系统 GUS (General Understanding System),是用框架方法的“人•机”对话系统;
  • Stcfik (19791980) 研究用画面表达知识的多层规划系统;
  • Grelner (1980) 研究了知识表示语言的语言 RLL (Representation Language Language)。

3. 谓词逻辑法

3.1 命题与命题逻辑

  1. 命题

    数理逻辑中最基本的概念,具有具体意义又能判断它是真还是假的陈述句,称为命题。

    • 例如:中国是世界上人口最多的国家。
  2. 命题逻辑:研究命题及命题之间关系的符号逻辑系统。

3.2 命题逻辑 vs.谓词逻辑

  1. 命题逻辑的局限性

    • 命题逻辑表示法:无法把它所描述事物的结构及逻辑特征反映出来,也不能把不同事物间共同特征表述出来。
      • 例:所有的人都要学习。
    • 对问题进行量化,必须一个个地写出已经知道的人都需要学习的独立命题。
  2. 谓词逻辑

    • 谓词逻辑表示法:允许表达无法用命题逻辑表达的命题。
      • 谓词逻辑中,表达客观世界事实为由合适公式(WFF)写成的命题。
      • 谓词逻辑可作为知识的一种表示方法。

3.3 一阶谓词逻辑表示法

3.3.1 原子公式

原子公式:谓词演算的基本积木块。

例:表示“机器人 (ROBOT) 在 号房间 (r1) 内”。

I N R O O M ( R O B O T , r 1 ) INROOM(ROBOT, r_1) INROOM(ROBOT,r1)

其中 INROOM 是谓词符号,ROBOT r 1 r_1 r1 是常量符号。

3.3.2 谓词演算

谓词逻辑基本组成:谓词符号、常量符号、变量符号、函数符号、括号和逗号。

  • 原子公式由若干谓词符号和项组成。
  • 常量符号:最简单的项,表示论域内的物体或实体。
  • 变量符号:项,不涉及哪一个实体。
  • 函数符号:表示论域内的函数。

3.3.3 联接词

  • 合取词(与):连词 ∧ ∧ 把几个公式连接起来;
  • 析取词(或):连词 ∨ ∨ 把几个公式连接起来;
  • 蕴涵词:连词 → → 连接两个公式,表示 “如果——那么” 语句。蕴涵左式叫做前项,右式叫做后项;
  • 否定词:否定一个公式的真值,用 ~ 或 ┑ ┑ 表示;
  • 等价词:用 ↔ \leftrightarrow 表示, a = b a=b a=b 当且仅当 a > = b a>=b a>=b a < = b a<=b a<=b EQ ( a , b ) ↔ L E ( b , a ) ∧ L E ( a , b ) (a,b) \leftrightarrow LE(b,a)∧LE(a,b) (a,b)LE(b,a)LE(a,b)

3.3.4 量词

  • 全称量词:用符号 “ ∀ \forall ” 表示, ∀ x A ( x ) \forall xA(x) xA(x) 表示个体域中的所有(或任一个)个体都具有性质 A A A

    • 例:所有学生都穿彩色制服, ( ∀ x A ( x ) x ) [ S t u d e n t ( x ) → U n i f o r m ( x , C o l o r ) ] (\forall xA(x) x)[Student(x) \rightarrow Uniform(x,Color)] xA(x)x)[Student(x)Uniform(x,Color)].
  • 存在量词:用符号 “ ∃ \exists ” 表示, ∃ x A ( x ) \exists xA(x) xA(x) 表示存在着个体域中的个体具有性质 A A A

    • 例: r 1 r_1 r1 房间内有个物体, ( ∃ x ) I N R O O M ( x , r 1 ) (\exists x)INROOM(x,r1) (x)INROOM(x,r1).
  • ∀ x A ( x ) \forall xA(x) xA(x) ∃ x A ( x ) \exists xA(x) xA(x) 称为是 x x x 的约束部分,变元 x x x 称为指导变元, A ( x ) A(x) A(x) 称为相应量词的辖域: ∀ x ( P ( x ) → ∃ y Q ( x , y ) ) \forall x(P(x) \rightarrow \exists yQ(x,y)) x(P(x)yQ(x,y)).

  • 当多个量词连续出现,它们之间无括号分隔时,约定从左到右的次序读出,后面的量词在前面量词的辖域之中。
    ∀ x ∃ y ( x < y ) : x , y 的个体域为实数集 \forall x \exists y(xxy(x<y)xy的个体域为实数集

  • 量词不能随便换顺序 ∀ \forall ∃ \exists 两个量词交换位置,意义则不同,相应真值也可能改变。

    • 例: G ( x , y ) : x 小于 y G(x,y):x小于y G(x,y)x小于y
      • ∀ x ∃ y G ( x , y ) \forall x \exists yG(x,y) xyG(x,y) 表示任意实数 x x x,总存在实数 y y y,使得 x x x 小于 y y y。(√)
      • ∃ x ∀ y G ( x , y ) \exists x \forall yG(x,y) xyG(x,y) 表示存在实数 y y y,使得对一切实数 x x x,均有 x x x 小于 y y y。(×)

3.3.5 谓词公式

  • 原子谓词公式:用 P ( x 1 , x 2 , … , x n ) P(x_1,x_2,…,x_n) P(x1,x2,,xn) 表示一个 n n n 元谓词公式。其中, P P P n n n 元谓词, x 1 , x 2 , … , x n x_1,x_2,…,x_n x1,x2,,xn 为变元, P ( x 1 , x 2 , … , x n ) P(x_1,x_2,…,x_n) P(x1,x2,,xn) 称为谓词演算的原子公式,或原子谓词公式。

  • 运用连词量词能组合多个原子公式,构成复杂谓词公式

  • 谓词公式 (WFF, well-formed formulas) 的递归定义

    • (1) 原子谓词公式是谓词公式;
    • (2) 若 A A A 为谓词公式,则 ┑ A ┑A A 是一个谓词公式;
    • (3) 若 A A A B B B 是谓词公式,则 A ∧ B , A ∨ B 、 ( A → B ) 、 A ↔ B A∧B,A∨B、(A \rightarrow B)、A \leftrightarrow B ABAB(AB)AB 都是谓词公式;
    • (4) 若 A A A 是谓词公式, x x x A A A 中变元,则 ∀ x A ( x ) 、 ∃ x A ( x ) \forall xA(x)、\exists xA(x) xA(x)xA(x) 都是谓词公式。
  • 按规则(1) ~ (4)求得的公式才是谓词公式。

例:“对于所有的 x x x,如果 x x x 是整数,则 x x x 或为正的或为负的。”
( ∀ x ) ( I ( x ) → ( p ( x ) ∨ N ( x ) ) ) , (∀x)(I(x) →(p(x)∨N(x))), (x)(I(x)(p(x)N(x)))
其中, I ( x ) I(x) I(x) 表示 x x x 是整数, P ( x ) P(x) P(x) 表示 x x x 是正数, N ( x ) N(x) N(x) 表示 x x x 是负数。

3.3.6 谓词公式的解释

  • 谓词公式在个体域上的解释,即使用个体域中的实体对谓词公式的每个常元、变元、谓词和函数符号的指派。
  • A A A 为一个谓词公式,如果 A A A 在任一组解释下均为真,称 A A A永真式(或称重言式);
  • 如果 A A A 在任一组解释下均为假,称 A A A矛盾式(或称永假式不可满足式);
  • 如果至少存在一个解释使 A A A 为真,则称 A A A可满足式

3.3.7 等价关系

  • 联结词的优先级顺序 括号, ¬ , ∧ , ∨ , → , ↔ 括号,¬ , ∧, ∨, \rightarrow, \leftrightarrow 括号,¬.

  • 等价:无论如何解释,如果两个合式公式真值表都是相同的,则称它们是等价的。

  • 谓词公式的等价性

    • A , B A,B A,B 是个体域 D D D 上的两个公式,若对于 A A A B B B 的任意一组解释,两公式都具有相同的真值,则称公式 A A A B B B D D D 上等价,记作 A ↔ B A \leftrightarrow B AB
    • 对于公式 A A A B B B,若 A → B ↔ 1 A→B \leftrightarrow 1 AB1 ,则称公式 A A A 永真蕴涵公式 B B B,记作 A → B A \rightarrow B AB

3.4 谓词逻辑表示法的应用

尽管谓词逻辑还有不尽入意之处,但确是一种应用较早、较广泛,也是较成功的知识表示方法,它比较适用于用定理证明方法求解问题的系统。例如:

  • Green (1969) 研制的自动问答系统,用逻辑方法表达知识,以定理证明方式推理,它是进行化学等方面的问题解答的通用系统。
  • Fikes (1971) 研制的机器人行动规划系统,在问题求解中采用了演绎推理方法,规划决策采用了“目标- 手段”分析法。
  • Filman (1976) 研制了机器博弈系统。
  • KoWalski (1979) 研制了问题求解系统。

上一篇文章:【人工智能专栏】(2)知识表示方法 I

你可能感兴趣的:(人工智能,人工智能,ai,1024程序员节,知识表示方法)