103
21/12/24 1 2 知知知知知知知

第 2 章 知识与知识表示

  • Upload
    analu

  • View
    130

  • Download
    0

Embed Size (px)

DESCRIPTION

第 2 章 知识与知识表示. 学海无涯. 2014/9/3. 1. 第 2 章 知识与知识表示. 2.1 知识表示概述 2.2 谓词逻辑的知识表示 2.3 产生式表示法 2.4 语义网络表示法 2.5 框架知识表示法 2.6 过程知识表示法 2.7 Petri 网模型表示法 2.8 面向对象的知识表示 2.9 其它知识表示法. 学海无涯. 2014/9/3. 2. 2.1 知识表示概述. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 2 章  知识与知识表示

23/4/21 1

第 2 章 知识与知识表示

Page 2: 第 2 章  知识与知识表示

23/4/21 2

第第 22 章 知识与知识表示 章 知识与知识表示 2.1 2.1 知识表示概述 知识表示概述 2.2 2.2 谓词逻辑的知识表示 谓词逻辑的知识表示 2.3 2.3 产生式表示法产生式表示法 2.4 2.4 语义网络表示法 语义网络表示法 2.5 2.5 框架知识表示法 框架知识表示法 2.6 2.6 过程知识表示法过程知识表示法 2.7 2.7 PetriPetri 网模型表示法 网模型表示法 2.8 2.8 面向对象的知识表示 面向对象的知识表示 2.9 2.9 其它知识表示法其它知识表示法

Page 3: 第 2 章  知识与知识表示

23/4/21 3

2.1 2.1 知识表示概述 知识表示概述

知识表示知识表示 (Knowledge Representation)(Knowledge Representation) ,,即把知识用计算机可接受的符号并以某种形式描述即把知识用计算机可接受的符号并以某种形式描述出来。诸如图表结构、语法树、规则匹配模式、树出来。诸如图表结构、语法树、规则匹配模式、树形或网状表达等。简言之,形或网状表达等。简言之,知识表示就是知识的符知识表示就是知识的符号化过程。号化过程。即把相关问题的知识加以形式化描述,即把相关问题的知识加以形式化描述,表示成为便于机器(计算机)存储、管理和调用的表示成为便于机器(计算机)存储、管理和调用的某种数据结构模式。某种数据结构模式。

Page 4: 第 2 章  知识与知识表示

23/4/21 4

2.1 2.1 知识表示概述 知识表示概述 目前,人工智能的知识表示方法已有目前,人工智能的知识表示方法已有几十种之多几十种之多。主要有:。主要有:

谓词逻辑表示法谓词逻辑表示法、、语义网络表示法语义网络表示法、框架表示法、、框架表示法、过程表示过程表示法法、、 PetriPetri 网网表示法表示法、、与与 // 或图表示或图表示、、状态空间表示法状态空间表示法和和人工人工神经元网络(神经元网络( ANNANN )表示法)表示法等。我们将结合智能技术具体等。我们将结合智能技术具体应用,在后面各章予以具体介绍和分析。应用,在后面各章予以具体介绍和分析。

总之,人们可以根据领域知识的特点选择一种总之,人们可以根据领域知识的特点选择一种最合适的方法将知识充分表达出来,也可以依据领最合适的方法将知识充分表达出来,也可以依据领域的复杂程度,把若干技术结合起来,以形成一种域的复杂程度,把若干技术结合起来,以形成一种

功能强大的系统,高效率地求解智能问题。 功能强大的系统,高效率地求解智能问题。

Page 5: 第 2 章  知识与知识表示

23/4/21 5

2.1 2.1 知识表示概述知识表示概述

2.1.1 什么是知识 2.1.2 知识的特性 2.1.3 知识的分类 2.1.4 知识映射原理

Page 6: 第 2 章  知识与知识表示

23/4/21 6

2.1 2.1 知识表示概述知识表示概述 2.1.1 2.1.1 什么是知识什么是知识 知识是人类世界特有的概念。它是人类对知识是人类世界特有的概念。它是人类对

客观世界一种较为准确、全面的认识和理解客观世界一种较为准确、全面的认识和理解的结晶。的结晶。

知识只有相对正确的特性。知识只有相对正确的特性。例如直到 1543 年哥白尼学说问世之前,人们一直认为地球是宇宙的核心;再有:人们都知道一个关于“瞎子摸象瞎子摸象”的故事,它通俗地说明了正确完整的知识形成是一个复杂的智能过程。

通常人们获取知识的重要手段是:利用信息,把各种信息提炼、概括并关联在一起,就形成了知识。而利用信息关联构成知识的形式有多种多样。

Page 7: 第 2 章  知识与知识表示

23/4/21 7

                                                                                                                                                

                                        

Page 8: 第 2 章  知识与知识表示

23/4/21 8

2.1 2.1 知识表示概述知识表示概述

六个瞎子来到国王的宫殿,第一次遇见一头大象。 第一个瞎子摸到象肚子:『多么光滑啊,象就像一座墙!』第二个瞎子摸到象鼻子:『圆圆的,像一条蛇!』

第三个瞎子伸出手摸到象牙:『尖尖的,象像矛!』 第四个瞎子伸手摸到象腿:『好高啊,象像一棵树!』 第五个瞎子伸手摸到象的耳朵:耳朵:『『好宽!象像一把扇子!好宽!象像一把扇子!』』

第六个瞎子摸到象的尾巴:尾巴:『『好细,象像一根绳子!好细,象像一根绳子!』』

““瞎子摸象”的故事瞎子摸象”的故事

Page 9: 第 2 章  知识与知识表示

23/4/21 9

2.1 2.1 知识表示概述知识表示概述 2.1.1 2.1.1 什么是知识什么是知识

最常用的且便于计算机利用的一种表达形式为:最常用的且便于计算机利用的一种表达形式为: ““ 如果如果…………,那么,那么……”……”或或““如果如果…………,则,则……”……”

例如,①如果教会机器人一些知识,那么它就能替人干更多的例如,①如果教会机器人一些知识,那么它就能替人干更多的事情;事情;

② ② 如果发现太阳黑子增多,那么就预示地球气候会发生反常;如果发现太阳黑子增多,那么就预示地球气候会发生反常; ③ ③ 如果敌进,则我退;如果敌疲,则我打; 如果敌进,则我退;如果敌疲,则我打; ④ ④ 如果大雁南飞,那么就预示着冬天临近。 如果大雁南飞,那么就预示着冬天临近。

Page 10: 第 2 章  知识与知识表示

23/4/21 10

2.1 2.1 知识表示概述知识表示概述 2.1.2 2.1.2 知识的特性知识的特性

1. 知识的相对正确性 常言道:实践出真知。知识源于人们生活、学习与工作的实践,知识是

人们在信息社会中各种实践经验的汇集、智慧的概括与积累。 知识来自于人们对客观世界运动规律的正确认识,是从感性认识上升成

为理性认识的高级思维劳动过程的结晶,故相应于一定的客观环境与条件下,知识无疑是正确的。然而当客观环境与条件发生改变时,知识的正确性就要接受检验,必要时就要对原来的认识加以修正或补充,以至全部更新而取而代之。

例如,计算式 1+1=10是正确的吗? 再如,在一般的工程计算中,使用牛顿力学运动定律,足以满足一般精

度要求而且很方便;但在接近光速的运行检测或进行核加速器中的粒子计算时,就必须以量子力学和相对论为依据来考察了。

Page 11: 第 2 章  知识与知识表示

23/4/21 11

2.1 2.1 知识表示概述知识表示概述 2.1.2 2.1.2 知识的特性知识的特性

2. 知识的确定与不确定特征 如前所述,知识由若干信息关联的结构组成。但是,其中有的信息是精

确的,有的信息却是不精确的。这样,则由该信息结构形成的知识也有了确定或不确定的特征。

例如,在我国中南地区,根据天上出现彩虹的方向及其位置,可以预示天气的变化。有谚语曰:“东边日 ( 晴天 ) ,西边雨。”但是,这只是一种常识性的经验,并不能完全肯定或否定。

再如:甲有一头秀发,乙是两鬓如霜。您认为甲一定是青年人,乙就是老年人吗?不能完全肯定,因为相反的事例是很多的。比如,当年的白毛女并不是老人,而现在六十多岁的演员有一头黑发并不足奇。

Page 12: 第 2 章  知识与知识表示

23/4/21 12

2.1 2.1 知识表示概述知识表示概述 2.1.2 2.1.2 知识的特性知识的特性

造成知识具有不确定性的因素是多方面的。诸如:①证据不足、地域时区不同、各种变化因素及现实世界的复杂性,造成客观后果及其知识的不确定性; ②生活中,模糊性概念及模糊关系比比皆是,形成了知识的不确定性;③概率事件发生常常不可避免,一般都具有随机不确定性的规律;④经验性及各种不完备的积累过程,导致相关知识的不确定性等。

尽管不确定性知识给人们带来了一些迷惑,但它反映了客观世界的多样性、丰富性和复杂性。

Page 13: 第 2 章  知识与知识表示

23/4/21 13

2.1 2.1 知识表示概述知识表示概述 2.1.2 2.1.2 知识的特性知识的特性

  3. 3. 知识的可利用性和可发展性知识的可利用性和可发展性 人们不断地创造了各种生动活泼的形式来记录、描述、表示和利用知识。诸如采用语言、文字,使用书籍,结合文学、戏剧、绘画、摄影等艺术以及电影、电视、多媒体等手段,进行知识的演播、学习与欣赏等。事实上,人类的历史,就是不断地积累知识和利用知识创造文明的历史。知识的可利用性使得计算机或智能机器能利用知识成为现实;而知识的机器可学习、可表示性使得人工智能不断得以进步与发展成为必然。

伴随着人类社会迈入信息时代,人类知识也进入了大发展时期。一方面在淘汰旧的、老的、无用的知识,另一方面新观念、新思想、新知识不断地被大量地挖掘涌现出来。目前,知识的更新和知识的总量,正以前所未有的速率迅速地增长。大力发展智能科学技术,努力开发人类知识宝库,发展新一代智力工具,这正是作为新时代智能科学工作者的光荣历史使命。

