(计算机应用技术专业论文)可视化集成专家系统开发工具的设计与实现.pdf_第1页
(计算机应用技术专业论文)可视化集成专家系统开发工具的设计与实现.pdf_第2页
(计算机应用技术专业论文)可视化集成专家系统开发工具的设计与实现.pdf_第3页
(计算机应用技术专业论文)可视化集成专家系统开发工具的设计与实现.pdf_第4页
(计算机应用技术专业论文)可视化集成专家系统开发工具的设计与实现.pdf_第5页
已阅读5页,还剩60页未读, 继续免费阅读

(计算机应用技术专业论文)可视化集成专家系统开发工具的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 本文介绍了专家系统的基本概念与原理:讨论了产生式、语义网络、框架、 谓词逻辑等多种知识表示方法:描述了正向链、反向链、不确定性推理等多种推 理技术。在专家系统基本理论的基础上,本文设计了一种基于框架和规则、面向 对象的知识表示方法,并运用该表示方法,实现了可视化集成专家系统开发工具 ( v i b s d t ) 的原型。 可视化集成专家系统开发工具是一种图形交互式的可视化通用专家系统开发 工具,它从知识的界定出发,将专家知识按框架组织,把组成推理过程的规则分 解为对应框架结构上的知识对象节点的规则,实现了知识获取与推理过程的可视 化。它从知识界定的角度给出了一种建立专家系统的方法。最后,本文充分利用 面向对象技术及设计模式,设计和实现了v i e s d t 原型。 关键字:专家系统,可视化知识获取,面向对象,知识表示,推理 a b s t r a c t f h ep a p e ri n t r o d u c e st h ec o n c e p t i o na n d p r i n c i p l eo f t h ee x p e r ts y s t e m ,d i s c u s s e s s o m ek n o w l e d g e r e p r e s e n t a t i o ns u c h a sp r o d u c t i o n ,s e m a n t i cn e t w o r k ,f r a m e ,p r e d i c a t e l o g i c a n ds o o n ,d e p i c t ss o m er e a s o n i n gt e c h n o l o g ys u c h a sf o r w a r d r e a s o n i n g , b a c k w a r dr e a s o n i n ga n du n c e r t a i nr e a s o n i n g o nt h eb a s i so ft h ee x p e r ts y s t e m t h e o r y t h ep a p e rd e s i g n sao b j e c t o r i e n t e dk n o w l e d g er e p r e s e n t a t i o nm e t h o db a s e do nf l a m e a n dr u l e ,u s i n gt h em e t h o di t d e s i g n sa n di m p l e m e n t st h ep r o t o t y p eo ft h ev i s u a l i n t e g r a t e de x p e r ts y s t e md e v e l o p m e n tt o o l ( v i e s d t ) v i e s d ti sau n i v e r s a lg r a p h i ci n t e r c h a n g ev i s u a le x p e r ts y s t e md e v e l o p m e n t t o o l ,f r o mt h ek n o w l e d g eb o u n d a r y , i to r g a n i z e st h ee x p e r tk n o w l e d g eb a s e d a c c o r d i n go ff r a m e ,d i v i d e st h er u l ew h i c hc o m p o s eo f t h er e a s o n i n gp r o c e d u r ei n t ot h e r u l ew h i c hi st h ek n o w l e d g eo b j e c tn o d ec o r r e s p o n d i n gt h ef l a m es t r u c t u r e v i e s d t a d v a n c e sam e t h o dt ob u i l dt h ee x p e r ts y s t e mo nt h ea s p e c to f k n o w l e d g eb o u n d a r y a tl a s tt h ep a p e rd e s i g n sa n di m p l e m e n t st h ev i e s d t p r o t o t y p em a k i n gf u l l i i s eo f o b j e c t - o r i e n t e dt e c h n o l o g ya n dd e s i g np a t t e r n s k e yw o r d :e x p e r ts y s t e m ,v i s u a lk n o w l e d g ea c q u i r e m e n t ,o b j e c t - o r i e n t e d , k n o w l e d g er e p r e s e n t a t i o n ,k n o w l e d g er e a s o n i n g “ 、厂 工6 6 9 0 4 2 昆明理工大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下( 或 我个人) 进行研究工作所取得的成果。除文中已经注明引用的内 容外,本论文不含任何其他个人或集体已经发表或撰写过的研究成果。 对本文的研究做出重要贡献的个人和集体,均已在论文中作了明确的 说明并表示了谢意。本声明的法律结果由本人承担。 学位论文储娩李祀旨 日 期:劢。绛卢月少日 关于论文使用授权的说明 本人完全了解昆明理工大学有关保留、使用学位论文的规定,即: 学校有权保留、送交论文的复印件,允许论文被查阅,学校可以公布 论文的全部或部分内容,可以采用影印或其他复制手段保存论文。 ( 保密论文在解密后应遵守) 导师签名:耋查垫论文作者签名 日 擗 兰! 巨生丝月! z旦 s l言 引言 从计算机问世以来就伴随出现的c h l ( c o m p u t e rh u m a ni n t e r a c t i o n 或 c o m p e e r h u m a n i n t e r f a c e ) 技术近年来受到越来越多的重视。在美国,人机建模研 究在信息领域中被列为与软件和计算机并列的六项国家关键技术之一。人机界面 己对大型软件系统的可使用性、易使用性及使用效率起着决定性的作用。但迄今 为止,人机界面技术发展滞后于应用功能软件【2 3 1 。 智能系统开发工具作为一种大型软件系统,在其界面上有着更高的要求。由 于智能系统开发工具的主要任务是知识获取、知识库的编辑与调试,所以灵活、 自然的知识获取界面将会大大提高知识获取和知识库构建、维护的效率。从对目 前大多数知识库系统的了解来看,其在知识库的构建、维护基本上是基于文本编 辑的形式,或者是基于数据库的形式。这两种形式的知识库构建、维护方式都存 在缺陷与不足,如知识获取困难而又耗时,知识库结构层次不分明,知识库维护 困难等【23 1 。 可视化知识获取在很大程度上解决了上述问题,它已经成为现行橱能系统知 识获取的一种趋势。在这种趋势下,对于如何架构合理的知识系统提出了更高的 要求,因为知识表示和知识获取是密切相关的。 本文所述的可视化集成专家系统开发工具( v i e s d t ) 是一种图形交互式专家 系统开发工具。它是为解决“云南省农业专家系统开发工具d e t 2 4 】”可视化知识 获取而提出的一种方案,它也是在借鉴了其它农业专家系统的各种知识表示方法 的基础上发展起来的。云南省农业专家系统开发工具d e t 不支持知识的可视化获 取,它以传统的基于专家系统语言的文本编辑方式进行知识的获取:此外,它没 能很好地处理概念组合的问题;在推理上,它虽然实现了推理过程的可视化,但 推理方式不够灵活,交互性弱。v i e s d t 在解决上述问题的同时,它在问题描述模 型、问题求解方法、程序设计方法、软件实现技术等各个方面都与d e t 及一般专 家系统开发工具有很大不同。由于专家形成专家知识的过程就是知识界定的过程。 并且界定标准是知识内容所涵盖的,因而我们可以通过这种界定标准来寻求专家 解答的范围乃至答案。从这点出发,v i e s d t 提供了一种建立农业专家系统的方法, 它支持知识获取与推理过程的可视化,更为重要的是,它不仅适用于农业专家系 统的开发,也适用于开发其他类型的专家系统。 基于专家系统的基本理论,本文设计了一种基于框架和规则、面向对象的知 识表示方法。它是设计与实现v i e s d t 的基础。它从界定知识出发,按知识的层次 引言 构造了种与之对应的规则层次,为知识获取与推理过程的可视化提供了依据。 第一章专家系统概述 第一章专家系统概述 专家系统也称专家咨询系统,是人工智能应用研究的主要领域。本章将介绍 专家系统的基本原理及其涉及的概念。并概要讨论了专家系统的定义、特点、产 生和发展趋势。 1 1 专家系统的定义 专家系统( e x p e r ts y s t e m ,e s ) 的先导者之一,斯坦福大学的e d w a r d f e i g e n b a u m 教授,把专家系统定义为“一种智能的计算机程序,它运用知识和推 理来解决只有专家才能解决的复杂问题”。通俗地说,专家系统就是一个计算机系 统,它利用存储在计算机内的特定领域的人类专家知识,来解决只有人类专家才 能解决的实际问题。 图1 1 描述了专家系统的基本概念。用户提供事实或其他信息给专家系统, 相应地收到专家建议或专门知识;知识工程师将从专家那儿获得的知识转化为计 算机内部存储的知识库。专家系统内部包括两个主要部分:知识库和推理机。知 识库包含有为推理机( i n f e r e n c ee n g i n e ) 所使用而得出结论的知识。这些结论是 专家系统对用户询问的响应。 :。1 i 卜专家知识 ! := 兰:生7 一l 妒认辟 喜 1 除输入或提问 、, 萎 墨 推理机 圈1 1 专家系统简化结构图 专家系统利用推理机在它所具有的知识中推导或推理( i n f e r e n c e ) 的方式与 人类专家推断解决问题的方式是一样的。即,给出一些事件,然后推理得出结论。 比如,如果天气很热,人们会推断庄稼缺水,并且。这只是多种推断之一。 像其他的任何工具一样,专家系统有其适宜和不适宜的应用领域,随着对专 家系统的不断实践,我们会发掘出这些应用领域。 第一章专家系统概述 1 2 专家系统的基本原理 1 2 1 规则 规则( 或产生式规则p r o d u c t i o nr u l e ) 是人工智能领域用来描述事物因果关系 的术语,一条规则的基本形式为:“p 专q ”或“i f pt h e n q ”,含义是:如果 前提p 满足,则可推出结论q 或执行q 所规定的操作。而且,q 又可以是某条规 则的前件。 规则前提p 往往是多个前提条件的组合,形如:p = p t lp z l p 。,l 表示逻 辑运算符,即前件可以是由逻辑运算符a n d 、o r 、n o t 组成的表达式。同样后 件q = c , l c 2 l c 。 通常称i f 部分为前项( a n t e c e d e n t ) 或前件,称每个t h e n 部分为后项( c o n s e q u e n t ) 或后件。a l l e nn e w e l l 和h e r b e r ts i m o n 证明的最重要结果之一是:大部分的人类 问题求解或认知,可以用i f t h e n 类型的产生式规则来表达。如上节所举的例 子,实际上是先存在着这样的规则:“i f 天气很热t h e n 庄稼缺水”,这是一个 在特定论域中的规则;并且我们可以看出,该规则决定了推理的逻辑。 1 2 2 知识表示 专家系统中的知识可以用多种方式来组织或描述,以利于计算枧存储和推理。 描述或组织知识的方法称为知识表示。 在一般的程序设计中,我们针对问题建立数学模型,然后针对数学模型编制 算法;而智能活动则针对问题建立相关的知识模型,知识本身蕴涵了对问题的解: 然后针对该模型( 编制程序) 实施推理,找出相应的解。也就是说,知识表示就是知 识建模,我们将在第二章具体讨论。 1 2 3 基于规则的系统( 产生式系统) 显然,规则也可用于描述专家知识,实际上,产生式知识表示方法即因用f 产 生式) 规则表示知识而得名,并且把按规则表示知识为基础的系统称为产生式系统 ( 或基于规则的系统) 。 在产生式系统中,论域的知识分为两部分:用事实表示静态知识,如事物、 事件和它们之间的关系:用产生式规则表示推理过程和行为。由于这类系统的知 识库主要用于存储规则,因此又把此类系统称为基于规则的系统。 1 2 4 基于规则的专家系统的一般结构 目前,基于规则的产生式系统是实现专家系统的一种流行方法。因此,大多 专家系统即基于规则的系统。基于规则的专家系统的般结构如图1 2 4 。 第一章专家系统概述 图1 2 4 专家系统的一般结构 该结构包括六个部分:知识库、推理机、综台数据库、人机接口、解释机和 知识获取机。大多数专家系统将知识组织成三级:数据、知识库和控制。反映在 图中,即综合数据库、知识库和推理机,它们是目前大多数专家系统的主要内容, 而知识获取机、解释机和专门的人机接口是所用专家系统都希望具有的,但它们 并不一定都实现。各部分的功能与作用如下: 1 知识库包括两部分,一部分是己知的同当前问题有关的数据信息,即事实:另 一部分是进行推理时要用到的一般知识和领域知识。这些知识多以规则、网络、 过程等形式表示。 2 综合数据库。用于存放关于问题求解的初始数据、求解状态、中闽结果、假设、 目标以及最终求解结果。 3 推理机。在一定的控制策略下针对综合数据库中的当前信息识别和选取知识 库中对当前问题求解有用的知识进行推理。其中议程记录了一些待执行的动 作,这些动作大多是综合数据库中已有的结果与知识库中规赡作用而得到的。 4 知识获取机。在专家系统的知识库中用以代替部分工程师进行专门知识的自动 获取,实现专家系统的自学习,不断完善知识库。 5 解释机。根据用户的提问,对系统提出的结论、求解过程以及系统当前的求解 状态提供说明,便于用户理解系统的问题求解。 6 人机接口。将专家或用户的输入信息翻译成系统可接受的内部形式,把系统向 专家或用户输出的信息转换成人类易于理解的外部形式。 1 2 5 推理 推理即根据一定的原则( 如规则) ,从已知的事实推导出新的事实的过程。 专家系统中用来求解问题的两个常用推理策略是正向链( f o r w a r dc h a i n i n g ) 或正向推理和反向链( b a c k w a r dc h a i n i n g ) 或逆向推理。正向链是从事实到结论 第一章专家系统概述 的推理,反向链则是从假设,即要证明的结论,到事实的推理。 在基于规则的系统中,推理机决定哪些规则的前件被事实满足。综合数据库 中可能包含关于问题域当前状态的事实,这些事实可能一个或多个同时在综合数 据库里。如果推理机注意到某一个事实满足一条规则的条件部分,则将该规则放 到议程中。如果一条规则有多个模式,那么只有所有的模式同时得到满足时才把 它放到议程中,有些模式被满足还要通过在综合数据库中指定某些没有的事实。 把所有前件得到满足的规则称作是被激活的或者披例化的,多个被激活的规则可 同时在议程中。在这种情况下,推理机必须选择一个规则触发它。 推理机不停的循环工作,重复执行一组任务,直到某种执行终止的判定标准 出现。( 为了避免无谓的循环,基于规则的专家系统采用了反射方法。即,如果某 一规则在同样的事实上一次又一次被触发,则专家系统不做任何事情。) 对于一个 典型的专家系统外壳,其循环的任务列在下面的伪码中,包括冲突解决( c o n f l i c t r e s o u l t i o n ) 、动作( a c t ) 、匹配( m a t c h ) 和终止检测( c h e c kf o rh a l t ) 。 w h i l b 还没终止 冲突解决:如果有激活者,那么选择具有最高优先级的一个;否则终止。 动作:顺序执行选中的激活者右部的行为,在这个循环中,那些改变综 合数据库的激活者有即时的效果。从议程中删去刚刚触发过的激 活者 匹配:通过检测任何一个规则的左部是否被满足来更新议程。如果满足 就激活它们;如果不再满足,则删除它们。 终止检测:如果一个终止行为被执行或给出一个中断命令,那么终止。 b n d w h i l b 接收一条新的用户命令 多个规则可能在一个循环中被激活并放在议程中。另外,有些激活者会由 于前一次的循环而留在议程中,除非它们的左部不再被满足。因此激活者的数 目在执行中会变化。有的程序,一个激活者可能总在议程中,但却从来没有被 选中去触发。同样地,一些规则可能从来没有被激活。在这种情况下,应该熏 新检套这些规则。看其是否必要或其模式是否正确。推理机首先执行在议程中 优先级最高的激活者的行为,然后是次优先级的激活者,这样直到没有激活者 剩下。在专家系统中,有各种各样的优先级方式。一般而言,所有外壳都让知 识工程师去定义优先级准则。当不同的激活者有同一优先级而推理机必须决定 其中哪一个被触发时,议程会发生冲突。不同的外壳有不同的解决方法。在早 期的n e w e l l 和s i m o n 范例中,那些首先进入系统的规则有最高的缺省优先级。 在o p s 5 中,对模式越复杂的规则给予越高的优先级。 6 第一章专家系统概述 推理方式及其控制策略在很大程度上依赖于知识表示方法,关于推理技术我 们在第三章具体讨论。 1 3 专家系统的特点 1 专家系统相对人类专家来说: a 专家系统是人类专家智能的模拟、延伸和扩展。 b 专家系统可具有一个或多个专家的知识和经验,具有专门知识的启发性, 能以接近于人类专家的水平在特定领域工作,注重特定问题的求解。 c 专家系统能高效、准确、迅速地工作,不会像人类专家那样容易疲劳、遗 忘,易受环境、情绪等的影响。 d 专家系统突破了时间和空间的限制,程序可以永久保存,并可复制任意多 的副本或在网上供不同部门的人们使用。 e 。专家系统能进行有效的推理,包括各种精确性推理和非精确性推理等。 f 具有透明性,能以可以理解的方式解释推理过程。 g 具有自学习能力,可总结规律,不断扩充和完善系统自身。 2 专家系统不同于一般的计算机软件系统,其特点在于: a 从处理问题的性质看专家系统善于处理那些不确定性的、非结构化的、 没有算法解决或虽有算法但在现有机器上无法是实施的困难问题,主要用 于知识信息处理,而不是数值信息处理。 b 从处理问题的方法看,专家系统则主要依靠知识表达技术和推理对问题求 解,而不是用数学描述的方法来解决问题。 c 从系统的结构来看,专家系统则强调知识与推理的分离,因而系统具有更 好的灵活性和可扩充性。 d 从知识的推理能力来看,专家系统的工作是在环境模式驱动下的知识推理 过程;而不是在固定程序控制下的指令执行过程。 e 从咨询解释能力看,专家系统不仅对用户的提问给出解答,而且能够对答 案的推理过程作出解释,提供答案的可信度估计。 f 专家系统能不断对自己的知识进行扩充、完善和提炼。这点是传统程序所 无法比拟的。 g 基于知识的编程和传统的计算机编程的比较见表1 3 1 。 3 人类专家知识相对人工专门知识来说: 人类专家知识和人工专门知识的比较将表1 3 2 。 , 第一章专家系统概述 项目知识型编程传统编程 内容知识的定义表示和使用 数据处理步骤的描述和使用 能力超过程序员理解水平与程序员水平相等 表现以说明为主以过程为主 模型恩考模型处理模型 手法符号处理数值处理 运算推理控制过程 重复计算过程 理解容易 困难 扩充容易 困难 解释容易做到在运行中解释不容易做到在运行中解释 处理高度的集中处理顺序的批处理 规则启发式算法式 用途对大知识处理问题求解对大数据库进行处理 表1 3 1 1 人类专家知识人工专家知识人类专家知识 人工专家知识 j 不经久经久有创造性不具创造性 缺 难于传播 优 易于传播 优 有适应性 缺 需要被告知 难于文件化易于文件化感觉与经验符合输入 点点点点 不易预期一致视野广 视野窄 昂贵 便宜常识性知识技术性知识 袁i 3 2 4 专家系统的局限性: 人类专家也知道自己知识的局限性,当问题达到他们的未知界限时,他们会给 建议打上一定的折扣。如果专家系统没有专门设计来解决不确定性问题。那么即 使它们处理的数据不精确、不完整,专家系统也会以同样的确信给出建议,专家 系统的建议与专家的建议一样,在其不知晓的范围内箕合理性应降低。现今许多 专家系统也有一些不足之处: a 缺乏因果知识( c a u s a lk n o w l e d g e ) ,也就是说专家系统并不能真正地理解 系统中隐含的原因和结果。用基于经验和启发性的浅知识来设计专家系统 比用基于对象的基本结构、功能和行为的深知识要容易的多。例如,设计 一个针对头痛开阿斯匹林药方的专家系统比设计一个关于人体所有基本的 生物化学、生理学、动物学和神经医学等知识的专家系统容易的多。启发 性知识( h e u r i s t i ck n o w l e d g e ) 是“浅”知识的一种类型,它不能保证用同样 第一章专家系统概述 的算法能取得成功。启发性知识是一种从实践中获得的经验性知识,它对 问题求解可起帮助作用,但不能保证一定有效。不过,在许多领域。启发 性知识对问题求解起着重要的作用。 b ,它的知识受限于系统的知识域。专家系统不能像人那样,通过类比来推广 知识以获得新的求解问题的方法,虽然通过规则的归纳,专家系统可以获 得少许新的知识。创建一个专家系统的常用方法,即知识工程师访问专家、 设计原型、测试,然后再重复,这个过程是一件既费时、又费精力的事情, 因而,知识获取的瓶颈控制着专家系统的创建。 尽管专家系统有一些局限性,但专家系统仍成功解决了现实世界的许多问题, 这些问题是常规的程序设计方法学所不能解决的,尤其那些需要处理不确定或不 完全信息的问题。重要的点是了解这种技术的优点和局限性,只有这样才能使 之得到恰当的应用。 1 4 专家系统的产生和发展趋势 1 9 5 6 年,人工智能诞生。在早期,人工智能的研究是从具体问题入手。 a n e w e l l ,j s h a w 和h a s i m o n 编制的l t ( l o - g i ct h e o r i s t ) 定理证明系统,和 a l s a n w e l 研制的西洋跳棋程序c h e c k e r s 是最先在机器上运行的启发程序。 6 0 年代初,人工智能研究者集中精力开发通用的方法和技术。通过研究一般 的方法来改变知识的表示和搜索,并使用它们建立专用程序。到了6 0 年代中期, 人工智能工作者认识到:问题求解能力不仅取决于使用的形式化体系和推理模式, 而且还取决于它拥有的知识。这为以专门知识为核心求解具体问题的基于知识的 专家系统的产生奠定了基础。 1 9 6 5 年,s t m f o m 大学的e a f e i g e n b a u m 教授同其他人进过三年的努力,研 发成功了第一个专家系统:d e n t r a l 化学专家系统。它标志人工智能的一个崭 新领域专家系统的诞生。 到了7 0 年代,专家系统的观点逐渐被人们接受,先后出现了一批卓有成效的 专家系统,这些系统涉及医疗、自然语言处理、地质等多个领域。如m y c i n 、 c a s n e t 、h e a r s a y 、p r o s p e c t o r 等。在这些系统中,专家系统的主要技术, 如人机接口、解释功能、自学习功能、不精确推理等,得到了研究和应用。 到了7 0 年代的末期,专家系统受到了企业家的重视和投资,专家系统的应用 开始产生巨大的经济效益。到了8 0 年代,专家系统步入了商品化的时代。 当前,专家系统是人工智能领域最重要的研究方面之一,有关专家系统的技 术和理论还在不断发展和形成。 由于模糊技术、神经网络和面向对象等新技术的迅速崛起,为专家系统注入 9 第一章专家系统概述 了性的活力。专家系统的发展的趋势是: 1 传统专家系统与面向对象、神经网络以及模糊技术相融合,将是专家系统 技术发展的总趋势。 2 ,专家系统与传统计算机应用系统相融合,将是专家系统应用形式和应用领 域发展的总趋势。 3 功能集成形成大型化专家系统,即从单学科、单功能、专门性的小型专家 系统,向多学科、多功能、综合性的大型知识系统发展。 4 技术集成化,即除了传统的知识获取方法、知识表示方法、知识推理技术 外,在问题描述模型、问题求解方法、程序设计方法、软件实现技术等方 面引进其他先进技术,如:人工神经网络、面向对象方法、遗传算法、模 糊数学等,进行模型、方法、技术集成,设计和建造集成化、混合型专家 系统。 5 ,智能达到拟人化,即将已开发出的有知识库推理及和神经网络等所具有的 高智能,同当前的多媒体、超媒体等新技术相结合,实现具有自学习、自 组织、自适应、多媒体人机智能接口,声图文并茂的专家系统。 6 随着i n t e r n e t 的飞速发展和广泛应用,网上专家系统特别是网上咨询专家 系统将会流行和活跃起来。 1 5 小结 在本章,我们对专家系统作了一个概要的介绍,尤其以基于规则的专家系统 为例介绍了专家系统的结构、基本原理及其涉及的基本概念。专家系统所解决的 问题一般用传统的程序难以解决,因为这些问题缺乏一个有效的算法。由于专家 系统是基于知识的,它能有效解决现实中用剔的方法难以解决的非结构化问题。 所有这些最重要的一点是:专家系统是一种不同的程序设计工具,它适合于 某些应用,而不适合于另外一些应用。 l o 第二章知识表示 第二章知识表示 知识的基本单元是抽象概念,知识建模就是研究如何合理地描述和组织这些 抽象概念以及这些概念之间的联系。本章将讨论知识表示的基本概念和几种主要 的知识表示方法,同时介绍国内农业专家系统常用的几种知识表示方法。 2 1 知识与知识表示的概念 2 1 ,1 知识 知识是人们对客观事物及其规律的认识。包括对事物的现象、本质、属性、 状态、关系、联系和运动的认识;知识是在改造客观世界的实践中积累并总结出 来的方法、策略和经验。知识常与如数据、事实、信息等词互换使用,但是实际 上,只有对数据、事实和信息进行加工、整理、解释、挑选和改造,形成对客观 世界的规律性认识后才能称为知识。 知识可分为先验知识和后验知识。先验知识是不依赖于源于感觉器官所获得 的知识。先验知识被认为是普遍正确的,没有反例,也不能被否定。数学定律就 是先验知识的例子。后验知识是由感觉器官获得的知识。后验知识的正确与错误 可以用感觉经验来证明,但感觉经验并不是一直可信,后验知识可以在新知识的 基础上被否定,而不必举反例。 知识可以进一步被划分为说明性知识( d e e l a r a t i v ek n o w l e d g e ) 、过程性知识 ( p r o e e d u a r lk n o w l e d g e ) 和默认性知识( t a c i t k n o w l e d g e ) 。说明性知识是指关于 系统状态、环境和条件,问题的概念、定义、命题、公理、定理、规则和事实的 知识,它常以说明语句的形式表达知识。过程性知识是指有关系统状态变化、问 题求解过程的操作、演算和行为的知识。默认性知识由于不能用语言表达,常被 称为无意识的知识( u n c o n s c i o u sk n o w l e d g e ) 。 知识在专家系统中最为重要。事实上,与w i r t h 的经典表述: 算法+ 数据结构= 程序 相类似,在专家系统中,有: 知识+ 推理= 专家系统 知识是图2 1 1 中层次结构的一部分。 在图2 1 1 最底层是噪声,由几乎没有意义的事项和含糊难解的数据组成。往 上一层是数据,是一些由潜在意义的事项。信息或是经过加工后具有意义的数据 在第三层。再往上一层是代表专门化信息的知识。专家知识即属于该层。最上面 第二章知识表示 57 元知识 。j垒亟 ,二一 :二!焦垦:二 一 2数据 、 1噪音 图2 1 1 知识的层次结构 的知识是元知识( m e t a k n o w l e d g e ) 。元知识是关于知识和专家知识的知识。一个 专家系统可设计为具有几个不同领域的知识。元知识可描述哪一个知识库是适用 的,元知识也可用于决定某一领域中哪组规则最合适。元知识是提高专家系统性 能的一种途径,成为新一代专家系统的一个重要标志。 2 1 2 知识表示 知识表示( k n o w l e d g er e p r e s e n t a t i o n ) 就是关于如何描述事物的一组约定,即用 一些约定的符号把知识编码成一组计算机可以接受的数据结构。这里的知识表示, 是指面向计算机的知识描述或表达形式和方法。 在专家系统中,知识的符号化或形式化,一方面利于计算存储,另方面也便 于把握知识的形式语义和结构逻辑,设计出合理的推理机。 知识表示要使问题变得更加方便、容易、正确、高效,因而它应该具有可实 现性、可理解性、可维护性、可利用性、自然性、可组织性。 对同一事物可以有多种不同的表示方法,专家系统往往综合运用多种表示方 法。已经有许多不同的知识表示方法。包括产生式、谓词逻辑方法、面向对象表 示法、语义网络、框架等,以下逐一介绍。 2 2 产生式 产生式( p r o d u c t i o n ) 是目前专家系统中使用最广泛的知识表示方法,我们已经 在上一章作了简要的介绍。 产生式知识表示方法有以下优点: 1 。模块化特征。规则使得知识容易封装并不断扩充。 2 解释机制。通过规则容易建立解释机,这是因为一个规则的前件指明了激 活这个规则的条件。通过追踪已触发的规则,解释机可以得到推出某个结 论的推理链。 3 类似人类认知过程。规则的简单表示方式“i f t h e n ”使得容易向专家解释 第二章知识表示 知识的结构。 它也有其局限性: 1 效率不高。由于产生式系统求解靠一系列的“匹配冲突消解操作” 的重复周期来实现,这不便于根据某些特殊情况走捷径或按照事先预定的 路线快速处理问题,导致产生式系统求解问题的效率不高。 2 解释能力的局限性。由于产生式表式法过分强调模块性和一致性,使它在 表示复杂实体间的固有结构和功能方法时,显得并不有效。 2 3 逻辑方法 逻辑主要分为命题逻辑、谓词逻辑和二阶逻辑。命题逻辑表达能力弱,能解 决的问题不多;二阶逻辑过于复杂,且到目前为止没有有效的算法。因而在人工 智能领域常用的还是一阶谓词逻辑。 一阶谓词逻辑演算是一种形式语言。其根本的目的在于把数学中的逻辑论证 符号化。 谓词逻辑的基本组成部分是谓词符号、变量符号、函数符号和常量符号,并 用圆括号、方括号、花括号和逗号隔开以表示论域内的关系。 2 3 1 符号集 1 常量:用来表示论域内的物体或实体。常用大写字母组成符号串来表示。 2 变量:表示非特定的事物或概念。常用小写字母来表示。 3 函数符号:代表论域中的函数,它仅实现个体域中n 个个体到某个个体的 映射,没有真假取值。 4 谓词:用来表达n 个实体之间的关系或属性,其取值为真。例如m a n ( l i m i n g ) ,m a n 是谓词,l i m i n g 是一个常量,代表李明本人,该表达式 的含义是:李明是一个人。 5 标点符号和括号:有( ) 、 、【】和逗号,它们用来表示论域内的关系。 2 3 2 连词和量词 连词:表否定( 非) ; 表合取( 与) ;v 表析取( 或) :哼表蕴涵; 表等价。 量词:v 全称量词,表所有的。j 存在量词,表存在某一些。 谓词逻辑用上面的符号、连词和量词将知识中的概念重新组织起来,就可以 根据目标进行演算,给出推理的结果。 谓词逻辑可以很好地描述产生式系统。例如,有事实:b i l l 喜欢足球;有规则: 第二章知识表示 b i l l 喜欢的东西k i m 都喜欢。表示成谓词语句如下: l i k e s ( b i l l ,f o o t h a l l ) , l i k e s ( b i l l 。s o m e t h i n g ) 寸l i k e s ( k i m ,s o m e t h i n g ) , 这里。b i l l 、k i m 、f o o t b a l l 是常量,s o m e t h i n g 是变量。 显然,逻辑系统应可以轻易地判断出k i m 喜欢足球。 2 3 3 谓词逻辑的局限性 虽然谓词逻辑在很多情况下非常有用,但仍有某些类型的语句不能用使用了 全称量词和存在量词的谓词逻辑来表达。例如,以下语句不能用谓词逻辑来表达: 大多数同学得了1 0 0 分。在这个语句中,量词大多数表示多于一半。量词“大多 数”不能用全称量词和存在量词来表达。为了表达“大多数”,一个逻辑必须提供 一些用于计算的谓词。谓词逻辑的另一个局限是难以表达一些有时真但并非总是 真的事情。这个问题可通过模糊逻辑来解抉。然而,引入计算的同时也把更多的 复杂因素引进了逻辑系统中,并且使其更象数学了。 2 4 面向对象的知识表示 面向对象方法以信息隐蔽和抽象数据类型概念为基础,既提供了从一般到特 殊的演绎手段( 如继承) ,又提供了从特殊到一般的归纳形式( 如类) 。目前。面 向对象技术不仅在软件设计和知识表示中得到了广泛的应用,而且已拓广到数据 库管理和多媒体系统等新的应用领域。与此同时出现一个比对象更富动态性、更 具人工智能含义的概念,即智能体( a g e n t ) 。智能体是一个可以包含主观信念和 承诺,并可以主动响应外界事件的对象。可以相信,面向对象技术在人工智能与 专家系统应用领域将有更大的发展。 2 4 1 对象、消息和方法 面向对象( o b j e c t o r i e n t e d ) 方法学显示地提供了力图还客观世界本来面目的 “对象”的概念,程序设计者可以按照问题空间中对象的丰富特征比较自由地定 义解空间的对象,从而用面向对象方法学构造软件系统或知识系统能够比较自 然地反映人们思考问题的方式。使解空间在结构上尽可能同问题空间取得一致。 这是面向对象方法学所追求的基本原则,也是面向对象的知识系统构造的出发点。 在面向对象的知识系统中,各种资源和智能实体均称为对象。一个对象的状 态和对象具有的知识组成了该对象的静态属性,一个对象所具有的知识处理方法 和各种操作则描述了该对象的智能行为。 按照面向对象方法学的观点,一个对象的形式定义可以用如下四元组表示: 1 4 第二章知识表示 对象:= i i ) ,d s ,m s ,m i 也就是说,一个完整的对象由该对象的标志符l d ,数据结构d s ,方法集合 m s 和消息接口m i 组成。对象的标志符i d ( i d e n t i f i e r ) 又称对象名,用以标识 个特定的对氖。对象的数据结构d s ( d a t as t r u c t u r e ) 描述了对象当前的内部状态 或所具有的静态属性,常用一组属性名属性值来表示。对象的方法集合m s ( m e t h o ds e t ) 用于说明对象所具有的内部处理方法或对受理的消息的操作过程, 它反映了对象自身的智能行为。对象的消息接1 2 1m i ( m e s s a g ei n t e r f a c e ) 是对象 接收外部信息和驱动有关内部方法的唯一对外接口。这里的外部信息称为消息。 发送消息的对象称为发送者,接收消息的对象称为接收者。消息接口以消息模式 集的形式给出,每一消息模式有一消息名,通常还包含必要的参数表。当接收者 从它的消息接口受理发送者的某一消息时,首先要判定该消息属于哪消息模式, 我出与之匹配的内部方法,然后,执行与该消息相联的方法,进行相应的消息处 理或回答某些信息。 在面向对象的系统中,问题求解或程序的执行是依靠对象问传递消息来完成 的。最初的消息通常来自用户的输入,某一对象在处理相应的消息时,如果需要, 又可以通过传递消息去请求其他对象完成某些处理工作或回答某些信息,其他对 象在执行所要求的处理时同样可通过传递消息与别的对象联系,如此下去,直至 得到问题的解。 消息流统一了数据流和控制流,它是实现对象间联系的唯一途径。消息中只 包含发送者给出的信息,这些信息往往表示对接收者的某种要求,但仅仅告诉接 收者需要做什么,并不指示接收者如何去完成处理。同样的消息可传递给不同的 对象,不同的对象对同样的消息可做出不同的反应。消息模式不仅定义的该对象 所能受理的消息,而且规定了该对象的固有处理能力。每个对象的一种消息模式 都对应于该对象内部的方法。方法是对象固有处理能力的具体实现,软件中通常 用一段可执行代码表示。在方法实施期间通常还需要引用自己的内部状态,对 有关数据进行操作,必要时可修改自己的内部状态,还往往要发送一批消息依次 请求其他对象服务。每个对象的内部状态不允许其他对象直接引用和修改。对象 的内部状态和方法对外界是隐蔽的。因此,只要给出对象的全部消息模式,包括 相应于每个消息模式的处理能力,也就定义了一个对象的外部特性。这是面向对 象方法学的封装性。 一个复杂的对象常由若干相对简单的对象组成。简单对象提供的某些消息有 时可能仅供复杂对象内部使用,复杂对象的这种不向外界公开的消息称为该复杂 对象的私有消息。相反的,对象向外界公开的消息称为该对象的公有消息。在面 向对象的语言中,对象的外部接1 2 1 是以对象协议或规格说明的形式提供的。协议 第二章知识表示 是一个对象对外服务的说明,它告知该对象可为外界做些什么。外界对象能够并 且只能够向该对象发送协议中所规定的消息,也就是说,请求对象服务的唯一途 径是通过该对象协议中所规定的消息进行。从私有消息和公有消息上来看,协议 是一个对象所能接收的所有公有消息的集合。可以说,一个对象就是在它的协议 下封装起来的。 2 4 2 类、类层次和继承性 在面向对象方法学中,具有共同性质的一组对象归入一个称为类( c l a s s ) 的 概念中。确切的说,类是具有相同外部特性和内部实现的一组对象的抽象。类通 过描述消息模式及相应的处理能力来定义该类对象的外部特性,通过描述内部状 态的表现形式( 或私有数据的格式) 以及实现固有处理能力的方法来定义该类对 象的内部实现。可见,类描述了该类对象的共性。经过类的抽象,一个对象除对 象名以外,形式上只剩下体现该对象个性的内部状态。此时的对象称为所属类的 一个实例( i n s t a n c e ) 。 类在概念上属于抽象数据类型的范畴。一个类的上层可以有超类 ( s u p e r c l a s s ) ,下层可以有子类( s u b c l a s s ) ,从而形成一种层次结构,称为类层 次。类层次的一个重要特性是继承性( i n h e r i t a n c e ) ,即一个类可以继承其超类的 全部描述,且这种继承具有传递性,从而,一个类可以继承层次结构中在其上面 的所有类的全部描述。这就是说,属于某个类的对象除具有该类所描述的特性外, 还具有该类上层所有类描述的全部特性。 在类的层次结构中,一个类可以有多个超类,也可以有多个子类。若一个类 可以直接继承多个类描述的特性,则这种继承方式称为多重继承;若一个类至多 只能有一个超类,或者说至多只能继承一个类描述的特性,则这种继承方式称为 单重继承或简单继承。继承机制实现了超类、类、予类中的方法和数据的自动共 享。 如果说对象和消息分别是表现事物以及刻划事物问联系的概念,那么类和继 承是适应人类一般思维方式的描述范式。面向对象程序设计范式的基本点在于对 象的封装性和继承性。通过封装能将对象的定义和对象的实现分开,通过继承能 体现类与类之间的层次关系,便于用面向对象的快速原型法构造系统,对系统进 行优化,并大幅度提高软件的重用性。 2 4 3 面向对象的知识表示的形式 下面是面向对象知识表示的一种描述形式: c l a s s ( 类名)【:超类名】 【( 类变量表) 】 第= 章知识表示 d a t a _ s t r u c t u r e ( 对象的静态结构描述) m e t h o d ( 关于对象的操作的定义) r e s t r a i n t ( 限制条件) e n d c a l s s 其中,( 类变量表) 是一组变量名构成的序列,该类中所有对象都共享这些变量, 对该类来说它们是全局变量,当把这些变量实例化为一组具体的值时,就得到了 该类的一个具体对象。d a t a _ s t r u c t u r e 后面的( 对象的静态结构描述) 用于描述该类 对象的构成方式;m e t h o d 后面的( 关于对象的操作的定义) 用于定义对类元素可以 施加的各种操作,它既可以是一组规则。也可以是为实现相应操作所需要的一段 程序;r e s t r a i n t 后面的( 限制条件) 指出该类元素所应满足的限制条件,可用包 含类变量的谓词构成,当它不出现时表示没有限制。 2 。5 语义网络 语义弼络( s e m a n t i c n e t w o r k ) 是知识的一种图解表示,它由节点和弧线组成。 节点用于表示实体、概念和情况等,弧线用于表示节点之间的关系。如图2 3 描 述了语义网络最基本的组成单元语义基元的结构。 图2 5 语叉基元的蛄构 一个语义基元可用三元组“( 节点1 ,弧,节点2 ) ”来表示。图中a 、b 分别 表示两个节点,r 表示a 与b 之间的某种语义联系。当把多个语义基元用相应的 语义联系关联在一起时,就形成了一个语义网络。 2 5 1 二元语义网络 显然,节点之间的连接是二元关系,郾语义网络是一种二元关系网络。 从面向对象的观点来看,任何系统无外乎橱互联系韵对象的总和。对象具有 静态属性和动态行为。对象还可能由其

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论