第二章 AI知识表示oommtt 下载本文

09

表示方法—框架表示法 框架表示法的特点:

结构性:善于表达结构性知识,能够表达知识的内部结构关系及知识间的联系。 继承性:通过将槽值设置为另一个框架的名字实现框架间的联系,建立表示复杂知识的框架网络。

自然性:体现了人类在观察事物的思维活动,通过从记忆中调用类似事物的框架,认识新事物。

框架表示法的不足:

不善于表达过程性知识,经常与产生式表示法结合使用。 09

表示方法(各有特点,并存) 谓词逻辑法

产生式规则表示法 语义网络法 状态空间法 问题归约法 框架表示 面向对象表示 脚本方法表示 过程式表示 09

表示方法—面向对象表示法

对象:是由一组数据和由该组数据相关的操作构成的封装体或者是实体。 例如:“人”是一个对象,它应该具有以下的一些属性Name; weight ;hair-color; age; height ;skin-color 相应的操作为 Birthday(age):每年实现age+1

实例是一个具体的人,实例其实也是一个对象,只不过比“人”这个对象低了一个层次。如果将每一个具体的人都看作是对象的话,那么“人”又会抽象成类。 09

表示方法—面向对象表示法 类

类在概念上是一种抽象机制,它是对一组相似对象的抽象,描述了一组具有相同属性和操作的对象。 继承

一个类拥有另一个类全部的变量和操作,这种拥有就称为继承。前者称为子类,后者称为父类。这种方法避免了信息的冗余。 09

表示方法—面向对象表示法 封装

定义:把一切局限于对象的消息及操作都限制在对象之内,在外面是不可见的,对象之间除了互递消息之外,不再有其他的联系,即为封装 面向对象表示的特点: 模块性 继承性 封装性 多态性 易维护性 09

表示方法—面向对象表示法 表示知识的方法: 09

表示方法(各有特点,并存) 谓词逻辑法

产生式规则表示法 语义网络法 状态空间法 问题归约法 框架表示 面向对象表示 脚本方法表示 过程式表示 09

表示方法—脚本表示法 脚本的定义

用来描写人类某种活动的事件序列,或者说脚本试图表达人们已成陈规的事件序列的指示,并且脚本可以看作是框架的一种特殊形式。 脚本的组成

进入条件:给处在脚本中所描述事件的前提条件。

角色:表示在脚本中所描述事件中可能出现的有关人物的槽。 道具:表示在脚本所描述事件中可能出现的有关物体的槽。 场景:用来描述事件发生的真实顺序。

结果:给处在脚本所描述的事件发生以后产生的结果。 09

表示方法—脚本表示法 09

表示方法—脚本表示法 09

表示方法—脚本表示法 用脚本表示知识的步骤

确定脚本运行的条件,脚本中设计的角色、道具;

分析所要表示的知识中的动作行为、划分故事情节,并将每一个故事情节抽象为一个概念,作为分场景的名字,每一个分场景描述一个故事情节;

抽取各个故事情节中的概念,构成一个原语集,分析并确定原语集中各原语之间的相互依赖关系与逻辑关系

把所有的故事情节都以原语集中的概念及它们之间的从属关系表示出来,确定脚本的场景序列,每一个子场景可能有一组原语序列构成 给出脚本运行后的结局。 09

表示方法—脚本表示法 脚本表示下的推理方法

脚本表示的问题求解系统一般也包含知识库和推理机。当需要求解问题的时候, 首先要到知识库中搜索寻找是否有适于描述所要求解问题的脚本

如果有,则在适于描述该问题的脚本中,利用一定的控制策略选择一个脚本作为启用脚本 将其激活,运行脚本,利用脚本中的因果关系实现问题推理的求解 09

表示方法—脚本表示法 脚本表示法的优点 自然性 结构性

脚本表示法的缺点

与框架等通用结构相比,要呆板,知识表达的范围也很窄。适用于表达预先构思好的特定知识,如理解故事情节等。 09

表示方法(各有特点,并存) 谓词逻辑法

产生式规则表示法 语义网络法 状态空间法 问题归约法 框架表示 面向对象表示 脚本方法表示 过程式表示 09

表示方法—过程式表示法

过程式表示就是将有关某一问题领域的知识,连同如何使用这些知识的方法,均隐式地表达为一个求解问题的过程。

过程规则表示知识时,一般由四个部分组成:

激发条件:求解问题过程中,启动该知识所应满足的条件。

演绎操作:过程中将依次被执行的那些动作,由一些列子目标构成。 状态转换:用来完成综合数据库的增、删、改操作。 返回:过程规则的最后一个语句。 09

表示方法—过程式表示法

例如:如果张三与李四是同班同学,且王五是张三的老师,求证,王五是张三的老师。

激发条件:BR(Teacher ?z ?y)

演绎操作:GOAL(Classmate ?x y)

GOAL(Teacher z x) 状态转换:INSERT(Teacher z y) 返回:RETURN 09 小结

知识是一切智能行为的基础,也是人工智能的重要研究对象。要使计算机具有智能,就必须使它具有知识,而要使计算机具有知识,就必须解决知识表示的问题。 本章就知识和知识表示的概念进行了较详细的阐述,对各种知识表示方法进行了简单的介绍。各种不同的知识表示方法没有什么本质的差别,目的无非是使知识的运用更合理和高效。一般而言,一个智能系统都由推理系统和知识库构成,知识表示的优劣直接影响推理的进行,二者是相辅相成的。因此,选择什么样的知识表示法时,不仅要考虑知识本身的结构,还要考虑推理系统的构成。 09