Page 14: 第 2 章  知识与知识表示

23/4/21 14

2.1 2.1 知识表示概述知识表示概述 2.1.3 2.1.3 知识的分类知识的分类

按照机器定理证明过程,可把先后要使用到的知识划分为三类。即事实性知识;事实性知识;过程性知识;过程性知识;控制性知识。控制性知识。

1. 1. 事实性知识:事实性知识:关于问题领域的性质及求解目标、求解环境及其已知条件、相关特性等方面的静态知识。事实性知识一般采用直接表示形式,用以记叙及描述有关的概念、事实、事物的状态及属性等。也可称为叙述型知识。

Page 15: 第 2 章  知识与知识表示

23/4/21 15

2.1 2.1 知识表示概述知识表示概述 2.1.3 2.1.3 知识的分类知识的分类 2. 2. 过程性知识:过程性知识:指那些能依据一定的规则,推导出相关的

结论与目标的规律性知识和能够实施匹配的序列操作性知识。 一般来说,过程性知识用以描述做某事的过程,是由问题领域内的相关

规则、定律、定理及经验等要素构成的知识。例如,①若信道畅通,请发绿色信号;如果异常时,请按红色信号开关。②“松花蛋制作法”。

3. 3. 控制性知识:控制性知识:一种用于取舍问题的求解策略,控制信息实施方法,决定推理路线的选取原则等方面知识。

一般来说,控制性知识是关于如何运用相关知识的知识,又称为元知识。例如,为了使一组机器人能协同完成某项任务,既要有监控他们相互配合情况的有关知识,还要有协调他们分工合作的决策性知识等。

Page 16: 第 2 章  知识与知识表示

23/4/21 16

2.1 2.1 知识表示概述知识表示概述 2.1.3 2.1.3 知识的分类知识的分类

知识还有其它的分类方法: 按照知识结构和表现特点来划分,可分为逻辑性知识逻辑性知识,和形象性知识形象性知识;

根据知识的确定性与不确定性来分,知识可分为确定性知识确定性知识和不确定性不确定性知识知识;

依据知识的作用范围划分,知识可分为常识性知识常识性知识,专业知识专业知识或领域性领域性知识知识等。

Page 17: 第 2 章  知识与知识表示

23/4/21 17

2.1.4 2.1.4 知识表示及其映射原理知识表示及其映射原理

一个智能机器系统如同智能生物一样,在运用知识进行信息交流或智能问题求解时,都需要预先进行知识表示。进而实现知识调用,达到利用知识求解问题目的。因而知识表示是知识信息处理系统中必不可少的关键环节。

对智能机器系统而言,知识表示知识表示,实际上就是对知识的一种描述或约定。其本质,就是采用某种技术模式,把所要求解问题的相关知识,映射为其本质,就是采用某种技术模式,把所要求解问题的相关知识,映射为一种便于找到该问题解的数据结构。一种便于找到该问题解的数据结构。

对知识进行表示的过程,实质上就是把相关知识映射对知识进行表示的过程,实质上就是把相关知识映射 ( 或称为变换:Transformation ;或称为映像: Mapping ;或称为编码: Coded.) 为该为该数据结构的过程。数据结构的过程。

Page 18: 第 2 章  知识与知识表示

23/4/21 18

2.1.4 2.1.4 知识表示及其映射原理知识表示及其映射原理

其目标是要对复杂的智能型问题实现机器求解。但机器直接对原始问题求解,难度很大;可采用知识表示的映射原理,把原始问题映射为它的一种同构或同态问题,然后再对同构或同态问题求出它的解答,则相对容易而方便。

顺便指出:同构解答与原始问题有相同的形式解;而对于同态问题,如要得到原始解,只需对同态解答再施行反运算 (T-1) 即可。在自然科学实际应用研究中,利用映射(称为变换)原理迂回求解的思想,是一种非常有效而广为使用的重要手段。

Page 19: 第 2 章  知识与知识表示

23/4/21 19

同构变换与 同态变换: 同构问题的解答等价

于原始问题的解答。 原始问题有解,则同态问题有解;同态问题无解,则原始问题无解

原始问题 原始解答

同态解答

同构解答

同态问题

同构问题

难求解

便易求解

易求解

等价

蕴涵

同构变换(明确)

同态变换(简化)

2.1.4 2.1.4 知识表示及其映射原理知识表示及其映射原理

Page 20: 第 2 章  知识与知识表示

23/4/21 20

2.1.4 2.1.4 知识表示及其映射原理知识表示及其映射原理 知识表示体系

表示方法

分布表示替代表示

局部表示直接表示

叙述性表示 过程性表示

语义网络表示产生式表示逻辑表示

脚本表示

框架表示

Page 21: 第 2 章  知识与知识表示

23/4/21 21

2.2 谓词逻辑的知识表示

知识的谓词逻辑表示符合人的思维习惯,可读性好,逻辑关系表达简便。使用谓词逻辑既便于表达概念、状态、属性等事实性知识,又能方便地采用谓词公式的表达形式,进行各种智能行为的过程性描述与演绎推理。下面我们结合实例的描述,以便逐渐掌握谓词逻辑的知识表示技术。

2.2.1 用谓词逻辑和公式表达各种意境

使用谓词逻辑和公式表达各种意境,首先应抓住一般自然语言主语、谓语结构特点,再依据谓词逻辑公式关于意境描述及连接词、量词这些关联信息进行综合分析,逐步形成关于意境描述的真实生动完整表达。

Page 22: 第 2 章  知识与知识表示

23/4/21 22

2.2.1 用谓词逻辑和公式表达各种意境

例 2-1 请分析下面的命题和谓词逻辑,并尽可能正确地表述它的含义: ⑴ 在草原上歌唱 ( 美貌姑娘 )∧ 蓝的 ( 天 )∧ 飘

( 白云 )∧吃草 ( 牛羊 )∧飞翔 ( 百鸟 ) ; ⑵ ( 彐 x){ 好姑娘 (x) ∧ 居住的地方 (z, x) ∧

遥远的 (z)∧(y)[ 人 (y)∧行走经过 (y, z)→回头留恋地张望 (y)]}.

2.2 谓词逻辑的知识表示

Page 23: 第 2 章  知识与知识表示

23/4/21 23

2.2.1 用谓词逻辑和公式表达各种意境例 2-1 请分析下面的命题和谓词逻辑,并尽可能正确地表述它的含义:⑴在草原上歌唱 ( 美貌姑娘 )∧蓝的 ( 天 )∧飘 ( 白云 )∧吃草( 牛羊 )∧飞翔 ( 百鸟 ) ; 解解:⑴这是由“合取”符连接起来并已命题化的一元谓词逻辑⑴这是由“合取”符连接起来并已命题化的一元谓词逻辑公式。从字面上来看,它表达了一种美丽的自然景观:草原上,公式。从字面上来看,它表达了一种美丽的自然景观:草原上,蓝蓝的天,白云飘飘,鸟儿在飞翔。有一位美貌的姑娘,一边蓝蓝的天,白云飘飘,鸟儿在飞翔。有一位美貌的姑娘,一边在放牧牛羊,一边在放声歌唱在放牧牛羊,一边在放声歌唱…………

2.2 谓词逻辑的知识表示

Page 24: 第 2 章  知识与知识表示

23/4/21 24

2.2.1 用谓词逻辑和公式表达各种意境例 2-1 请分析下面的命题和谓词逻辑,并尽可能正确地表述它的含义:⑵( 彐 x){ 好姑娘 (x)∧ 居住的地方 (z , x)∧ 遥远的(z)∧(y)[ 人 (y)∧ 行走经过 (y, z)→ 回头留恋地张望(y)]}.

解解:⑵这是一个既有谓词表示,又有命题逻辑表达;既有连接词,又有全称量词和存在量词的较复杂的谓词公式。字面上看,使人立刻联想到王洛宾的那首《在那遥远的地方》的民歌,一种生动的意境描述:在那遥远的地方,有位好姑娘,人们走过她的身旁,都要回头留恋地张望。

2.2 谓词逻辑的知识表示

Page 25: 第 2 章  知识与知识表示

23/4/21 25

2.2.2 用谓词逻辑表示知识单元

依据事物名称或关键词,可把知识库划分为知识单元结构 , 使用谓词逻辑进行知识单元描述表示。

例 2-2 设有若干记录:①阿亮的职业是编辑;①阿亮的职业是编辑;②②阿亮给阿铃送去了玫瑰花;阿亮给阿铃送去了玫瑰花;③阿铃是一名护士③阿铃是一名护士; ;

④④阿亮住址在长江大道阿亮住址在长江大道 11511151号;号;⑤⑤阿铃住址在淮海路阿铃住址在淮海路 947947号。号。

请用谓词逻辑 ( 中或英文 ) 表示上述各条记录,并分成必要的知识单元。

解解:首先定义谓词,并注意直接用常量替代谓词变元,使其命题化。

2.2 谓词逻辑的知识表示

Page 26: 第 2 章  知识与知识表示

2.2.2 用谓词逻辑表示知识单元 解解:则得:① OCCUPATION(aliang, staffer) ;② GIVE(aliang, aling, rose) ;③ OCCUPATION(aling, nurse) ;④ADDRESS(aliang, 1151-changjiang-st) ;⑤ ADDRESS(aling, 947-huaihai-rd).

可以把主要的个体常量作为关键词来划分知识单元。例如aliang, aling , rose 等。

aliangaliang :: ①① OCCUPATION(aliang, staffer) ; ② GIVE(aliang, aling, rose) ;

④④ ADDRESS(aliang, 1151-changjiang-st) ;alingaling ::② GIVE(aliang, aling, rose) ; ③ OCCUPATION(aling, nurse) ;

⑤ADDRESS(aling, 947- huaihai -rd) ;rose : ② GIVE(aliang, aling, rose) 。

关键词 aliang集中表示了关于阿亮的具体情况,尤其阿亮具有的性格特点——喜欢给女孩子献殷勤,送花买礼物等;而关键词 rose 表现了玫瑰花被传递的情况。

Page 27: 第 2 章  知识与知识表示

23/4/21 27

2.2.3 用谓词逻辑描述智能行为过程的求解

用谓词逻辑描述智能行为过程,关键在于恰当定义谓词及连接,首先定义谓词并给出每个谓词的确切含义;其次,注意个体域和量词辖域的约束与划定;然后,根据意境逻辑,利用连接词、量词把这些谓词关联起来。形成谓词逻辑描述。

例 2-5 如图示,设在一个含有凹室 (alcove)的房间内,有桌子 A 和书架 B ,一个机器人 (robot)和 一叠书 (book)。现在要求机器人(robot)从凹室出发,把桌子 A 上的书搬到 B 处书架上,完成任务后回到凹室。请用谓词逻辑描述机器人完成这一工作的全过程。

Page 28: 第 2 章  知识与知识表示

23/4/21 28

2.2.3 用谓词逻辑描述智能行为过程的求解

图 2-2 让机器人完成搬书的任务

Page 29: 第 2 章  知识与知识表示

23/4/21 29

2.2.3 用谓词逻辑描述智能行为过程的求解

解:解:⑴⑴为了能够描述这个机器人世界的有关环境和状态变迁,要求必须先定义谓词。注意这里需要定义两类谓词:一类用来描述环境状态,另一类谓词用来表示机器人的操作。首先定义描述环境状态的谓词。TABLE(x): x 是桌子, 个体域: x∈{a };BOOKCASE(z): z 是书架,个体域: z∈{b };EMPTY(y): y 手中是空的,个体域: y∈{robot};HOLDS(y, u): y 手中拿着 u ,个体域: u∈{books};AT(y, w): y 在 w 处,个体域: w∈{a, b , alcove };ON(u, x): u 被放在 x 之上;CLEAR(v): v 上 ( 中 ) 是空的, v∈{a, b }.

Page 30: 第 2 章  知识与知识表示

23/4/21 30

2.2.3 用谓词逻辑描述智能行为过程的求解

解:解:⑵使用谓词以及连接词、量词等来表示环境状态。这样,问题的初始状态可表示为:

S0: AT(robot, alcove)∧EMPTY(robot)

∧ON(books, a)∧CLEAR(b)

TABLE(a)∧BOOKCASE (b)

要求达到的目标状态为:Sg: AT(robot, alcove)∧EMPTY(robot)

∧ON(books, b)∧CLEAR(a)

TABLE(a)∧BOOKCASE (b)

Page 31: 第 2 章  知识与知识表示

23/4/21 31

2.2.3 用谓词逻辑描述智能行为过程的求解

解:解:⑶从初始状态到达目标状态的变迁,必须由机器人一步一步地执行相应的操作序列,得以逐步实现。因此,必须要定义操作类谓词。仔细加以分析,必要的操作谓词共有三类。

GOTO(x, w):机器人从 x 走到 w 处;PICK-UP(x) :机器人在 x 处拿起书;SET-DOWN(w) :机器人在 w 处放下书。

一般说来,如果定义谓词太多,将造成信息冗余,增加了问题的复杂度;如果定义谓词太少,就不够用。因此,定义的谓词性质与数量要合适。

Page 32: 第 2 章  知识与知识表示

23/4/21 32

2.2.3 用谓词逻辑描述智能行为过程的求解

解解::⑷ 按照行动规划,仔细选择操作,一步步进行状态替换,直到达到目标状态。即要求把状态变迁过程和操作序列记录下来,来描述问题解。下面写出该过程的最优路径:

AT(robot, alcove)∧EMPTY(robot)∧ON(books, a)CLEAR(b)∧TABLE(a)∧BOOKCASE(b)

AT(robot, a)∧EMPTY(robot)∧ON(books, a)CLEAR(b)∧TABLE(a)∧BOOKCASE (b)

AT(robot, a)∧HOLDS(robot, books)∧CLEAR(a)CLEAR(b)∧TABLE(a)∧BOOKCASE (b)

GOTO(alcove, a)GOTO(alcove, a)

PICK-UPPICK-UP(( aa ))

Page 33: 第 2 章  知识与知识表示

23/4/21 33

3.2.3 用谓词逻辑描述智能行为过程的求解

解解:: AT(robot, a)∧HOLDS(robot, books)∧CLEAR(a)CLEAR(b)∧TABLE(a)∧BOOKCASE (b)

AT(robot, b)∧HOLDS(robot, books)∧CLEAR(a)CLEAR(b)∧TABLE(a)∧BOOKCASE (b)

AT(robot, b)∧EMPTY(robot)∧ON(books, b)CLEAR(a)∧TABLE(a)∧BOOKCASE (b)

AT(robot, alcove)∧EMPTY(robot)∧ON(books, b)CLEAR(a)∧TABLE(a)∧BOOKCASE (b) (解毕)

GOTOGOTO(( b, alcoveb, alcove ))

GOTOGOTO(( a, ba, b ))

SET-DOWNSET-DOWN(( bb ))

Page 34: 第 2 章  知识与知识表示

23/4/21 34

2.2.3 用谓词逻辑描述智能行为过程的求解

解解::这样这样 ,, 得到目标为得到目标为  AT(robot, alcove)∧EMPTY(robot)∧ON(books, b)

CLEAR(a)∧TABLE(a)∧BOOKCASE (b)

这里顺便指出,若机器人智商不高,这个任务过程会产生许多冗余。比如,机器人拿着书,找不到 b 处,无所适从而又扛回来了;或者……等。可见,实际的机器人智能控制要更加复杂得多,虽然有时也很有趣。

Page 35: 第 2 章  知识与知识表示

23/4/21 35

2.2.4 谓词逻辑知识表示特性

谓词逻辑是一种传统经典也是最基本的形式化方法。谓词逻辑是一种传统经典也是最基本的形式化方法。谓词逻辑知识表示谓词逻辑知识表示 :: 规范性严,逻辑性强,自然性好,推规范性严,逻辑性强,自然性好,推理过程严密,易于实现。理过程严密,易于实现。这些优良特性使得谓词逻辑最早这些优良特性使得谓词逻辑最早用于人工智能机器定理证明,并获得了成功。但是,必须用于人工智能机器定理证明,并获得了成功。但是,必须看到,谓词逻辑属于标准的二值(看到,谓词逻辑属于标准的二值( TT 与与 FF )逻辑,难以直)逻辑,难以直接进行不确定性问题的处理;接进行不确定性问题的处理; 对于复杂系统的求解问题,容易陷入冗长演绎推理中,对于复杂系统的求解问题,容易陷入冗长演绎推理中,常常不可避免地带来求解效率低常常不可避免地带来求解效率低 ,, 甚至产生甚至产生““组合爆炸组合爆炸””问题。因此,针对谓词逻辑,尚待人们不断加以改进,以问题。因此,针对谓词逻辑,尚待人们不断加以改进,以便寻求自然性好而效率更高的技术方法。便寻求自然性好而效率更高的技术方法。

Page 36: 第 2 章  知识与知识表示

23/4/21 36

2.3 2.3 语义网络表示法语义网络表示法

语义网络是人工智能常用的知识表示法之一。它作为语义网络是人工智能常用的知识表示法之一。它作为人类联想记忆的一个显示心理学模型,是由人类联想记忆的一个显示心理学模型,是由J.R.Quillian J.R.Quillian 于于 19681968年在他的博士论文中首先提出,年在他的博士论文中首先提出,并用于自然语言处理。随后,在二十世纪七十年并用于自然语言处理。随后,在二十世纪七十年代,代, SimonSimon,, WinstonWinston,, HendrixHendrix等人分别都对语义网等人分别都对语义网络的应用与发展做出了贡献。络的应用与发展做出了贡献。

  

2.3.1 2.3.1 语义网络知识表示语义网络知识表示2.3.1.1 2.3.1.1 语义网络的概念语义网络的概念

语义网络结构共使用了三种图形符号:框、带箭头及文语义网络结构共使用了三种图形符号:框、带箭头及文字标识的线条和文字标识线。分别称为字标识的线条和文字标识线。分别称为 ::节节 (( 结结 )) 点点 ; ; 弧弧 (( 又叫做边或支路又叫做边或支路 ); ); 指针指针。。

Page 37: 第 2 章  知识与知识表示

23/4/21 37

2.3.1 2.3.1 语义网络知识表示语义网络知识表示2.3.1.1 2.3.1.1 语义网络的概念语义网络的概念

节点节点 (Node)(Node) ::也称为结点。用圆形、椭圆、菱形或长也称为结点。用圆形、椭圆、菱形或长方形的框图来表示,用来表示事物的名称、概念、属性、方形的框图来表示,用来表示事物的名称、概念、属性、情况、动作、状态等。情况、动作、状态等。 弧弧 (Arc)(Arc) ::这是一种有向弧,又称之为支路(这是一种有向弧,又称之为支路( BrancBranchh )。节点之间用带箭头及文字标识的有向线条来联结,)。节点之间用带箭头及文字标识的有向线条来联结,用以表示事物之间的结构,即语义关系。用以表示事物之间的结构,即语义关系。 指针指针 (Pointer) :也叫指示器。是在节点或者弧线的旁也叫指示器。是在节点或者弧线的旁边,另外附加必要的线条及文字标识,用来对节点、弧线边,另外附加必要的线条及文字标识,用来对节点、弧线和语义关系作出相宜的补充、解释与说明。和语义关系作出相宜的补充、解释与说明。 可见,语义网络是一种使用概念及其语义关系来表达知识的有向图。

Page 38: 第 2 章  知识与知识表示

23/4/21 38

2.3.1 2.3.1 语义网络知识表示语义网络知识表示2.3.1.2 2.3.1.2 基本语义关系基本语义关系

任何复杂的语义关系,都可以通过许多基本的语义关系予以关联来任何复杂的语义关系,都可以通过许多基本的语义关系予以关联来实现。因此,简单语义关系是构成复杂语义关系的基础。事实上,简实现。因此,简单语义关系是构成复杂语义关系的基础。事实上,简单语义关系具有多样性和灵活性,作为参考,我们下面仅对一些最常单语义关系具有多样性和灵活性,作为参考,我们下面仅对一些最常见的简单语义关系加以讨论。见的简单语义关系加以讨论。

(( 11 )属性关系)属性关系 :: 表示对象及其属性间的关系。常用属性关系有:表示对象及其属性间的关系。常用属性关系有:HAVEHAVE :含义为:含义为““有有””,表示上层结点具有下层结点所描述的属性值;,表示上层结点具有下层结点所描述的属性值; CANCAN :含义为:含义为““能能””或或““会会””,表示上层结点能够执行下层结点的,表示上层结点能够执行下层结点的功能。 功能。 例如,企鹅是一种有翅膀、会游泳的鸟。 其中,“有翅膀”、“会游泳”就分别表示了企鹅所具有及所能够进行的属性关系。

Page 39: 第 2 章  知识与知识表示

23/4/21 39

2.3.1 2.3.1 语义网络知识表示语义网络知识表示

2.3.1.2 2.3.1.2 基本语义关系基本语义关系

(( 22 )包含关系)包含关系 :: 又称为聚类关系,表示了下层概念是上又称为聚类关系,表示了下层概念是上层概念的一个组成部分的关系。与分类关系不同的是包含关层概念的一个组成部分的关系。与分类关系不同的是包含关

系一般不具备属性的继承性。常用的包含关系可表示为:系一般不具备属性的继承性。常用的包含关系可表示为:

COCO(( Composed-OfComposed-Of)) : : 含义为含义为““由由……所构成所构成””,表示了,表示了某一个某一个 (( 或某些或某些 )) 事物是另一事物的一个组成部分或构成要事物是另一事物的一个组成部分或构成要素素 . . APOAPO(( A-Part-OfA-Part-Of))::含义为含义为““是是……中的一部分中的一部分””。。

例如,“学生、教师、课程都是教学活动的要素”;再如,“门、窗户是房子结构的一部分”分别可用图 2-5和图 2-6所示的语义网络来表示。

Page 40: 第 2 章  知识与知识表示

23/4/21 40

2.3.1 2.3.1 语义网络知识表示语义网络知识表示

2.3.1.2 2.3.1.2 基本语义关基本语义关系系

COCO(( Composed-OfComposed-Of)) : :

含义为含义为““由由……所构成所构成”” ..

APOAPO(( A-Part-OfA-Part-Of))::含义为含义为““是是……中的一部中的一部

分分””。。

教学

学生 教师 课程

APO APOAPO

房 子

门 窗户CO CO

Page 41: 第 2 章  知识与知识表示

23/4/21 41

2.3.1 2.3.1 语义网络知识表示语义网络知识表示

2.3.1.2 2.3.1.2 基本语义关系基本语义关系 (( 33 )从属关系 )从属关系 ::ISAISA(( is-ais-a))::含义为含义为““是是一个一个””,表示某事或某物是一,表示某事或某物是一个具体的实例。个具体的实例。AKOAKO(( A-Kind-OfA-Kind-Of))::表示表示某事物某事物““是是……之中的一种之中的一种””,,即某类中的一个。 即某类中的一个。 AMOAMO(( A-Member-OfA-Member-Of)):: 表 表示某物示某物““是是……之中的一员之中的一员””,,即某类中的一员。即某类中的一员。

海棠花 植物AKO

钟明 研究生AMO

西安 著名古都ISA

Page 42: 第 2 章  知识与知识表示

23/4/21 42

2.3.1.3 2.3.1.3 复合语义关系复合语义关系 ( 1 )时间空间复合关系时间空间复合关系 : 时空复合关系表示了事物或事件发

生的时间和位置地点。常用这类关系有: AFTERAFTER :含义为“在…之后”,表示上层结点事实发生在

下层结点所描述的事件之后;或者表示下层结点对象在上层结点对象的位置之后。

BEFOREBEFORE :含义为“在…之前”,表示上层结点事实发生在下层结点所描述的事件之前;或者表示下层结点对象在上层结点对象的位置之前。

ONON :含义为“在…之上”,表示下层结点所描述的事物对象位于上层结点的事物之下。

ATAT :含义为“在…时刻”或“在…地点”,如图 2-10 所示。

此外,相应于多个对象,还可以有比较、相互接近等关系的组合。

Page 43: 第 2 章  知识与知识表示

23/4/21 43

2.3.1.3 复合语义关系 ( 1 )时空复合关系时空复合关系 : AFTERAFTER : BEFOREBEFORE : ONON : ATAT :

( 2 )复合推论关系复合推论关系 :: BO BO (Because-Of :由于:由于…… )) FORFOR (为了(为了……) ) THENTHEN (就(就……,则,则……) ) GETGET (使得(使得……,得到,得到……))

AT

钟楼 西安城中心

GET

人民安康 国家昌盛

Page 44: 第 2 章  知识与知识表示

23/4/21 44

2.3.1.3 复合语义关系

时间

环境 地点

ISIS

IS

IS动作

( 3 )复合逻辑关复合逻辑关系系 :

NOR(NOR(非非 )); AND(AND(与与 ););

OR(OR(或或 )) 等

Page 45: 第 2 章  知识与知识表示

23/4/21 45

2.3.1.3 复合语义关系 IS

某军港

军港之夜静悄悄,海风轻轻吹···

轻轻地 舰船… 海浪

方式对象

主体

时间 某天夜晚

环境 地点

ISIS

IS

动作 摇动

( 3 )复合逻辑复合逻辑关系关系 :

NOR(NOR(非非 )); AND(AND(与与 ););

OR(OR(或或 )) 等

Page 46: 第 2 章  知识与知识表示

23/4/21 46

2.3.1.3 复合语义关系

( 3 )复合复合逻辑关系逻辑关系 :

NOR(NOR(非非 )); AND(AND(与与 ););

OR(OR(或或 )) 等

时间 某天夜晚

环境 地点

ISIS

IS

IS

某军港

动作 摇动

轻轻地 舰船… 海浪

军港之夜静悄悄,海风轻轻吹···

方式对象

主体

Page 47: 第 2 章  知识与知识表示

2.3.2 2.3.2 语义网络知识表示语义网络知识表示特点表现(例特点表现(例))

A

B

房子

房子

楔形块 长方块

one-part-is

one-part-is

is-a

is-supported-by

(a)房子(b)房子由A、B两部分组成

(e)一个完整的房子概念

楔形块 长方块

is-a

(d)A是一个楔形块,B是一个长方块

is-supported-by

(c)A被B支撑着A B

BA

A B

A B

Page 48: 第 2 章  知识与知识表示

23/4/21 48

2.3.3 2.3.3 语义网络表示及其求解系统特性 语义网络表示及其求解系统特性

如下图 (2-13), 表示了语义网络求解系统的组成结

构。该系统基于语义网络知识库和语义网络推理机的功能

及其调用的基础上,主要使用了两种推理机制:一种是匹

配,另一种是继承作用,它们通过语义网络推理规则的控

制以及相继交互完成推理过程。

语义网络推理机

语义网络知识库

匹配匹配

继承 作用

Page 49: 第 2 章  知识与知识表示

23/4/21 49

2.3.3 2.3.3 语义网络表示及其求解系统特性 语义网络表示及其求解系统特性

2.3.3.1 2.3.3.1 匹配(匹配( MatchingMatching )) 进行语义网络知识表示系统的匹配推理,首先需要依据求解目标构造目标语义网络模式,使用其中一个与有向弧相连接的结点进行提问;然后按照该目标模式模块结构,在语义网络知识库中寻找与其相符合的模块结构进行匹配,从而推出对应于该问题提问结点的答案 .

语义网络推理机

语义网络知识库

匹配匹配

继承 作用

Page 50: 第 2 章  知识与知识表示

2.3.3.1 匹配匹配 ( Matching )

例 2-7 哨兵发现在起风的夜晚有一些响动,针对要求解的问题构造了目标语义网络模式如图 (2-14)所示,问题是想要知道在起风的夜晚,军港中海浪到底摇动了什么呢?

解:根据目标语义网络模式与给定的事实,可在图 2-11 语义网络知识求解系统提供的知识库中,寻找对应的模块结构进行匹配。于是就可立即发现:提问结点中所设定的“ x”就是被海浪发出的动作“摇动”的对象——到底是战舰、战船、浮标……还是别的什么呢?

摇动摇动

轻轻地 X 海浪

方式 对象 主体

Page 51: 第 2 章  知识与知识表示

23/4/21 51

2.3.3.2 继承继承

继承继承是指系统具有这样一种特性:能把事物属性从上层对象结点,传递到下层的具体实例结点上的作用。简言之,继承继承就是具有承上启下的功能作用就是具有承上启下的功能作用。

如图 2-15所示 :(1)所有动物都具有喜吃食、能运动的属性; (2)鸟 (bird)、鱼 (fish)分别都是动物的一种,因此,它

们也各自继承了动物的这些属性。 (3)此外,金鱼是鱼的一种,故金鱼就又继承了 fish类动物所具有的会游泳、繁殖、可喂养等属性,并又有可观赏等特点;同理,孔雀继承了鸟的属性,还具有展翼喜欢表现的习性等。

Page 52: 第 2 章  知识与知识表示

23/4/21 52

2.3.3.2 继承继承

运动 吃 CAN MAY

下蛋 翅膀 动物动物 游泳 喂养 繁殖  CAN HAVE ISA CAN MAY ISA ISA 

展翼 鸟 鱼 观赏  CAN ISA ISA CAN   孔雀 金鱼 

图 2-15 语义网络的继承推理

Page 53: 第 2 章  知识与知识表示

23/4/21 53

2.3.3.3 语义网络知识表示特性语义网络知识表示特性 语义网络是一种结构化知识表示方法,具有表达直观,

方法灵活,容易掌握和理解的特点。概括起来,主要优点有:

( 1 )采用语义关系的有向图来连接,语义、语法、词语应用兼顾,具有描述生动,表达自然,易于理解等优点。

( 2 )语义网络是一种结构化知识表示方法,易于进行系统模块功能组织与集成,模块功能调用灵活,便于扩充,也易于系统维护中进行功能更新与修改。

( 3 )具有匹配推理和属性继承特性,便于实现机器学习与联想。 虽然语义网络知识表示和推理具有较大的灵活性和多样性,但是没有公认严密的形式表达体系,却不可避免地带来了非一致性和程序设计与处理上的复杂性,这也是语义网络知识表示尚待深入研究解决的一个课题。

Page 54: 第 2 章  知识与知识表示

23/4/21 54

2.4 框架知识表示法框架知识表示法 框架表示法框架表示法诞生于 1975年,这也是一种结构化的知识表示方法,并已在多种系统中得到成功的应用。框架理论是由人工智能科学创始人之一,美国著名的人工智能学者M.L.Minsky( 明斯基 ) 提出来的。 Minsky 在其论文《 A

framework for representing knowledge》中认为,框架理论可作为人类理解视觉、自然语言及其它复杂行为的基础。

Page 55: 第 2 章  知识与知识表示

23/4/21 55

2.4 框架知识表示法框架知识表示法 按照 Minsky提出的框架理论,自然界各种事物都可用框架 (Frame)组织构成。每个被定义的框架对象分别代表着不同的特殊知识结构,从而可在大脑或计算机中表示、存储并予以认识、理解和处理。 框架是一种被用来描述某个对象(诸如一个事物、一个事件或一个概念)属性知识的数据结构。

Page 56: 第 2 章  知识与知识表示

23/4/21 56

2.4 框架知识表示法框架知识表示法 其次 ,Minsky等人还针对框架应用提出了一些实用性的问题 : 1)1) 依据给定的条件,如何选择初始框架; 2)2) 为了表现事物关联信息及各部分细节,如何按照框架的数据项赋值; 3)3) 当所选用的框架不满足给定的条件时,如何寻找新的框架; 4)4) 当找不到合适的框架时,是修改旧的框架还是建立一个新框架等。………

Page 57: 第 2 章  知识与知识表示

23/4/21 57

这种知识表示法实际上是一种多层次的数据结构形式。这种知识表示法实际上是一种多层次的数据结构形式。 1.. 具体框架的设计思路 : 1)1) 依据要表示的问题定义框架名; 2)2) 为了表现事物关联信息及各部分细节,框架可包含若干子框架;主框架表示主问题,子框架表示子问题。 3) 3) 赋以槽号和指针加以连接; 4)4) 每一框架还可划分侧面,由侧面名和值加以区分; 5) 5) 列举数据项与记录值,如相关槽值、侧面值等表示属性和特征。

2.4.12.4.1 如何建立某个事物的框架如何建立某个事物的框架

Page 58: 第 2 章  知识与知识表示

23/4/21 58

2.. 具体框架的设计步骤 : (( 11 ))框架知识学习。对当前事物或对象进行观察与分析,把要认识的对象与选定的框架知识表示进行比对,完成对象属性及其知识的了解与学习;(( 22 ))建立框架模式与概念。依据以往的经验,可在脑海的记忆中勾画出一个粗略的框架模式,予以装配,并给定一个框架名表示其概念;(( 33 ))框架的资料数值填写。在对该事物有了更加全面深入的了解后,再依据现实情况比照框架体的细节加以替换、修改和补充,按照框架的数据项(所定义的框架槽名和框架的侧面名)的要求,完成相关对象属性及其知识等资料数值的填写,以便逐步形成一个完整而具体的框架结构。

2.4.12.4.1 如何建立某个事物的框架如何建立某个事物的框架

Page 59: 第 2 章  知识与知识表示

23/4/21 59

3.. 框架设计举例 : 相对于简单的问题描述,框架可退化为一张数据表格结构。例如关于人物的知识,可设计为如下一张简单表格: S .NO1 . S .NO1 . 姓名 性别 年龄 民族 职业 工作单位 兴趣与爱好姓名 性别 年龄 民族 职业 工作单位 兴趣与爱好 N X … … … … … …

S .NO2 . S .NO2 . 最喜欢的颜色 个性 最动容的事 最厌恶的事 座右铭最喜欢的颜色 个性 最动容的事 最厌恶的事 座右铭 … … … … …

通过几项调查,就可以把关于某个人物的知识情况等,了解得清清楚楚。

2.4.12.4.1 如何建立某个事物的框架如何建立某个事物的框架

Page 60: 第 2 章  知识与知识表示

23/4/21 60

2.4.12.4.1 如何建立某个事物的框架如何建立某个事物的框架

比如,当某人第一次听说有一种叫犀牛的动物,虽然他当时还从没看到过犀牛,但他很自然按照经验,首先比照脑海中耕牛的比照脑海中耕牛的““框架框架””形象来想象犀牛:个头大,形象来想象犀牛:个头大,有皮毛,是哺乳动物并有蹄子,头上长角等。有皮毛,是哺乳动物并有蹄子,头上长角等。 当然,要建立一个具体的、如同“犀牛”那样一个生动而真实的框架结构,还需要对犀牛进行实际细微的观察,并比照框架体的细节不断地加以替换、修改和补充,最后才能获得关于“犀牛”的完善框架结构。

Page 61: 第 2 章  知识与知识表示

23/4/21 61

2.4.2 框架的知识表示模式举例框架的知识表示模式举例 下面是一个关于“大学教师”的框架设计模式。 框架名:〈大学教师〉 姓名:单位(姓,名) 年龄:单位(岁) 性别:范围 ( (男,女)缺省:男 ) 学历:范围(学士,硕士,博士) 职称:范围 ( (教授,副教授,讲师,助教)缺省:讲师 ) 部门:范围(学院(或系、处)) 住址:〈住址框架〉 工资:〈工资框架〉 参加工作时间:单位(年,月) 健康状况:范围(健康,一般,较差) 其它:范围(〈个人家庭框架〉,〈个人经济状况框架〉)

上述框架共有十一个槽,分别描述了关于“大学教师”的十一个方面的知识及其属性。在每个槽里都指定了一些说明性的信息,表明了相关槽的值的填写要有某些限制。

Page 62: 第 2 章  知识与知识表示

23/4/21 62

2.4.2 框架的知识表示模式举例框架的知识表示模式举例

例如把某教师周伯通的一组信息填入“大学教师”框架的各个槽,可得:

框架名:〈大学教师 -12〉 姓名:周伯通 年龄: 29 性别:男 学历:博士 职称:副教授 部门:信息科学与工程学院 住址:〈 adr-12〉 工资:〈 sal-12〉 参加工作时间: 2004, 9 健康状况:健康 其它:〈个人家庭 -12〉

这就是关于周伯通老师实际事例的一个框架,实际上,描述每位教师 ( 设其序号为 x)的情况都应该有类似这样的一个框架模式。其框架名为“大学教师 -x”,要了解其它状况还需要查阅〈 adr-x〉、〈 sal-x〉、〈个人家庭 -x〉等。

Page 63: 第 2 章  知识与知识表示

23/4/21 63

2.4.3 框架知识表示特性框架知识表示特性 框架知识表示也是一种结构化知识表示方法。具体简述如下:( 1 )结构化的知识表示。结构化的知识表示。 框架结构表现了人类经验和抽象思维的特性,每个框架就是一个独立

的知识单元,形成了一个相对独立的知识模块。因此,框架法具有模块化表达的特点:有直观、自然,描述层次简洁,易于扩充、修改直观、自然,描述层次简洁,易于扩充、修改等优点。

( 2 )可使用模式匹配的推理。可使用模式匹配的推理。 框架表示法发挥了人、机都可采用的模式匹配的经验手段来模拟推理,巧妙地利用了人、机都可以进行细微比较的智能。又可以按照框架的多方面多层次分别进行模式匹配,便于控制推理过程的精度和效率。

( 3 )支持上、下层框架属性知识表达的继承。支持上、下层框架属性知识表达的继承。 框架表示法支持上层框架概念抽象和下层框架信息继承共享的思想,不仅减少了框架信息和属性知识表达的冗余,而且保证了上、下层框架知识表达的一致性。

主要缺点:框架表示法过于死板,难以描述诸如机器人纠纷等类问题的动态交互过程生动性。

Page 64: 第 2 章  知识与知识表示

23/4/21 64

2.5 过程知识表示法过程知识表示法

所谓过程表示法,就是把问题求解的总目标划分为一个个过程(Procedure)目标,再结合知识利用环节确定为若干操作步骤,表示为一个个过程。每一个过程就是一段程序,用于完成对一个具体事件或情况的处理。在问题求解中,当需要使用某个过程时,就调用相应的程序并执行之。这样,问题的求解与推理,就转换成为一个又一个过程的程序组织与调用了。

简言之,依据问题的求解目标,按照事物的发展过程规律,用相关依据问题的求解目标,按照事物的发展过程规律,用相关知识加以设计和描述其求解过程的方法,称之为过程表示法知识加以设计和描述其求解过程的方法,称之为过程表示法。 对比前述各种非过程表示法 ,往往只从个体动作 \自身行为的独立作用和影响出发,注重于个体环境的静态描述。而过程表示法把问题相关领域的知识、信息及控制策略等,均隐含表示为一个或多个求解问题的过程,并着重于动态过程的描述;具体描述其控制行为所导致的一系列状态变迁,关注的是某个对象发出的若干个连续操作而导致的过程目标。

2.5.1 什么是什么是过程知识表示法过程知识表示法 ??

Page 65: 第 2 章  知识与知识表示

23/4/21 65

2.5.2 使用过程表示法求解九宫问使用过程表示法求解九宫问题题

这里以九宫问题 ( 又叫做八数码难题 ) 求解过程状态的描述为例,来说明过程表示法的求解方法及其推理形式。

例例 2-82-8 如图示,可用 X0~X8来标记问题中的九个小方格的对应位置,如图 (b) 为问题的目标状态 Sg 。其中,数字 1 ~ 8 是对应棋子的名称,中间的小方格是可供移动的空位。求解从任意初始状态到达目标状态的解路径。

X1 X2 X3

X8 X0 X4

X7 X6 X5

1 2 3

8 4

7 6 5

a) b) Sg

Page 66: 第 2 章  知识与知识表示

2.5.2 使用过程表示法求解九宫问题使用过程表示法求解九宫问题 解:解:依据九宫问题要达到的目标状态来分析,针对任何一个初始状态 So,设法使棋子一步步移动空位而逐渐逼近最终目标。因此,可按如下步骤来求解:

步 1 ,首先检查棋盘布局,若 So≠Sg,则检查 X1处棋子是否为数码 1 。是,则转步 3 ;否则任意移动棋牌,使棋子 1 和空格均不在 X3位置上。

步 2 ,按照图 3-17( a )所示的环形箭头逆时针 ( 或顺时针 ) 方向移动空格,并依

次移动棋牌,直到棋子 1 位于 X1位置,空格位于 X8位置时为止。 1 2 X

3 X

X X X

1 2 3

X X

X X X

2 3 X

1 X

X X X

a)

b) c)

Page 67: 第 2 章  知识与知识表示

2.5.2 使用过程表示法求解九宫问题使用过程表示法求解九宫问题 解:解:步 3 ,保持 X1=1=1 不动,不动,按照图 3-17( b )所示的箭头方向 ( 或相反方向 ) 移动棋子和空格,直到数码 2 位于 X2位置,空格位于 X0位置时为止。若这时刚好数码 3 在 X3位置上,则转第 7 步。

步 4 ,按照图 3-17( c )所示环形的逆时针 ( 或顺时针 ) 方向移动空格,并依次移动棋牌,直到数码 3 位于 X0位置,空格位于 X8位置时为止。

经过以上 4 步,得到的状态如图 3-18( a )所示。其中“ ×”表示除空格以外的其它任何棋子。

1 2 X

3 X

X X X

1 2 3

X X

X X X

2 3 X

1 X

X X X

a) b) c)

Page 68: 第 2 章  知识与知识表示

2.5.2 使用过程表示法求解九宫问使用过程表示法求解九宫问题题

解:解:步 5 ,按照图 3-17( d )所示的环形顺时针方向移动空格,并依次移动棋牌,直到空格到 X0为止。此时状态如图 3-18( c )所示。

步 6 ,按照图 3-17( e )所示的环形方向移动空格,并依次移动棋牌,直到空格又回到 X8为止。此时状态如图 3.18( b )所示。

步 7 ,按照图 3-17( c )所示的环形方向,依次移动棋牌和空格,直到数码4 位于 X4位置,空格位于 X0位置。若这时数码 5 刚好位于 X5位置上,则转第11步。

步 8 ,按照图 3-17( g )所示的环形方向移动空格 , 并依次移动棋牌,直到数码 5 位于 X0,空格位于 X8位置时为止。

( d )

X1 X2 X3

X8 X0 X4

X7 X6 X5

( e ) ( g )

Page 69: 第 2 章  知识与知识表示

23/4/21 69

2.5.2 使用过程表示法求解九宫问使用过程表示法求解九宫问题题

解:解:步步 99 ,依次移动棋牌,使得空格位置按照图,依次移动棋牌,使得空格位置按照图 3-173-17(( ff )所示的环形方)所示的环形方向移动空格向移动空格 , , 并依次移动棋牌,直到空格位于并依次移动棋牌,直到空格位于 XX4位置时为止。这时,使位置时为止。这时,使数码数码 55 插入插入 X4X4位置,再使位置,再使 XX6位置数码插入位置数码插入 XX0位置,则空格位于位置,则空格位于 X6X6位位置,如图置,如图 3-193-19(( 99 )所示。)所示。

步步 1010 ,按照图,按照图 3-173-17(( ff )所示的环形方向移动空格)所示的环形方向移动空格 , , 并依次移动并依次移动棋牌,直到状态如图棋牌,直到状态如图 3-193-19(( 1010)所示。)所示。

步步 1111 ,按照图,按照图 3-173-17(( gg )所示的环形方向移动空格)所示的环形方向移动空格 , , 并依次移动并依次移动棋牌,直到状态如图棋牌,直到状态如图 3-19 (11)_S3-19 (11)_Sg1 的目标状态,则问题得解;否则可的目标状态,则问题得解;否则可得到图得到图 3-19(11)_S3-19(11)_Sg2所示,说明了所给初始状态达不到所要求的目标所示,说明了所给初始状态达不到所要求的目标状态。状态。

(( ff))

(( gg ))

Page 70: 第 2 章  知识与知识表示

23/4/21 70

2.5.2 使用过程表示法求解九宫问题使用过程表示法求解九宫问题 解:解:

3 8 2

1 4

5 6 7

1 3 2

8 4

5 6 7

1 2 4

3 7

8 5 6

9) 10) 11)

2 3 4

1 7

8 5 6

1 2 3

7 4

8 5 6

1 2 4

3 7

8 5 6

12)

1) 2) 3) 4)

5) 6) 7) 8)

1 2 3

7 4

8 5 6

1 2 3

5 4

7 8 6

2 3 4

1 5 →→

7 ↑X 6

1 2 3

7 8 4

6 5

1 2 3

8 4

7 6 5

1 2 3

7 4

8 6 5

Page 71: 第 2 章  知识与知识表示

23/4/21 71

2.5.2 使用过程表示法求解九宫问使用过程表示法求解九宫问题题

这里以具体的九宫八数码难题求解过程状态的描述为例,来说明过程表示法的求解方法及其推理形式。

例例 2-82-8 如图示,可用 X0~ X8来标记问题中的九个小方格的对应位置,如图 (b)、 (c)分别 为问题的两种目标状态 Sg1 和 Sg2 。其中,数字1 ~ 8 是对应棋子的名称,中间的小方格是可供移动的空位。求解从任意初始状态到达目标状态的解路径。

X1 X2 X3

X8 X0 X4

X7 X6 X5

1 2 3

8 4

7 6 5

a) b) Sg1

1 2 3

7 4

8 6 5

c) Sg2

Page 72: 第 2 章  知识与知识表示

2.5.2 使用过程表示法求解九宫问题使用过程表示法求解九宫问题

( 1 )使X3 处的 X≠1 ,也不为空格;若若X1=1 则转则转( 3 )。。

X

( 2

) 1 X

X

X X

X X X

( 3

( 3 )保持X1=1=1 不动,不动,按图方向移动棋子和空格,直到数码 2 位于 X2位置,空格位于 X0位置时为止。检查是否检查是否 XX3=3=33 ,是则转,是则转( 7 )。。

1 1 2 X

X X

X X X

( 3

)( 1 ) ( 4

1 2 X

( 4)

⇓ 1 2

X

3 X

X X X

⇐⇐( 5

)⇐⇐( 5

2 3 X

1 X

X X X

⇐⇐( 6

1 2 3

X X

X X X

⇐⇐( 6

1 2 3( 7 )⇓

( 7

1 2 3

X 4

X X XX55

( 8

( 7 )按图示方向移动棋子和空格,直到数码 4 位于 X4位置,空格位于 X8位置时为止。检查是否检查是否 XX55=5=5 ,是则转,是则转( 11 )。。

1 2 3

4

XX55

( 8

1 2 3

5 4

X X XX55

( 9

Page 73: 第 2 章  知识与知识表示

2.5.2 使用过程表示法求解九宫问题使用过程表示法求解九宫问题 X

( 2

) 1 X

X

X X

X X X

( 3

1 1 2 X

X X

X X X

( 3

)( 1 ) ( 4

1 2 X

( 4)

⇓ 1 2

X

3 X

X X X

⇐⇐( 5

)⇐⇐( 5

2 3 X

1 X

X X X

⇐⇐( 6

1 2 3

X X

X X X

⇐⇐( 6

1 2 3( 7

)⇓

( 7

1 2 3

X 4

X X XX55

( 8

1 2 3

4

XX55

( 9

1 2 3

5 4

X X XX55

( 9

( 9 )⇓ 2 3

4

1 5 →→

X ↑X X

⇐⇐( 10 )⇐⇐

( 10 )

1 2 3

X X 4

X 5

⇐⇐( 11 )

1 2 3

4

5

⇐⇐Sg1

或 Sg2

Page 74: 第 2 章  知识与知识表示

23/4/21 74

2.5.2 使用过程表示法求解九宫问题使用过程表示法求解九宫问题 解:解:上上图 (3-19)给出了应用以上过程求解一个具体的九宫问题实例状态的描述,其中,图中( 1 )~ (11),分别对应了以上第 1 ~ 11步的步骤过程结束时所达到的路径状态; (12)则是另一目标状态。

从图 3-19可以看出,尽管这样得到的解的路径不一定是最佳的,但是,按这样一种过程表示法所编写的计算机程序,恰恰具有非常高的求解效率。

1 2 X

3 X

X X X

1 2 3

X X

X X X

2 3 X

1 X

X X X

a) b) c)

Page 75: 第 2 章  知识与知识表示

23/4/21 75

2.5.3 过程表示法的特点过程表示法的特点

过程表示法针对问题的求解目标,遵循事物进展过程的规律求解。因而目标明确,易于实现,效率较高,但维护性有待提高。其特性如下:

(( 11 )目标明确。)目标明确。过程表示法把问题求解的总目标划分为若干确定的过程目标与操作步骤,使问题求解始终瞄准总目标进行,不会偏离方向。

(( 22 )易于实现。)易于实现。过程表示法着重于表现事物变化动态过程的描述,针对问题的求解目标而设计操作步骤,符合事物发展变化规律,易于人们理解。同时,求解中将其控制性知识融入了系统过程,故控制系统就可以按照过程来规划,便于程序的设计与实现,也便于保证过程操作中具有较好的可测试性,这对于系统的顺利实现也是有利的。

Page 76: 第 2 章  知识与知识表示

23/4/21 76

2.5.3 过程表示法的特点过程表示法的特点

(( 33 )效率较高。)效率较高。使用过程表示知识,而过程就是程序。程序能够准确而清楚地表明过程先做什么,后做什么以及怎样做。用户可直接将启发信息和必要的控制性知识嵌入到过程中,避免了不必要的路径选择与跟踪,使问题的求解一步步逼近最终目标,因而提高了系统的运行效率。

(( 44 )局限性)局限性————可维护性有待提高。可维护性有待提高。其主要不足之处是:系统一旦确立,则不易修改及添加新的情况。原因是当我们要对某一过程进行修改时,有可能影响到其它的过程,这给系统的扩展和维护带来了诸多不便。

由于过程表示法对问题的描述没有固定的模式,要依据具体问题具体分析来设计与决策。为了进一步提高系统的可解释性和可维护性,该方法进一步发展趋势是:需要探讨一种把说明性与过程性相结合的知识表示方法。

Page 77: 第 2 章  知识与知识表示

23/4/21 77

2.6 PetriPetri 网模型表示法网模型表示法

1962年,德国学者 Cah Abam Petri在其博士论文“ Communication with Automata”中首次提出了Petri网模型的概念。目前, Petri网已经发展成为一种数学及图形的系统描述工具,可用来构造系统模型,进行系统动态特性分析。因此,可用 Petri网模型指导系统开发,表达智能问题的求解,并依据求解结果来评价、验证或进一步修改系统模型。

Page 78: 第 2 章  知识与知识表示

23/4/21 78

2.6 PetriPetri 网模型表示法网模型表示法

依据 Petri网知识表示法的思想,可定义若干元素构成一种多元组模型,来表示任何有限状态的智能系统。不同系统,其定义的元素意义及数目可有所不同。

三种基本元素:位置状态集 S ( State Set)、转换集T ( Transition Set)及流关系标记集 F ( Flow Set或Token Set) , 从而可用一个三元组模型来表示它们之间的关系:

即 N =( S , T , F ) 并可用下图所示的有向图来加以描述。

2.6.1 PetriPetri 网表示知识的方法网表示知识的方法

Fi Fj

S i t i S j

Page 79: 第 2 章  知识与知识表示

23/4/21 79

图中, Si 能 和 Sj 分别表示状态集合中的状态节点,状态节点用小圆圈代表,可分别加以流标记为 Fi、 Fj ,也可不必另加标记。 ti 表示转换集合 T 中的第 i转换操作节点,并用一黑短线条代表。位置状态节点与转换节点构成了一对序偶,连同它们之间的关系,用带箭头的线段作为有向弧线加以联结,表示了它们之间的状态变迁关系与方向,可表示为:

( Si, ti)→( ti, Sj) .

有了上述定义,就可以对任何一个有限状态系统建立模型表示了。

2.6.1 PetriPetri 网表示知识的方法网表示知识的方法

Fi Fj

S i t i S j

Page 80: 第 2 章  知识与知识表示

23/4/21 80

Petri网:定义一个三元组 N=(S,T,F) ,如果 N 满足以下条件就称为 Petri网。

(1) S∪T≠φ (2) S∩T= φ

(3) FS×T∪T×S

(4) dom(F)∪cod(F)= S∪T

2.6.1 PetriPetri 网表示知识的方法网表示知识的方法

Page 81: 第 2 章  知识与知识表示

23/4/21 81

例例 2-92-9 设有一种饮料饮料自动销售机自动销售机,可销售 1.0元或2.0 元两种瓶装饮料。该系统可接收面值为 0.50.5元元和 11 元元的两种硬币,且销售机存储硬币的最大容量为 2.0元。请使使用用 PetriPetri网网建造此自动销售机的工作模型工作模型。

2.6.2 一个使用 Petri 网建模的实例

Page 82: 第 2 章  知识与知识表示

23/4/21 82

例例 2-92-9 设有一种饮料自动销售机饮料自动销售机,可销售 1.0元或 2.0元两种瓶装饮料。该系统可接收面值为 0.5元和 1 元的两种硬币,且销售机存储硬币的最大容量为 2.0元。请使用请使用 PetriPetri 网建造此自动销售机的工作模型。网建造此自动销售机的工作模型。

解:( 1 )使用一个三元组模型来表示该系统。即 N =N =(( SS ,, TT ,, FF )); 其中 SS 表示价位(值)状态节点集; TT 表示转换操作集(包括投币、取货、退币、时延等独立或联合操作),

FF 为流关系标记集;销售机工作状态之间的变迁,用带箭头的有向弧线加以联结来标记。

2.6.2 一个使用 Petri 网建模的实例

Page 83: 第 2 章  知识与知识表示

2.6.3 Petri 网表示法的特点

取 1.0 元饮料 ∧退币 0.5 元

投 0.0 元( 时延操作 )

取 2.0 元饮料 取 1.0 元饮料   投 1.0 元 S2

0.0 元 投 0.5 元 投 1.0 元 投 0.5 元 S5 S1 投 0.5 元 2.0 元 0.5 元 投 1.0 元 投 0.5 元 S3 1.5 元

S4 1.5 元

S00 1.0 元

图 3-21 饮料自动销售机的 Petri 网模型

( 2 )按照上述定义,使用 Petri网建立该瓶装饮料自动销售机系统模型,如左图所示。

图中, S0为起始状态节点,表示销售机最初的硬币存储容量为 0 元。这里,对起始节点S0特别加以小黑圆圈标记,其它节点仅在节点旁边加以说明。

Page 84: 第 2 章  知识与知识表示

23/4/21 84

与其它的知识表示法比较起来, Petri 网作为一种数学与图形相结合的描述分析工具见长,有较大的灵活性。简述如下:

( 1 )可用来表示系统的工作模型。 如同前例那样, Petri 网可用来表示系统的工作模型,综合地描述系统静态及动态特性,能很方便描述系统状态的变化情况,从而可用以对系统特性进行综合分析。

( 2 ) Petri 网表示技术具有较大的灵活性。 可进行确定性的知识描述,还适合表达不确定性问题的

复杂情况; 既可表示成网状结构,又适应于环状及树状交织的复杂关系的表示;还可用 Petri 网描述并行及分布式处理、相互转换技术等。

2.6.3 Petri 网表示法的特点

Page 85: 第 2 章  知识与知识表示

23/4/21 85

2.7 面向对象的知识表示面向对象的知识表示 当 1967年 Dahl等人推出程序设计语言Simula-67时,就提出了面向对象( Object Oriented)的概念,随后美国 Xerox公司于1980年推出了以 SMALL TALK-80为代表的面向对象语言,开创了面向对象的程序设计风格。

二十世纪 90年代以来, C++ 、 Java 以及各种可视化工具语言推广应用, Internet技术的飞速发展,更使得面向对象技术流行于世界。

Page 86: 第 2 章  知识与知识表示

23/4/21 86

2.7 面向对象的知识表示面向对象的知识表示

人们认识世界是以世界划分为一些事和物为基础的,这里的物物指物体物体,事事指物体间的联系物体间的联系。面向对象表示法中的对象对象指物体,消息消息指物体间的联系,通过发送消息使对象间相互作用来求得所需的结果。 对象是由一组数据和与该组数据相关的操作构成的实体。如一个对象叫man ,并有一组表征的数据:

name: Li ming    age: 20相应的操作作为 birthday(岁数 ) :每年实现 age+1  这里,消息由 (object,Selector,arguments) 表示。

发送消息对象发送消息对象 要求该对象完成的操作要求该对象完成的操作 Selector 可选参数

2.7.1 面向对象的概念与特性面向对象的概念与特性

Page 87: 第 2 章  知识与知识表示

23/4/21 87

2.7 面向对象的知识表示面向对象的知识表示

简单地说,面向对象作为一种广泛采用的技术,其基本原则有三条: *  一切事物都是对象;*  任何系统都由对象构成,系统本身也是对象;*  系统的发展和进化过程都是由系统的内部对象和外部对象之间(也包括内部对象与内部对象之间)的相互作用完成的。

2.7.1 面向对象的概念与特性面向对象的概念与特性

Page 88: 第 2 章  知识与知识表示

23/4/21 88

2.7 面向对象的知识表示面向对象的知识表示

面向对象方法和技术之所以会如此流行,主要是因为它非常适合于人们认识和解决问题的习惯。首先它是一种从一般到特殊的演绎方法,这与人们认识客观世界时常用的分类的思想非常吻合;其次它也是一种从特殊到一般的归纳方法,由一大批相同或相似的对象抽象出新的类的过程,就是一个归纳过程。面向对象既提供了从一般到特殊的演绎手段,如继承等;也提供了从特殊到一般的归纳方法,如类等。因此它是一种很好的认知方法。

2.7.1 面向对象的概念与特性面向对象的概念与特性

Page 89: 第 2 章  知识与知识表示

23/4/21 89

2.7 面向对象的知识表示面向对象的知识表示

从狭义上看,面向对象的软件开发包括三个主要阶段:面向对象分析 Object-Oriented Analysis ,简称 OOA ;

面向对象设计 Object-Oriented Design ,简称 OOD ; 面向对象程序设计 Object-Oriented Programming ,

简称 OOP 。 其中 OOA 是指系统分析员对将要开发的系统进行定义和分

析,进而得到各个对象类以及它们之间的关系的抽象描述。 OOD 是指系统设计人员将面向对象分析的结果转化为适合于

程序设计语言中的具体描述,它是进行面向对象程序设计的蓝图。

OOP 则是程序设计人员利用程序设计语言,根据 OOD得到的对象类的描述,生成对象实例,建立对象间的各种联系,最终建立实际可运行的系统。

2.7.1 面向对象的概念与特性面向对象的概念与特性

Page 90: 第 2 章  知识与知识表示

23/4/21 90

( 1 )对象( Object ):即系统中能独立存在,具有属性( attribute )及协同作用的行为主体。具体说来,对象可以是一个具体的简单事物,也可以是一个要求解的问题或系统。广义来说,整个世界也可被认为是一个最复杂的对象。( 2 )面向对象( Object Oriented ):人们对于什

么是面向对象,持有许多不同的看法。而计算机学者P.Coad和 E.Yourdon 认为:

面向对象 面向对象 = = 对象对象 ++ 类类 ++ 继承继承 ++ 通信通信 这个简洁的等式表明,若一个系统具有等式右边的四个概念

及其叠加的功能特性,该系统就可称为面向对象的系统。

2.7.1 面向对象的概念与特性面向对象的概念与特性 2.7 面向对象的知识表示面向对象的知识表示

Page 91: 第 2 章  知识与知识表示

23/4/21 91

( 3 )类( Class ):类是关于对象的抽象,是一组具有共同属性的对象的集合。因此,类又可以被看作是一个赋予了集体属性的更高一级层次的对象。一个类的上层称为“超类”,下层称为“子类”,从而形成了类的层次结构。例如,办公桌、课桌,……都是具体对象,可把它们抽象为“桌子”类;桌子是一个类对象,椅子也是一个类对象,还有诸如凳子、柜子等,其集合又形成了更高层次的“家具”类等。这样,高级类、类、具体对象就形成了一个层次结构。并且层次越高越抽象,层次愈低则愈具体。

( 4 )继承( Inheritance ):是指 “子类”( Subclass )对“父类”( Super-class )全部属性的一种继续承接的作用关系。对象相对于对象类也应遵从继承关系。此外,“子类”比“父类”还可以有更多的自有属性,或者说“子类”对“父类”属性可以有扩展。

通过继承作用,可以实现底层对高层属性作用的多重复用与扩展。“子类”自然地继承了“父类” 所具有的数据、操作和属性等,从而避免了在底层的信息重复描述和冗余表达,提高了知识表达的效率。

2.7.1 面向对象的概念与特性面向对象的概念与特性 2.7 面向对象的知识表示面向对象的知识表示

Page 92: 第 2 章  知识与知识表示

23/4/21 92

( 5 )通信( Communication )及“封装”:通信指对象间,按某种约定协议方式,实现消息 (Message) 和操作命令的互相传递作用。

往往一个对象的状态只能由其私有操作来改变,其它对象的操作不能直接改变其状态。这种把私有操作局限于对象之内的现象,又称为“封装”。

要打破对象之间的封装,唯有使用通信手段。例如,当一个对象需要改变另一个对象的状态时,它只能用通信的方式首先向该对象发送消息。当这个对象接受消息并响应之,才会根据消息的模式匹配来找出相应的操作,从而执行操作来改变自己的状态。可见,封装是一种信息隐藏技术。

2.7.1 面向对象的概念与特性面向对象的概念与特性 2.7 面向对象的知识表示面向对象的知识表示

Page 93: 第 2 章  知识与知识表示

23/4/21 93

( 5 )通信( Communication )及“封装”: 封装是一种信息隐藏技术,同时,封装也是面向对象知

识表示系统的一个重要特征。它使得对象的用户可以不必去了解其它对象行为具体实现细节,只要用消息通信来访问和联系其它对象。这样,既简化了面向对象系统的内部知识表示关系,同时仍然十分清晰地显示了系统的工作过程。

也就是说,在面向对象知识表示中,正是借用了通信手段,实现了系统内部对象之间的相互激活、信息交互和处理,进而实现了系统的高级功能。

2.7.1 面向对象的概念与特性面向对象的概念与特性 2.7 面向对象的知识表示面向对象的知识表示

Page 94: 第 2 章  知识与知识表示

23/4/21 94

一个智能求解系统可以用具有层次结构四元组的模型四元组的模型来表示: S∷S∷=<=< IDID,, DSDS,,MSMS,,MIMI>> SS ::依据系统反映的主题( Subject )来命名,称之为主题层主题层。 IDID ::对象标识符对象标识符,又称为对象名对象名,反映了当前对象及其所属类别。 DSDS ::数据结构,又称属性层属性层,描述了当前对象的内部状态及静态属性。

常定义一个“属性名”附加“属性值” 的二元组来表示,记为〈属性名,属性值〉。

MSMS ::采用的方法集方法集,表明了系统内部所具有的策略支持和服务操作集合,称之为操作层操作层或服务层服务层。

MIMI ::消息接口消息接口,称之为连接层连接层,用于接收外部对象发送的信息,并可配备消息模式集及给定的参数表来传递相关信息。

2.7.2 面向对象的知识表示方法面向对象的知识表示方法 2.7 面向对象的知识表示面向对象的知识表示

Page 95: 第 2 章  知识与知识表示

23/4/21 95

例 2-10 试用面向对象的知识表示方法,分析并描述一个导弹跟踪系统,绘出该导弹拦截飞行系统的示意图。

2.7.2 面向对象的知识表示方法面向对象的知识表示方法

△ t

Tn

Tk

…T1

Tn-△ t

T0

Page 96: 第 2 章  知识与知识表示

23/4/21 96

解解:如前图所示,依照导弹飞行观测、飞行预测及轨道飞行修正与控制的需要,可把各类相关飞行数据划分为对象( 类 ) :根据导弹在各个飞行时刻观测数据划分为标识符 ID ;按照导弹飞行系统状态、属性及属性值等,来确定数据结构DS ,比如方位、速度、加速度等;根据各种测量手段、计算方法及其运算结果指出系统采用的方法集MS ;

最后,依据连接层的消息接口MI ,把获得的消息以及与之匹配的内部方法相联系,找到并指出系统指向具体操作的指针。这样,再通过相关的专家知识,就可得到如图 3-22 所示,这是导弹在 Tk 时刻的飞行的观测数据记录及其拦截系统的示意图。

2.7.2 面向对象的知识表示方法面向对象的知识表示方法 2.7 面向对象的知识表示面向对象的知识表示

Page 97: 第 2 章  知识与知识表示

23/4/21 97

对象模型技术 (Object Modeling Technique) ,简称 OMT 方法, 1987 年由 Loomis, Shan 和 Rumbaugh 等人提出, 1991 年被用于面向对象系统的开发中。

由OMT 定义的三个模型:即对象模型、动态模型和功能模型,构成了如图3-23 所示的链接贯串关系,并按照系统规划循环之。

2.7.3 对象模型技术及知识表示特对象模型技术及知识表示特

性性

对象模型

功能模型 动态模型

2.7 面向对象的知识表示面向对象的知识表示

Page 98: 第 2 章  知识与知识表示

23/4/21 98

对象模型:定义“谁要做”、“对谁做”以及“要达到的目标”;

动态模型:确定系统“何时开始做”; 功能模型:决策系统“做什么”及“如何做”。 如教材中图 3-23 所示,它表现了该模型渐进迭代、逐步求精、扩充、完善化的知识处理过程,同时又是一个贯穿于系统分析、系统求解与实现各阶段任务的智能递归过程。

2.7.3 对象模型技术及知识表示特对象模型技术及知识表示特

性性 对象模型

功能模型 动态模型

Page 99: 第 2 章  知识与知识表示

23/4/21 99

注意 注意 在上述在上述模型结构图中: 对象模型对象模型是关键首要模型,虽然它是一个由类、属性及操作

等关系构成的关联结构,但它是对象技术的基础; 动态模型规划运行图和事件的追踪,进行系统动态特征的描

述与表达; 功能模型着重于系统内部资料的传输与处理,并依据对象的操作,调度并控制组件的输入与输出。

2.7.3 对象模型技术及知识表示特对象模型技术及知识表示特

性性 对象模型

功能模型 动态模型

Page 100: 第 2 章  知识与知识表示

23/4/21 100

概括起来,面向对象的知识表示技术具有如下基本特征: (( 11 )独立封装,求解效率高;)独立封装,求解效率高; (( 22 )继承与扩展;)继承与扩展; (( 33 )多态性;)多态性; ( 4 )易扩充性; (( 55 )易维护性。)易维护性。

2.7.3 对象模型技术及知识表示特性对象模型技术及知识表示特性 2.7 面向对象的知识表示面向对象的知识表示

Page 101: 第 2 章  知识与知识表示

23/4/21 101

(( 11 )独立封装,求解效率高)独立封装,求解效率高:面向对象的知识表示具有模块化构成和便于打包与封装的特点。一个对象就是一个独立存在的实体,每个对象将自己的功能实现细节封装起来。其内部状态不直接受到外界的影响,便于系统灵活地调用和自由地应用。由于用户不必知道其内部细节就可使用它,从而加快了系统求解的效率。

(( 22 )继承与扩展)继承与扩展:正如“子类”能够继承或共享“父类”全部的属性一样,底层对象能够继承上层对象或对象类的全部的属性及其资料。此外,“子类”比“父类”还可以有更多的私有属性,或者说“子类”对“父类”属性还具有扩展作用。

2.7.3 对象模型技术及知识表示特性对象模型技术及知识表示特性 2.7 面向对象的知识表示面向对象的知识表示

Page 102: 第 2 章  知识与知识表示

23/4/21 102

(( 33 )多态性)多态性:多态是指同名不同义,可作多种解释。例如,

运算符“ +”既可作为算术数字相加,也可理解为实数的代数和相加,甚至可以解释为是某种含义的混同,但它们执行的操作方式全然不同。在面向对象系统中,利用对象的封装特性,使用重名操作,让各个对象根据实际情况按照自己的方式去执行,丝毫不会引起混乱。

( 4 )易扩充性:在面向对象的程序系统中,所谓程序设计就

是定义相关对象并建立这些对象间的通信关系;类是系统的基本构件,系统的功能需求变化通常不会影响对象类的设计与实现,而只需要适当改变它们的组装形式。这样,基本构件易于扩充,具有良好的可重用性。

2.7.3 对象模型技术及知识表示特性对象模型技术及知识表示特性 2.7 面向对象的知识表示面向对象的知识表示

Page 103: 第 2 章  知识与知识表示

23/4/21 103

(( 55 )易维护性)易维护性:在面向对象的系统设计中,类是对象的抽象,对象则是对象类的具体。面向对象系统实现了抽象和封装的功能,这就使描述对象的错误具有局部性,不会传播,便于检测和修改,便于维护。

总之,面向对象系统的知识表示与实现要针对具体目标来完成。它是一个建立在对象模型基础上的扩充细化和实现技术支持的过程。对于面向对象系统的应用前景认识,尽管学者们观点不一,看法有所不同,争论总是难免的。事实上,科学的发展规律就是:科学就是要在百家争鸣,百花齐放的氛围中才能凝炼、成长、壮大起来。

2.7.3 对象模型技术及知识表示特性对象模型技术及知识表示特性 2.7 面向对象的知识表示面向对象的知识表示