159
7 专专专21/12/26 1

第 7 章 专家系统

Embed Size (px)

DESCRIPTION

第 7 章 专家系统. 第 7 章 专家系统. 7.1 专家系统概述 7.2 专家系统的结构与工作原理 7.3 专家系统的产生式表示 7.4 专家系统的开发与建造 7.5 专家系统的评价 7.6 专家系统的开发工具 7.7 分布式专家系统与协同式专家系统 7.8 专家系统举例. 7.1 专家系统概述. 7.1.1 什么是 专家系统?. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 7 章   专家系统

第 7 章 专家系统

23/4/20 1

Page 2: 第 7 章   专家系统

23/4/20 2

第第 77 章 专家系统章 专家系统

7.17.1 专家系统概述专家系统概述 7.27.2 专家系统的结构与工作原理专家系统的结构与工作原理 7.37.3 专家系统的产生式表示专家系统的产生式表示 7.4 7.4 专家系统的开发与建造专家系统的开发与建造 7.5 7.5 专家系统的评价 专家系统的评价 7.6 7.6 专家系统的开发工具专家系统的开发工具 7.7 7.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统 7.8 7.8 专家系统举例专家系统举例

Page 3: 第 7 章   专家系统

23/4/20 3

7.17.1 专家系统概述专家系统概述

   迄今为止,关于什么是专家系统,目前尚无一个十分   迄今为止,关于什么是专家系统,目前尚无一个十分确切的定义。确切的定义。一般公认定义一般公认定义::专家系统是一个具有智能的专家系统是一个具有智能的程序系统,其内部具有大量的专家水平的知识与经验;程序系统,其内部具有大量的专家水平的知识与经验;该该系统能利用专家的知识与推理方法来解决专门领域的问题;系统能利用专家的知识与推理方法来解决专门领域的问题;它能对自身所得出的结论做出清楚、明晰、合理的解释。它能对自身所得出的结论做出清楚、明晰、合理的解释。

   简单地说,能够向用户提供关于某一领域中专家水平   简单地说,能够向用户提供关于某一领域中专家水平的决策与解释的智能模拟系统,称为专家系统。的决策与解释的智能模拟系统,称为专家系统。

7.1.17.1.1 什么是什么是专家系统?专家系统?

Page 4: 第 7 章   专家系统

23/4/20 4

  现实中有许多问题,都要依靠专门领域的专家来解决。  现实中有许多问题,都要依靠专门领域的专家来解决。专家对问题的推理和决策,除了依据他们的学识外,还要取专家对问题的推理和决策,除了依据他们的学识外,还要取决于个人实践经验和直觉方法。其中,包括一些不确定的知决于个人实践经验和直觉方法。其中,包括一些不确定的知识,从而以专家的决断,对问题给出权威的解答。识,从而以专家的决断,对问题给出权威的解答。

一个专家系统必须满足的基本条件是:一个专家系统必须满足的基本条件是: ①① 专家系统处理的是现实世界中原本应由专家分析和判断的复杂问题;专家系统处理的是现实世界中原本应由专家分析和判断的复杂问题;②② 专家系统解决问题的模型和方案来自于专家的经验和推理方法;专家系统解决问题的模型和方案来自于专家的经验和推理方法;③③ 专家系统应该得到和专家一致的判断结论与决策。专家系统应该得到和专家一致的判断结论与决策。

本质上,专家系统只是一个高级的计算机智能程序系统。本质上,专家系统只是一个高级的计算机智能程序系统。

7.1.1 7.1.1 什么是专家系统?什么是专家系统?

Page 5: 第 7 章   专家系统

23/4/20 5

专家系统(专家系统( Expert System)Expert System) 亦称专家咨询系统,它是亦称专家咨询系统,它是一种智能计算机一种智能计算机 (( 软件软件 )) 系统。系统。顾名思义,专家系统顾名思义,专家系统就是能像人类专家一样解决困难、复杂的实际问题的就是能像人类专家一样解决困难、复杂的实际问题的计算机计算机 (( 软件软件 )) 系统。系统。

类比专家,专家系统应具备以下四个要素: (1) 应用于某专门领域; (2) 拥有专家级知识; (3) 能模拟专家的思维; (4) 能达到专家级水平。

7.1.1 7.1.1 什么是专家系统?什么是专家系统?

Page 6: 第 7 章   专家系统

23/4/20 6

同一般的计算机应用系统(如数值计算、数据处理系统等)相比,专家系统具有下列特性:

(1)(1) 高性能。高性能。现实世界中,以数学化公式为核心的知识仅约占 8% ,大部分问题都是非数学化的知识。专家系统善于解决那些不确定性的、非结构化的、没有算法解或虽有算法解但在现有的机器上无法实施的高难问题。

7.1.2 7.1.2 专家系统的特性专家系统的特性

Page 7: 第 7 章   专家系统

23/4/20 7

(2)(2) 知识与实用性。知识与实用性。 从处理问题的方法看,专家系统则是靠知识和推理来解决问题(不像传统软件系统使用固定的算法来解决问题),所以,专家系统是基于知识的智能问题求解系统。它不是一种学术性研究或实验性研究工具,而是为了解决人们在生产实践、科学研究、产品设计以及其它领域中的实际问题,更多地强调实用。

7.1.2 7.1.2 专家系统的特性专家系统的特性

Page 8: 第 7 章   专家系统

23/4/20 8

(3)(3)灵活性及可扩充性。灵活性及可扩充性。 从系统的结构来看,专家系统则强调知识与推理的分离,因而具有很好的灵活性和可扩充性。人们可把一个技术上成熟的专家系统变为一个专家系统工具,即只要抽去知识库中的知识就可使它变为一个专家系统外壳。当要建立另外一个其功能与之类似的专家系统时,只要把相应的知识装入到该外壳的知识库中就可以了。这可节省耗时费工的开发工作。目前有一些专家系统开发工具就是这样得来的。

例如,由专家系统 MYCIN得到的构造工具 EMYCIN;由 PROSPECTOR得到的 ES外壳 KAS 等。

7.1.2 7.1.2 专家系统的特性专家系统的特性

Page 9: 第 7 章   专家系统

23/4/20 9

(4)(4) 透明性。透明性。专家系统必须具有解释功能,能回答用户提出的问题,向用户解释它的决策动机和结论的推理过程,使用户能清楚地了解系统处理问题正确性,通过增强系统的透明度而取信于用户。 例如,一个医疗诊断专家系统诊断某病人患有肺炎,而且必须用某种抗生素治疗,那么,这一专家系统应向病人解释为什么判断他患有肺炎,解释用该抗生素治疗的原因,就像一位医疗专家对病人详细解释病情一样。

7.1.2 7.1.2 专家系统的特性专家系统的特性

Page 10: 第 7 章   专家系统

23/4/20 10

(5)(5) 自学习及自修正能力。自学习及自修正能力。有些专家系统还具有有些专家系统还具有““自学习自学习””能力,即不断对自己的知识进行扩充和完善。能力,即不断对自己的知识进行扩充和完善。专家系统还能随时修正已有的知识或归纳出新的知识,专家系统还能随时修正已有的知识或归纳出新的知识,适应新情况的需要,这一点是传统系统所无法比拟的。适应新情况的需要,这一点是传统系统所无法比拟的。

(6)(6) 专业和长效性。专业和长效性。专家系统大量使用的是专家级专家系统大量使用的是专家级水平的专门领域所谓水平的专门领域所谓““深知识深知识””来决策,而不是一般系来决策,而不是一般系统那样多使用常识性知识,即所谓统那样多使用常识性知识,即所谓““浅知识浅知识””;专家系;专家系统不像人那样容易疲劳、遗忘,易受环境、情绪等的影统不像人那样容易疲劳、遗忘,易受环境、情绪等的影响,它可始终如一地以专家级的高水平求解问题。 响,它可始终如一地以专家级的高水平求解问题。

7.1.2 7.1.2 专家系统的特性专家系统的特性

Page 11: 第 7 章   专家系统

23/4/20 11

7.1.3 7.1.3 专家系统的特点与研究意义专家系统的特点与研究意义

比较方面比较方面 传 统 程 序传 统 程 序 专 家 系 统专 家 系 统

编程思想编程思想编程方法编程方法处理对象处理对象执行过程执行过程可修改性可修改性操作解释操作解释结 论结 论

依据某一算法知识使用和知识本身混合在一起知识使用和知识本身混合在一起数值量顺序方式或批处理方式执行顺序方式或批处理方式执行难修改,需改动整个程序并重新编译不能不能正确,不容许不确定性

依据启发式方式知识和知识的使用分离知识和知识的使用分离符号量人机交互方式执行人机交互方式执行易修改,只需改动知识库可能可能满意,容许不确定性

表表 7-1 7-1 专家系统特点及与传统程序的区别专家系统特点及与传统程序的区别

Page 12: 第 7 章   专家系统

23/4/20 12

研究专家系统的主要意义在于研究专家系统的主要意义在于 :: 专家系统作为计算机系统,具有计算快速、准确的优势,不像人那样容

易疲劳、遗忘,易受环境、情绪的影响,它可始终如一地以专家级的高水平求解问题。因此,专家系统在某些方面比专家更可靠、更灵活,可以超过专家本人。

专家系统便于保存和大面积推广各种专家的宝贵知识,更有效地发挥各种专业人才的作用,克服人类专家供不应求的矛盾。专家系统还可以综合许多专家的知识和经验,从而博采众长。

另外,由于专家系统具有解释功能,系统设计者和领域专家就可方便地找出系统隐含的错误,便于对系统进行维护。

7.1.3 7.1.3 专家系统的特点与研究意义专家系统的特点与研究意义

Page 13: 第 7 章   专家系统

23/4/20 13

1.按用途分类

可分为:诊断型、解释型、预测型、决策型、设计型、规划型、控制型、调度型等几种类型。

2.按输出结果分类

可分为:分析型和设计型。

3.按技术分类

可分为:符号推理专家系统和神经网络专家系统。

7.1.4 专家系统的分类

Page 14: 第 7 章   专家系统

23/4/20 14

4.按知识分类 知识可分为确定性知识和不确定性知识,所以,专家

系统可分为精确推理型和不精确推理型(如模糊专家系统)。

专家系统促使了知识工程( Knowledge Engineering)的诞生和发展,知识工程又是为专家系统服务的。正是由于这二者的密切关系,所以,现在的“专家系统”与“知识工程”几乎已成为同义语。

7.1.4 专家系统的分类

Page 15: 第 7 章   专家系统

23/4/20 15

5.按规模分类

可分为:大型协同式专家系统和微专家系统。

6.按结构分类

可分为:集中式和分布式,单机型和网络型 (即网上专家系统 )。

7.1.4 专家系统的分类

Page 16: 第 7 章   专家系统

23/4/20 16

1. 专家系统与知识系统 专家系统能有效地解决问题的主要原因在于它拥有知识,因为“知识就是力量知识就是力量”。但专家系统拥有的知识是专家知识,而且主要是经验性知识。 由专家系统的发展而发展起来的一种称为知识系统( Knowledge Based System) 的智能系统,其中的知识已不限于人类专家的经验知识,而可以是领域知识或通过机器学习所获得的知识等。所以,对于这种广义的知识系统来说,专家系统就是一种特殊的知识系统。

7.1.5 专家系统与知识工程

Page 17: 第 7 章   专家系统

23/4/20 17

2. 专家系统与知识工程 建造专家系统就涉及到: ( 1)知识获取:从人类专家那里或从实际问题搜集、整理、归纳专家级知识

( 2)知识表示:以某种结构形式表达所获取的知识,并将其存储于计算机之中

( 3)知识的组织与管理:知识库建立与维护等 ( 4)知识的利用:使用知识进行推理等一系列关于知识处

理的技术和方法。

7.1.5 专家系统与知识工程

Page 18: 第 7 章   专家系统

23/4/20 18

BACON3BACON3 系统介绍:由一位美国学者系统介绍:由一位美国学者 P.W. Langley (P.W. Langley ( 兰兰利利 )) 于于 19791979 年在年在 Carnegie Mellon (Carnegie Mellon ( 卡内基卡内基 -- 梅隆梅隆 )) 大学提大学提出的一个关于实验数据的分析系统,该系统是一个发现物理出的一个关于实验数据的分析系统,该系统是一个发现物理学中经验性定理的机器学习系统,并以英国学中经验性定理的机器学习系统,并以英国 1616 世纪著名思想世纪著名思想家和科学家培根命名。家和科学家培根命名。 假设对应一组系统的输入数据假设对应一组系统的输入数据 X={XK}X={XK} 得到一批输出数据得到一批输出数据 Y={YKI},K,I=1,2,…Y={YKI},K,I=1,2,… 这批数据记录真实、齐全,但数据排列顺序被破坏了。这批数据记录真实、齐全,但数据排列顺序被破坏了。如何分析呢?如何分析呢?

7.1.67.1.6 一个关于专家系统的事例 一个关于专家系统的事例

Page 19: 第 7 章   专家系统

23/4/20 19

由于这批数据记录真实、齐全,只是数据排列顺序被破坏由于这批数据记录真实、齐全,只是数据排列顺序被破坏了,因此,首先应恢复数据排列顺序,再进行系统分析:了,因此,首先应恢复数据排列顺序,再进行系统分析:(( 11 )将输入、输出数据分为两组,各自按单调排列;)将输入、输出数据分为两组,各自按单调排列;(( 22 )确定对应输入与输出间的数据乘积,或比值,或某次方根,…等)确定对应输入与输出间的数据乘积,或比值,或某次方根,…等数学关系为一数学关系为一恒值常数恒值常数;或引进新的变量,继续上述研究过程;;或引进新的变量,继续上述研究过程;(( 33 )若确定对应输入输出间的数据的某数学关系为)若确定对应输入输出间的数据的某数学关系为一一恒值常数恒值常数,则结,则结合数据实验发生的原始环境,分析该合数据实验发生的原始环境,分析该常数常数的物理意义,从而总结出一般的物理意义,从而总结出一般规律。规律。

7.1.67.1.6 一个关于专家系统的事例 一个关于专家系统的事例

Page 20: 第 7 章   专家系统

23/4/20 20

按照这种思路和数学模型,人们很容易获得关于物理学的很多定律。按照这种思路和数学模型,人们很容易获得关于物理学的很多定律。诸如: 诸如:

f=f=mma; a; S=vtS=vtU=RIU=RI Q=CUQ=CU F=kXF=kX E=McE=Mc22P=F/SP=F/S22

( PxVx)/Tx= ( P0V0)/T0=R( PxVx)/Tx= ( P0V0)/T0=R((常数常数 ) ) … …等等

7.1.67.1.6 一个关于专家系统的事例 一个关于专家系统的事例

Page 21: 第 7 章   专家系统

23/4/20 21

按照这种思路和数学模型,人们很容易获得关于物理学的很按照这种思路和数学模型,人们很容易获得关于物理学的很多定律。诸如它能重新发现波义耳定律、欧姆定律、牛顿万多定律。诸如它能重新发现波义耳定律、欧姆定律、牛顿万有引力定律和开普勒行星运动定律等。有引力定律和开普勒行星运动定律等。

例如:如果给程序提供一系列气体体积随温度、压力变化的例如:如果给程序提供一系列气体体积随温度、压力变化的实验数据,系统经过学习概括和归纳推理,可以得出理想气实验数据,系统经过学习概括和归纳推理,可以得出理想气体的波义耳定律。体的波义耳定律。

BACONBACON系统的思想是利用一些算子反复构造一些新的项,当这系统的思想是利用一些算子反复构造一些新的项,当这些项中有一个是常数时,就得到概念些项中有一个是常数时,就得到概念““项项 == 常数常数””。。

7.1.67.1.6 一个关于专家系统的事例 一个关于专家系统的事例

Page 22: 第 7 章   专家系统

23/4/20 22

例如,对开普勒定律:行星绕太阳运动周期为例如,对开普勒定律:行星绕太阳运动周期为 pp 与行星到太与行星到太阳的距离阳的距离 dd有关,即有公式:有关,即有公式: R = dR = d33/p/p22

其中其中 RR为常数。计算过程如表为常数。计算过程如表 8-28-2 所示。所示。

BACONBACON33 程序成功地模拟了人类发现物理学上一些经验性的简程序成功地模拟了人类发现物理学上一些经验性的简单定律,帮助人们概括出了物理实验中的一种客观规律。单定律,帮助人们概括出了物理实验中的一种客观规律。

进一步发展推广, 进一步发展推广, BACONBACON33甚至稍加改进,还甚至稍加改进,还可用于非可用于非线性系统的研究上线性系统的研究上。因此,对于这项成果,学者们曾经给以。因此,对于这项成果,学者们曾经给以很高评价,认为可能很高评价,认为可能抛砖引玉,导致归纳机的诞生抛砖引玉,导致归纳机的诞生。。

7.1.67.1.6 一个关于专家系统的事例 一个关于专家系统的事例

Page 23: 第 7 章   专家系统

23/4/20 23

由上表,对开普勒定律公式 由上表,对开普勒定律公式 R = dR = d33/p/p2 2 发现过程为:发现过程为:① ① pp 和和 dd 都是递增,并且非线性互相依赖,触发建立新项都是递增,并且非线性互相依赖,触发建立新项 d/pd/p 的算子。的算子。② ② dd 和和 d/pd/p 的递增方向刚好相反,触发建立新项(的递增方向刚好相反,触发建立新项( d/pd/p )) ·d=d·d=d22/p/p 的算子。的算子。③ ③ d/pd/p 和和 dd22/p/p 的递增方向刚好相反,触发建立新项(的递增方向刚好相反,触发建立新项( d/pd/p )) ·d·d22/p= d/p= d33/p/p22

的算子。的算子。④④ 项项 dd33/p/p22 是常数,则得到行星运动定律。是常数,则得到行星运动定律。

7.1.67.1.6 一个关于专家系统的事例 一个关于专家系统的事例

行星 p D d/p d2/p d3/p2

Mercury

1 1 1 . 0 1 . 0 1 . 0

Venus 8 4 0 . 5 2 . 0 1 . 0

Earth 27 9 0 . 33 3 . 0 1 . 0

表表 8-2 8-2 行星运动定律的发现 行星运动定律的发现

Page 24: 第 7 章   专家系统

23/4/20 24

11 .. 解释型专家系统(解释型专家系统( expert system for interpretatioexpert system for interpretationn))

通过对已知信息和数据的分析,确定并解释其涵义。解释型专家系统具有以下特点:

⑴ 系统处理的数据量很大,而且往往是不准确的、有错误的或不完全的。

⑵ 系统能够从不完全的信息中得出解释,并能对数据做出某些假设。 ⑶ 系统的推理过程可能很复杂和很长,因而要求系统具有对自身的

推理过程做出解释的能力。 例如解释图像分析,解释地质结构和化学结构的分析系统等。著名

的地质勘探咨询的专家系统 PROSPECTOR就是其中一例。

7.1.77.1.7 专家系统的类型专家系统的类型

Page 25: 第 7 章   专家系统

23/4/20 25

22 ..预测型专家系统(预测型专家系统( expert system for predictionexpert system for prediction))

根据现状预测未来可能发生的情况的专家系统。诸如应用于气象预报、地震灾害预测、人口预测、工农业产量估计及水文、经济、军事形势预测等方面。其特点为:

⑴ 系统处理的数据随时间变化,而且可能是不准确和不完全的。

⑵ 系统需要有适应时间变化的动态模型,能够从不完全和不准确的信息中,得出预报,并达到要求的时效性。

如台风路径预报 TYT专家系统就是一例。

7.1.77.1.7 专家系统的类型专家系统的类型

Page 26: 第 7 章   专家系统

23/4/20 26

33 ..诊断型专家系统(诊断型专家系统( expert system for diagnosisexpert system for diagnosis )) 根据诊断对象的表征现象,例如病人的临床症状,机器故障

的声光现象等,推断出该对象机能失常或发生故障的原因。诊断专家系统具有下列特点:

⑴ 能够了解被诊断对象或客体各组成部分的特性以及它们之间的联系。

⑵ 能够区分一种现象及其所掩盖的另一种现象。 ⑶ 能够向用户提出测量的数据,并从不确切信息中得出尽可能正确的诊断。

如著名的 MYCIN系统,就能对传染性疾病做出专家水平的诊断和治疗选择。

7.1.77.1.7 专家系统的类型专家系统的类型

Page 27: 第 7 章   专家系统

23/4/20 27

44 ..设计型专家系统(设计型专家系统( expert system for designexpert system for design)) 这是一种根据任务要求,计算出满足设计问题约束的目标配置

的系统。设计型专家系统应具有下列特点:⑴ 善于从多方面的约束中得到符合要求的设计结果。⑵ 系统需要检索较大的可能解空间。⑶ 善于分析各种问题,并处理好子问题间的相互关系。⑷ 能够试验性地构造出可能设计,并易于对所得设计方案进行修改。⑸ 能够使用已被证明是正确的设计来解释当前的新设计。 例如, DAC公司用来帮助用户提出最佳计算机配置方案的 R1 系统。

7.1.77.1.7 专家系统的类型专家系统的类型

Page 28: 第 7 章   专家系统

23/4/20 28

55 ..规划型专家系统(规划型专家系统( expert system for planningexpert system for planning)) 用来制订行动规划的专家系统。诸如机器人动作规划、制订

生产规划等。其具体特点有: ⑴ 所要规划的目标可能是动态的或静态的,因而需要对未来动作做出预测。

⑵ 所涉及的问题可能很复杂,要求系统能够抓住重点,处理好各子目标之间的关系和不确定的数据信息,并通过实验性动作得出可行规划。

7.1.77.1.7 专家系统的类型专家系统的类型

Page 29: 第 7 章   专家系统

23/4/20 29

66 ..监视型专家系统(监视型专家系统( expert system for monitoringexpert system for monitoring)) 用来对某些行为、状况进行监视,并与其正常情况进行比较,当发现异常发出告警或进行干预的系统。如森林火警监视、机场监视等。监视专家系统具有下列特点:

⑴ 系统应具有快速反应能力,在造成事故之前及时发出警报。 ⑵ 系统发出的警报要有很高的准确性。在需要发出警报时发警报,在不需要发出警报时不得轻易发警报(假警报)。

⑶ 系统能够随时间和条件的变化而动态地处理其输入信息。

7.1.77.1.7 专家系统的类型专家系统的类型

Page 30: 第 7 章   专家系统

23/4/20 30

77 ..控制型专家系统(控制型专家系统( expert system for controlexpert system for control)) 用以自适应地管理受控对象,使之满足预期要求的系统。其

特点为:能够解释当前情况,预测未来可能发生的情况;诊断可能发生的问题及其原因,不断修正计划,控制系统的运行。控制型专家系统具有解释、预报、诊断、规划和执行等功能。

88 ..调试型专家系统(调试型专家系统( expert system for debuggingexpert system for debugging)) 调试型专家系统的任务是对失灵的对象给出处理意见和方法。调试专家系统的特点是同时具有规划、设计、预报和诊断等专家系统的功能。

7.1.77.1.7 专家系统的类型专家系统的类型

Page 31: 第 7 章   专家系统

23/4/20 31

99 ..教学型专家系统(教学型专家系统( expert system for instructionexpert system for instruction)) 教学型专家系统能根据学生的知识点掌握情况、性情特点等,

以最适当的教案和教学方法对学生进行教学和辅导。其特点为: ( 1 )同时具有诊断和调试等功能。 ( 2 )具有良好的人机界面。

1010.. 维护型专家系统(维护型专家系统( expert system for repairexpert system for repair )) 系统能对发生故障的对象(系统或设备)进行处理,使其恢复正常工作。该类型专家系统应具有诊断、调试、计划和执行等功能。

7.1.77.1.7 专家系统的类型专家系统的类型

Page 32: 第 7 章   专家系统

23/4/20 32

7.7.22 .. 1 1 专家系统的一般结构专家系统的一般结构 7.7.22专家系统的结构与工作原理专家系统的结构与工作原理

人 机 接 口

推理机 解释器 知识获取

知识与数据库

  黑 板黑 板

图 7- 3 A 专家系统的一般结构

知识库

推理机输入或提问 答案

专家知识

图 7- 2 专家系统的基本结构

用户 专家 /知识工程师

Page 33: 第 7 章   专家系统

23/4/20 33图 7―3B 专家系统的基本结构

人 机 界 面

推理机 解释模块

动态数据库知识库

自学习模块知识库管理系统

7.7.22专家系统的结构与工作原理专家系统的结构与工作原理

Page 34: 第 7 章   专家系统

23/4/20 34

专家系统须满足的基本功能(共专家系统须满足的基本功能(共六大功能六大功能)) :: ⑴ ⑴ 存储问题求解所需的专家知识存储问题求解所需的专家知识 ;;⑵ 存储具体领域内的初始数据和推理过程中所涉及到的各种信息.如中间结果、目标、子目标、条件、假设等等。⑶ ⑶ 根据当前输入的数据,利用已有的知识,按照一定的推理策根据当前输入的数据,利用已有的知识,按照一定的推理策略,去解决当前问题,并能控制、协调整个系统。略,去解决当前问题,并能控制、协调整个系统。⑷ ⑷ 能对推理过程、结论或系统自身做出必要的解释.能对推理过程、结论或系统自身做出必要的解释.如解题步骤、处理策略、选择处理方法、求解某种问题的能力、系统如何组织和管理其自身知识等。这样既便于用户的理解和接受,同时也便于系统的维护。

7.7.22 .. 1 1 专家系统的一般结构专家系统的一般结构

Page 35: 第 7 章   专家系统

23/4/20 35

⑸ 提供知识获取、机器学习、修改、扩充和完善等其它维护手段。这样才能更有效地提高系统的问题求解能力及准确性。⑹ ⑹ 提供一种人机接口,能分析、理解用户的各种请求。提供一种人机接口,能分析、理解用户的各种请求。 其中,存放知识和使用知识是专家系统的两个基本功能,用于实现该功能的知识库和推理机构成了专家系统的两个核心部件,如图 7-2 所示。基于规则的专家系统的结构如图 7-3 所示,一般包括知识与数据库、推理机、黑板、人机接口、解释器和知识获取机等六部分。

7.7.22 .. 1 1 专家系统的一般结构专家系统的一般结构

Page 36: 第 7 章   专家系统

23/4/20 36

7.7.22 .. 1 1 专家系统的一般结构专家系统的一般结构

人 机 接 口

推理机 解释器 知识获取

知识与数据库

  黑 板黑 板

图 7- 3 A 专家系统的一般结构

知识库

推理机推理机输入或提问

答案

专家专家知识知识

图 7- 2 专家系统的基本结构

用户 专家 / 知识工程师

Page 37: 第 7 章   专家系统

23/4/20 37

知识与数据库:包括专家知识库和事实数据库两部分,存储着求解领域中问题所需的专家知识及数据,它是专家系统的组成基础。

主要用途:用于存放相关领域或问题的初始数据、中间结果、最终结论等。它能对知识和全局数据施行存储、管理,并以规则形式表达专家级知识。一类是领域中的定义、事实和理论等,通常收录于相关学术著作和教科书中;另一类是专家个人在工作经历中所获得的实践经验等。这使得专家们在错综复杂关键时刻,能临机决断,做出正确决策。

特性:⑴ 它可被所有的规则访问;⑵ 规则之间的联系只有通过数据库才能发生。

7.7.22 .. 1 1 专家系统的一般结构专家系统的一般结构

Page 38: 第 7 章   专家系统

23/4/20 38

推理机:推理机实际上就是一组计算机程序就是一组计算机程序,它是专家系统的“思维”机构,是构成专家系统的核心部分。

主要功能:主要功能:协调控制整个系统,模拟领域专家的思维过程,控制并执行对问题的求解。它能根据当前已知的事实,利用知识库中的知识,按一定的推理方法和控制策略进行推理,求得问题的答案或证明某个假设的正确性。

总之,知识库知识库和推理机推理机构构成了一个专家系统的基本框架。这两部分相辅相成、密切相关。因为不同的知识表示有不同的推理方式,所以,推理机的推理方式和工作效率不仅与推理机本身的算法有关,还与知识库中的知识以及知识库的组织有关。

7.7.22 .. 1 1 专家系统的一般结构专家系统的一般结构

Page 39: 第 7 章   专家系统

23/4/20 39

黑板:黑板: 顾名思义,黑板是一种可读、可刷新重写可读、可刷新重写的装置,用用

于描述记录专家系统的中间推理过程、数据的变换与演算,于描述记录专家系统的中间推理过程、数据的变换与演算,又称为又称为暂存器暂存器。。许多专家系统结构把黑板并入数据库中,但它只是系统运行中间的一些动态信息的集合,是系统运行期间产生和变化的,因此,它只是数据库中“动态”变化的那一部分。有了黑板,便于进行系统跟踪、调试与解释。

7.7.22 .. 1 1 专家系统的一般结专家系统的一般结构构

Page 40: 第 7 章   专家系统

23/4/20 40

解释模块(解释器):解释模块(解释器):

它是实现系统透明性的重要模块,负责回答用户提出的各种问题,解释系统的推理过程,使系统向用户透明。

解释程序模块由一组程序构成,它是专家系统区别于一般程序的重要特征之一。它可对推理路线和提问的含义给出必要的清晰的解释,使用户了解推理过程;并能跟踪并记录推理过程,也为系统维护提供了方便的手段。

7.7.22 .. 1 1 专家系统的一般结构专家系统的一般结构

Page 41: 第 7 章   专家系统

23/4/20 41

知识获取模块:知识获取模块: 这是专家系统中能将某专业领域内的事实性知识和领

域专家所特有的经验性知识转化为计算机可利用的形式并存入知识库的功能模块。同时也负责知识库中知识的修改、删除和更新,并对知识库的完整性和一致性进行维护。

知识获取模块是实现系统灵活性的主要部分,它使领域专家可以修改知识库而不必了解知识库中知识的表示方法、知识库的组织结构等实现上的细节问题,这大大地提高了系统的可扩充性。

7.7.22 .. 1 1 专家系统的一般结构专家系统的一般结构

Page 42: 第 7 章   专家系统

23/4/20 42

人机接口:人机接口: 人机接口负责把领域专家、知识工程师或一般用户输入

的信息转换成系统内规范化的表示形式,然后把这些内部表示交给相应的模块去处理。系统输出的内部信息也由人机接口转换成用户易于理解的外部表示形式显示给用户。

7.7.22 .. 1 1 专家系统的一般结构专家系统的一般结构

Page 43: 第 7 章   专家系统

23/4/20 43

求解过程大致有如下几个步骤:① 根据用户的问题对知识库进行搜索,寻找有关的知识。② 根据有关的知识和系统的控制策略形成解决问题的途径,即知识操作算子序

列,从而构成一个假设集合。③ 对解决问题的一组可能假设方案进行排序,并挑选其中在某些准则下为最优

的假设方案。 ④ 根据挑选的解决问题的假设方案去求解具体问题。⑤ 如果该方案不能真正解决问题,则回溯到假设方案序列中的下一个假设方案,重复求解问题。

上述过程循环执行,直到问题已经解决或所有可能的求解方案都不能解决问题而宣告“本系统该问题无解”为止。

7.7.22 .. 2 2 专家系统的工作原理专家系统的工作原理

Page 44: 第 7 章   专家系统

23/4/20 44

7.7.22 .. 2 2 专家系统的工作原理专家系统的工作原理

上述过程可用图 7-3 来描述。

Y

Y

目标问题分析

根据目标问题集聚知识

形成解决问题的假设方案集

选择最优方案执行之

对假设方案集进行排序

知识库

问题已解决?

选择下一个方案并执行

还有其它方案?

成功结束

失败结束N

N

Page 45: 第 7 章   专家系统

23/4/20 45

上面介绍的专家系统结构,是专家系统的概念模型,或者说是只强调知识和推理这一主要特征的专家系统结构。但专家系统终究仍是一种计算机应用系统。所以,它与其它应用系统一样是解决实际问题的。而实际问题往往是错综复杂的,比如,可能需要多次推理或多路推理或多层推理才能解决,而知识库也可能是多块或多层的。

7.7.22 .3.3 专家系统的实际结构专家系统的实际结构

Page 46: 第 7 章   专家系统

23/4/20 46

专家系统的实际结构示例

总 控

处理模块1

专家模块1

……

……

专家模块

m

处理模块

n

Page 47: 第 7 章   专家系统

23/4/20 47地质图件绘制智能辅助系统结构

多媒体人机界面

方 法知识库

参 数知识库

动态数据库

评 价知识库

自学习 模 块

知识库管理系统

方法选择

参数确定

图件绘制

图形评价

IO接口

Page 48: 第 7 章   专家系统

23/4/20 48

网络与分布式结构网络与分布式结构 在网络环境下,专家系统也可以设计成网络结构,如“客户机 / 服务器” (Client/Server) 结构),或浏览器/ 服务器 (Browser/Server) 结构 )。我们称这类专家系统为网上专家系统。

分布式结构则是一种适合于分布式计算环境的专家系统。例如那些多学科、多专家联合作业,协同解题的大型专家系统,就可以设计成分布式结构。这类专家系统也就称为分布式专家系统。

7.7.22 .3.3 专家系统的实际结构专家系统的实际结构

Page 49: 第 7 章   专家系统

23/4/20 49

专家系统的客户 ( 机 )/ 服务器结构及浏览器 / 服务器结构

知识库

推理机

推理机

知识库

人—机界面

人—机界面

客户(机) Browser

服务器 Web Server

Internet

7.7.22 .3.3 专家系统的实际结构专家系统的实际结构

Page 50: 第 7 章   专家系统

23/4/20 50

7.7.33 专家系统的产生式表示专家系统的产生式表示

针对指定的符号串产生替换运算,美国数学家针对指定的符号串产生替换运算,美国数学家 PostPost 于于 19431943 年首次提年首次提出产生式系统出产生式系统 (Production System)(Production System) 概念;后来,学者们又依据这种概念;后来,学者们又依据这种按指定方式产生输出符号的思想,构造了按指定方式产生输出符号的思想,构造了 POSTPOST 自动机自动机,明确地提出,明确地提出了一种了一种用“规则”进行信息加工的系统模型用“规则”进行信息加工的系统模型。。

随后,产生式不断发展。随后,产生式不断发展。 MarkovMarkov 提出了产生式系统的控制策略;提出了产生式系统的控制策略; ChoChomskeymskey 提出了提出了文法分层概念文法分层概念和类似产生式生成的和类似产生式生成的语言重写规则语言重写规则;在此;在此基础上,计算机界学者成功地基础上,计算机界学者成功地构造了构造了 ALGOL60ALGOL60 高级计算机语言高级计算机语言;; 2020世纪七十年代,世纪七十年代, Newell Newell 和和 SimonSimon 等学者在对人类认知模型研究中,等学者在对人类认知模型研究中,开发了开发了基于规则的产生式系统基于规则的产生式系统等。从此,产生式知识表示在人工智能等。从此,产生式知识表示在人工智能中得到广泛的应用,尤其中得到广泛的应用,尤其 FeigenbaumFeigenbaum 等人运用产生式知识表示,成等人运用产生式知识表示,成功构造了专家系统,取得了许多卓越的成就。功构造了专家系统,取得了许多卓越的成就。

7.7.33 .. 1 1 产生式的提出产生式的提出

Page 51: 第 7 章   专家系统

23/4/20 51

7.7.33 专家系统的产生式表示专家系统的产生式表示

产生式知识表示与人们很多的思维习性十分吻合。例如,自然界中广泛使用产生式知识表示与人们很多的思维习性十分吻合。例如,自然界中广泛使用的各种因果关系,还有人们关于判断的思维方式等,都可以归纳为诸如: 的各种因果关系,还有人们关于判断的思维方式等,都可以归纳为诸如: ““条件→结论条件→结论”或“”或“原因→结果原因→结果”、 “”、 “前提→操作前提→操作”、 “”、 “情况→行为情况→行为”等”等结构,它们都是产生式的知识表达形式。例如: 结构,它们都是产生式的知识表达形式。例如:

⑴ ⑴ 天下雨,地上湿。(“天下雨,地上湿。(“原因→结果原因→结果”结构)”结构)⑵ ⑵ 如果把冰加热到如果把冰加热到 00oo以上,冰就会溶化为水。(“以上,冰就会溶化为水。(“条件→结论条件→结论”结构)”结构)⑶“⑶“夜来风雨声,花落知多少。”(夜来风雨声,花落知多少。”(事实及其进展结构事实及其进展结构))⑷ ⑷ 若能找到一根合适的杠杆,就能撬起那座大山。(“若能找到一根合适的杠杆,就能撬起那座大山。(“前提→操作前提→操作”” ))⑸ “⑸ “才饮长沙水,又食武昌鱼。” (才饮长沙水,又食武昌鱼。” (事实及其进展结构事实及其进展结构))⑹ ⑹ 刚才开机了,意味着发出了捕获目标图像的信号。(“刚才开机了,意味着发出了捕获目标图像的信号。(“情况→行为情况→行为””))再如,人们好奇于“金刚石可在氧气中燃烧而消失”的原因,就可用产生式知识再如,人们好奇于“金刚石可在氧气中燃烧而消失”的原因,就可用产生式知识表示的语言结构来解释:因为金刚石是由碳原子组成的,所以再硬的金刚石表示的语言结构来解释:因为金刚石是由碳原子组成的,所以再硬的金刚石也可燃烧成为也可燃烧成为 COCO22 ,变成气体消失了。,变成气体消失了。

7.7.33 .. 1 1 产生式的结构形式产生式的结构形式

Page 52: 第 7 章   专家系统

23/4/20 52

7.7.33 专家系统的产生式表示专家系统的产生式表示

特点:特点:产生式结构形象、生动,普遍存在,既符合客观规律,产生式结构形象、生动,普遍存在,既符合客观规律,又具有智能特性,极有挖掘研究价值。又具有智能特性,极有挖掘研究价值。

产生式还可以表现更复杂的情况:可把其表示为相互并立、分产生式还可以表现更复杂的情况:可把其表示为相互并立、分立、合成、嵌套等形式。立、合成、嵌套等形式。例如,例如,

⑺⑺四边形四边形∧∧四边相等四边相等∧∧有一角是直角有一角是直角→→正方形正方形 .. ⑻⑻一个夏天一个夏天∧∧甲到太白山游览甲到太白山游览∧∧山上突然刮起寒风山上突然刮起寒风∧∧甲仅仅身甲仅仅身穿单衣穿单衣∧∧冰雹雪花纷纷飘落冰雹雪花纷纷飘落→→气候太寒冷了气候太寒冷了∧∧甲浑身打哆嗦甲浑身打哆嗦 ..

7.7.33 .. 1 1 产生式的结构形式产生式的结构形式

Page 53: 第 7 章   专家系统

23/4/20 53

7.7.33 专家系统的产生式表示专家系统的产生式表示 7.7.33 .. 1 1 产生式的结构形式产生式的结构形式

产生式的合成与分解:产生式的合成与分解:

⑽⑽ 设有规则 设有规则 R: ((AR: ((A B)∧B)∧ (C∨(C∨ D)) ((E F)∧ ∧ ∧D)) ((E F)∧ ∧ ∧ G) ∨G) ∨ →S→S

RR11: : SS11 ∧ ∧ SS2 2 →S→S

RR22: : SS33 S∨S∨ 44 → → SS11

RR33: : SS55 S∨S∨ 66 → → SS22

RR44: : AA B∧B∧ → → SS33

RR55: : CC D∧D∧ → → SS44

SS3 3 ∨∨ SS44 SS5 5 S∨ S∨ 66

SS1 1 ∧ ∧ SS22

RR66: : EE F∧F∧ → → SS55

RR77: : GG → → SS66

Page 54: 第 7 章   专家系统

23/4/20 54

7.7.33 专家系统的产生式表示专家系统的产生式表示 7.7.33 .2.2 产生式结构的转换产生式结构的转换

⑽⑽设有规则 设有规则 R: ((AR: ((A B)∧B)∧ (C∨(C∨ D)) ((E F)∧ ∧ ∧D)) ((E F)∧ ∧ ∧ G) ∨G) ∨ →S→S

产生式结构可转换为产生式结构可转换为与与 // 或树结构来表示:或树结构来表示:

SS3 3 ∨∨ SS44 SS5 5 S∨ S∨ 66

SS1 1 ∧ ∧ SS22

SS

BBAA

SS11SS 22

SS33 SS44

C C D D

SS55 SS66

E E FF G G

Page 55: 第 7 章   专家系统

23/4/20 55

7.7.33 专家系统的产生式表示专家系统的产生式表示

产生式系统组成:产生式系统组成:由由产生式规则产生式规则 (Production Rules)(Production Rules) 、、综合数据库综合数据库 (Gl(Global Database)obal Database) 和和控制策略控制策略 (Control Strategy)(Control Strategy) 三部分组成如图。三部分组成如图。

由图可见,由图可见,综合数据库综合数据库、、产生式规则产生式规则是系统的具体知识与信息的存储处是系统的具体知识与信息的存储处理部件,是产生式系统的基础部分;理部件,是产生式系统的基础部分;控制策略控制策略是系统的协同处理机构,是系统的协同处理机构,是产生式系统的指挥控制中心。产生式系统的知识表示主要体现于综合是产生式系统的指挥控制中心。产生式系统的知识表示主要体现于综合数据库与产生式规则的各自表示。 数据库与产生式规则的各自表示。

7.7.33 .3.3 产生式结构与专家系统组成产生式结构与专家系统组成

综合数据库

产生式规则

匹配事实匹配事实

调用规则调用规则

控制策略

Page 56: 第 7 章   专家系统

23/4/20 56

7.7.33 专家系统的产生式表示专家系统的产生式表示

产生式系统组成:产生式系统组成:由由产生式规则产生式规则 (Production Rules)(Production Rules) 、、综综合数据库合数据库 (Global Database)(Global Database) 和和控制策略控制策略 (Control Strateg(Control Strategy)y)三部分组成如图。三部分组成如图。

7.7.33 .3.3 产生式结构与专家系统组成产生式结构与专家系统组成

综合数据库

  控制控制

匹配事实 调用规则 产生式规则 (库 ) 策略策略

图 2-3 产生式系统组成

Page 57: 第 7 章   专家系统

23/4/20 57

7.3.3 7.3.3 产生式结构与专家系统组成产生式结构与专家系统组成

综合数据库 产生式规则产生式规则 控制策略控制策略综合数据库的建造综合数据库的建造

知识与数据库推理机推理机解释部分(解释器)解释部分(解释器)知识的获取机构知识的获取机构

专 家 系 统 结 构专 家 系 统 结 构

表表 7-1 7-1 专家系统与产生式结构的关系专家系统与产生式结构的关系

产 生 式 系 统 组 成产 生 式 系 统 组 成

Page 58: 第 7 章   专家系统

23/4/20 58

7.47.4 专家系统的建造与评价专家系统的建造与评价

专家系统的性能需要从四方面来考虑:即方便性、有效性、方便性、有效性、可靠性可靠性和可维护性。可维护性。

专家系统设计的准则:专家系统设计的准则:由于考虑因素不同,角度不同,所给出的准则也不同。为了使所设计的专家系统便于实现,专家系统设计一般要求遵循以下基本原则:专家系统设计一般要求遵循以下基本原则:

⑴ ⑴ 知识库和推理机分离。知识库和推理机分离。这是设计专家系统的基本原则。⑵ ⑵ 尽量使用统一的知识表示方法。尽量使用统一的知识表示方法。以便于系统对知识进行统一的处理、

解释和管理。⑶ ⑶ 推理机应尽量简化。推理机应尽量简化。把启发性知识也尽可能地独立出来,这样既便于

推理机的实现,同时也便于对问题的解释。

7.4.7.4. 1 1 一般步骤与方法一般步骤与方法

Page 59: 第 7 章   专家系统

23/4/20 59

7.47.4 专家系统的开发与建造专家系统的开发与建造

专家系统的开发步骤专家系统的开发步骤 :: 一般所采取的步骤是一个传统程序开发的循环形式,整个开发过程如图 7-5所示 , 由一系列动态过程组成。由一系列动态过程组成。

7.4.7.4. 1 1 一般步骤与方法一般步骤与方法

Page 60: 第 7 章   专家系统

23/4/20 60

7.4.7.4. 1 1 一般步骤与方法一般步骤与方法需求分析需求分析

知识表示知识表示

详细设计详细设计

实现编码实现编码

测试与评价测试与评价

管理与维护管理与维护

知识获取知识获取

初步设计初步设计

图图 7-5 7-5 专家系统开发的生存周期模专家系统开发的生存周期模型型

7.47.4 专家系统的开发与建造专家系统的开发与建造

在 ES开发中,最初:最初:不可能被很好理解,定义也不可能很完整,则初期开发过程只能初期开发过程只能自顶而下;自顶而下;过程中:过程中:在每一在每一过程进行中,过程进行中,往往又需要不断又需要不断反复回反复回溯;溯;以修改已进行的过程。后期优化:后期优化:在过程的动态反复进行中,系统须不断优系统须不断优化,最终形成能满化,最终形成能满足要求的实际系统足要求的实际系统。。

Page 61: 第 7 章   专家系统

23/4/20 61

(( 11 )需求分析)需求分析 首先必须搞清楚用户需要一个什么样的系统?要求

具有什么功能?各项性能要求如何等。需求分析做的好坏是系统最终成败的一个关键,是专家系统的艰难开发过程的第一关。

知识工程师要花很多时间反复向未来的用户和领域专家提出各种问题,并共同讨论解决各种问题的方法,写出“需求分析报告”, 根据专家与用户们的评审意见, 把需求分析报告改写成“系统规格说明书”,并做出“系统开发计划”。

7.4.7.4. 1 1 一般步骤与方法一般步骤与方法 7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 62: 第 7 章   专家系统

23/4/20 62

知识获取是专家系统开发过程中最重要而困难的一步,被称为专家系统开发的“瓶颈瓶颈”。 知识获取需要知识工程师与领域专家的密切配合和支持,否则是不可能成功的。从某种意义上来说,知识是决定专家系统性能好坏的主要因素,知识获取的成功几乎就使系统成功了一半。 这是一个反复进行,不断修改、扩充;进行需求分析,知识表示,详细设计,实现编码、测试与评价,管理与维护的过程。

7.4.7.4. 1 1 一般步骤与方法一般步骤与方法

(( 22 )知识获取:)知识获取:

Page 63: 第 7 章   专家系统

23/4/20 63

(( 33 )知识表示)知识表示 不同的知识表示方法适合于表达不同类型的知识。因此,根据所选定的领域范围和所获取的知识,选定或设计一、二种表示方法来最合适地表示相应领域的知识是一项很重要的工作。 某些专家系统中的知识类型比较多,单一知识表示模式有时很难实现系统的任务要求。因此可采用多种知识表示方法有机结合的方法。这样,可对不同类型的知识采用最合适的方法来表示,发挥各种方法的优势。

7.4.7.4. 1 1 一般步骤与方法一般步骤与方法

7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 64: 第 7 章   专家系统

23/4/20 64

(( 44 )初步设计)初步设计 这个阶段所要完成的任务是从宏观上初步确定系统的体

系结构,进行功能模块的划分,确定各功能模块之间的相互关系(包括控制流和数据流等),画出系统的总体结构图,确定主要的用户界面及相应的设计报告或说明书。在总的满足需求分析的前提下,最终确定系统或模块的性能指标,作为下一步详细设计时要达到的目标。

7.4.7.4. 1 1 一般步骤与方法一般步骤与方法 7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 65: 第 7 章   专家系统

23/4/20 65

该阶段要根据各功能模块任务和性能的要求,完成各模块的具体方案设计。具体要求设计数据库、知识库、推理机、知识获取、解释和用户接口的实现方案。

程序结构的模块化设计是详细设计阶段的主要方法。先将整个程序分解为若干模块,每个模块又分解为若干个子模块,有的子模块还可更进一步分解。明确各模块和子模块的功能及其入口和出口,以便程序员可明确分工,分别编写不同的模块和子模块。完成各模块间接口的具体设计,要求界面清晰、互相联系方便和高效。

7.4.7.4. 1 1 一般步骤与方法一般步骤与方法

(( 55 )详细设计)详细设计

Page 66: 第 7 章   专家系统

23/4/20 66

选择合适的语言工具,其中包括:是否可实现已确定的详细设计;软件编程人员对语言或工具的熟练程度以及实现人员的水平;是否能表达所获取的知识;可移植性和可维护性等。

可选择使用某种“外壳”( Shell)来实现,将使这一工作变得简单,仅需按规定要求,把知识库与外壳连接起来并作必要的测试即可。还必须采用某种知识处理语言来实现各功能模块,对各功能模块进行详细编码与调试,并将这些模块连接起来,再进行系统调试。

7.4.7.4. 1 1 一般步骤与方法一般步骤与方法

(( 66 ) 编码实现) 编码实现

Page 67: 第 7 章   专家系统

23/4/20 67

系统测试与评价的目的在于测试和评估整个系统的功能与性能,并进行必要的修改以达到在需求分析阶段确定的功能与性能指标。系统的测试与评价必须有领域专家和用户参加,不仅要对程序编码进行测试,同时也要对知识和推理进行测试与评价,界面是否满足用户的要求等。

方法:选用测试实例与专家的处理结果进行比较,发现不合理或不满意,则由开发人员具体修改,再进行下一轮测试,如此循环循环往复往复,不断完善不断完善,直到最终达到预期目标。

7.4.7.4. 1 1 一般步骤与方法一般步骤与方法

(( 77 )系统测试与评价)系统测试与评价

Page 68: 第 7 章   专家系统

23/4/20 68

这是 ES应用中的重要环节。 ES系统经过一定时间实际运行后 ,将积累一些经验和知识,并发现某些不足。因此,知识库的知识要不断增加与更新,以提高专家系统的适应性和问题求解能力。允许对其继续进行修改与维护,当然这需要由丰富经验的人员完成。

7.4.7.4. 1 1 一般步骤与方法一般步骤与方法

(( 88 )系统管理与维护)系统管理与维护

Page 69: 第 7 章   专家系统

23/4/20 69

可见, ESES 开发过程是一个漫长的“设计、实现、测试、修改、开发过程是一个漫长的“设计、实现、测试、修改、再设计、再实现、再测试、再修改、……”的不断循环的反复再设计、再实现、再测试、再修改、……”的不断循环的反复过程。过程。

例如通过系统测试与评价,要检查整个专家系统的正确性与实用性,以便于系统进行修改与完善,或者是可以提供用户使用。

上述各开发阶段往往是不能截然分开的。例如,知识获取和表示与实现过程互相渗透,密切相关。在测试中知识工程师们可能要不断地修改系统的各个部分,也可能要不断地修改已获取的知识,从而有可能要重新形成规则,或需要重新设计知识表示方法,发现新概念或取消旧概念,甚至可能重新进行需求分析。

7.4.7.4. 1 1 一般步骤与方法一般步骤与方法

7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 70: 第 7 章   专家系统

23/4/20 70

专家系统性能优劣与知识的数量与质量有关.一般而言,专家系统性能优劣与知识的数量与质量有关.一般而言,对专家系统对专家系统知识表示知识表示有如下要求:有如下要求:

⑴ ⑴ 表示能力:表示能力:能将问题求解所需知识有效正确表达。能将问题求解所需知识有效正确表达。⑵ ⑵ 可理解性:可理解性:所表达的知识简单、明了、易于理解。所表达的知识简单、明了、易于理解。⑶ ⑶ 可访问性:可访问性:能够有效地利用所表达的知识。能够有效地利用所表达的知识。⑷ ⑷ 可扩充性:可扩充性:能够方便、灵活地对知识进行扩充。能够方便、灵活地对知识进行扩充。

7.4.7.4. 2 2 专家系统知识表示与知识描述专家系统知识表示与知识描述

7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 71: 第 7 章   专家系统

23/4/20 71

专家系统知识表示专家系统知识表示 ::已在 AI领域中发展了多种知识表达方法。从实现的技术特征上大致分两类:

11 ))说明性方法:可把大多数的知识可以表示为一个稳定的事实集合。这种方法严密性强,易于模块化,具有推理的完备性,但推理的效率比较低。

22 ))过程性方法:过程性方法:把知识表达为应用该知识的过程。这种方法不易扩充,但推理效率比较高。

究竟采用哪种方法好,要具体情况具体分析确定。

7.4.7.4. 2 2 专家系统知识表示与知识描述专家系统知识表示与知识描述

7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 72: 第 7 章   专家系统

23/4/20 72

知识描述:选择或设计某种知识表示形式,设计相应的知识描述语言。要求该语言既要面向用户,又要面向机器推理、机器知识的表示和运用。即要求该描述语言既能为用户提供一种方便、易懂的外部知识表达形式,又能将这种外部表示转换成容易存储、管理、运用的内部形式。

11 ))可用现有的程序设计语言作为知识描述语言,如 PROLOG、LISP、 C++等;

22 ))也可以选用专用的如产生式语言 OPS 、框架语言 KPL等; 33 ))还可选择现成的 ES工具来描述,如 KAS 、 EMYCIN等。 当然还可自行动手设计等。

7.4.7.4. 2 2 专家系统知识表示与知识描述专家系统知识表示与知识描述

7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 73: 第 7 章   专家系统

23/4/20 73

知识库是专家系统的核心,知识库的质量直接关系到整个系统的性能和效率。

1 )知识库的结构:知识库的结构:对知识库设计,主要在于设计知识库的结构及其知识组织形式。 ESES 知识库,一般取层次结构知识库,一般取层次结构或网状结构模式。或网状结构模式。

2 )结构特点:结构特点:该结构模式是把知识按某种原则进行分类,然后分块分层组织存放。诸如按元知识、专家知识、领域知识等分层组织,而每一块和每一层还可以再分块分层。这样,整个知识库就呈树型或网状结构。整个知识库就呈树型或网状结构。这种层次结构,可方便知识的调度和搜索,加快推理速度,提高效率;采用分块存放,便于更经济地利用知识库空间。

7.4.7.4. 3 3 知识库与知识库管理系统知识库与知识库管理系统 7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 74: 第 7 章   专家系统

23/4/20 74

知识库管理系统设计知识库管理系统设计 知识库的建立、删除、重组及维护和知识的录入、查

询、更新、优化等,还有知识的完整性、一致性、冗余性检查和安全保护等方面的工作都是对知识的管理,是提高整个系统性能和效率的保证,对知识的这些管理是由知识库管理系统来完成。

7.4.7.4. 3 3 知识库与知识库管理系统知识库与知识库管理系统 7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 75: 第 7 章   专家系统

23/4/20 75

知识库管理系统的设计中要做到下面三个方面:⑴ ⑴ 知识操作功能设计。知识操作功能设计。包括添加、删除、修改、查询和统计等,这些功

能可采用两种方法来实现。①利用屏幕窗口,通过人机对话方式实现知识的增、删、改、查等; ②用全屏幕编辑方式,让用户直接用键盘按知识描述语言的语法格式编辑知识。

⑵ ⑵ 知识检查功能设计。知识检查功能设计。检查知识的一致性、完整性、冗余性等。

⑶ ⑶ 知识库操作设计。知识库操作设计。包括知识库(文件)的建立、删除、分解、合并等。其中知识库的分解和合并功能类似于关系数据库的投影、选择和连接操作,实现的是知识库的重组。因为随着系统的运行,可能会发现原先的知识组合不尽合理,从而需要使用分解与合并来重组。

7.4.7.4. 3 3 知识库与知识库管理系统 知识库与知识库管理系统  7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 76: 第 7 章   专家系统

23/4/20 76

例如,① 知识的一致性。① 知识的一致性。所谓知识的一致性,就是知识库中的知识必须是相容的,即无矛盾。例如,下面的两条规则

r1 : if P then Qr2 : if P then ~ Q它们就是矛盾的。 再如,设有如下产生式规则r1 : if P then Qr2 : if Q then Rr3 : if R then Sr4 : if P then Tr5 : if T then ~ S

7.4.7.4. 3 3 知识库与知识库管理系统知识库与知识库管理系统

7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 77: 第 7 章   专家系统

23/4/20 77

其中, r1 , r2 , r3 是一条规则链; r4 , r5 是另一条规则链。它们有相同的初始条件,即 P 。此时,这两条规则链也是矛盾的。

那么,对于这样的矛盾规则或矛盾规则链,不能让它们共处同一个知识库中,必须从中舍弃一个,具体需征求领域专家的意见。

② ② 知识的完整性。知识的完整性。 所谓完整性,是指知识中的约束条件,应为完整性约束。

例如,小王身高 x 米,则必须满足: x < 3 ;又如,弟弟今年 m岁,哥哥今年 n 岁,则必须满足 m < n 。否则就破坏了知识的完整性。

7.4.7.4. 3 3 知识库与知识库管理系统知识库与知识库管理系统 7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 78: 第 7 章   专家系统

23/4/20 78

③③ 知识的冗余性。知识的冗余性。 所谓冗余性,就是指知识库中存在多余的知识或者存在多余的约束条件。冗余性检查就是检查知识库中的知识是否存在冗余,并对冗余内容进行修改或删除,使得系统中不存在冗余现象。

例如,下面的三条规则r1: if P then Q r2 : if Q then R r3 : if P then R 若它们同时存在于一个知识库中,则就出现了冗余。因为,由 r1和

r2 就可推出 r3。所以, r3实际是多余的。

7.4.7.4. 3 3 知识库与知识库管理系统知识库与知识库管理系统 7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 79: 第 7 章   专家系统

23/4/20 79

其实推理机的设计,就是根据知识表达、知识推理方法和推理控制策略,设计具有求解专门问题、进行推理功能的自动推理计算机软件系统。

推理机是功能的强弱将直接影响到专家系统的性能,推理机的推理是基于知识库中的知识进行的。所以,推理机就必须与知识库及其知识相适应、相配套。具体来讲,就是推理机必须与知识库的结构、层次以及知识的具体表示形式等相协调、相匹配。否则,推理机与知识库将无法接轨。

7.4.7.4. 4 4 推理机与解释机构设计推理机与解释机构设计

7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 80: 第 7 章   专家系统

23/4/20 80

设计推理机时要考虑如下: ⑴ ⑴ 控制策略与推理方向选择控制策略与推理方向选择 ① 数据驱动控制,即正向推理。其优点是:用户可主动提供数据信息,适用于“解空间”大的问题,如设计、管理。

② 目标驱动控制,即反向推理。其优点是:推理目的明确,便于推理过程解释。

③ 混合控制,即数据驱动与目标驱动相结合,由数据驱动选择目标,而由目标驱动进行求解。

7.4.7.4. 4 4 推理机与解释机构设计推理机与解释机构设计

7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 81: 第 7 章   专家系统

23/4/20 81

⑵ ⑵ 推理方法选择与结合。推理方法选择与结合。 知识推理方法选择与知识表达方法有关,表达方法的

结合也导致推理方法的结合。启发推理与算法推理相结合可以取长补短。如:

① 启发推理:用于浅层知识、常识性知识、不确定知识推理等。

 ② 算法推理:用于深层知识、数学模型、确定性逻辑推理等。

7.4.7.4. 4 4 推理机与解释机构设计推理机与解释机构设计

7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 82: 第 7 章   专家系统

23/4/20 82

⑶ ⑶ 推理效果与推理效率推理效果与推理效率 ① 推理效果:即推理的正确性和有效性。对可解的问题能求

得解答,能正确地利用和选取知识,控制和中止推理过程,避免“死循环”。

② 推理效率:即推理速度和求解时间的问题。为了提高推理效率,要充分利用启发信息,延缓或避免“组合爆炸”,降低推理和控制的代价(时间耗费),实现最经济推理。

另外,在设计推理机时,还要考虑是采用精确推理,还是不精确推理?是串行推理,还是并行推理?是单调推理,还是非单调推理?是用归纳法,还是用自然演绎法等问题。

7.4.7.4. 4 4 推理机与解释机构设计推理机与解释机构设计

7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 83: 第 7 章   专家系统

23/4/20 83

解释机构的设计:解释机构的设计: 专家系统一般要求要有解释功能,回答用户在推理过

程中“为什么”之类的问题及在推理结束后回答“怎么样(得到结果)”之类的问题。从系统功能上讲,一般是将解释作为一个独立的模块来处理,但在结构上,由于要解释就必须对推理进行实时跟踪,因此,解释机构常与推理机的设计同时考虑和进行。也就是说,解释机构模块应作为推理机的一部分进行设计。

7.4.7.4. 4 4 推理机与解释机构设计推理机与解释机构设计

7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 84: 第 7 章   专家系统

23/4/20 84

系统向用户提出各种问题,请求用户交互地给予回答。其目的是专家系统在执行过程中对任何需要的而系统中不能自身解决的问题都可求助于向用户提问。

各种问题求解结论的输出(显示、打印或绘图等)可以是文字或图表等。实现对用户要求的解释信息的输出。

专家系统与知识工程师或领域专家的接口 这里通常指知识获取界面,其功能为:输入知识,包括对知识库内容的插入、删除和修改等,以便扩充、更新知识库;显示知识库的内容,以便于进行检索和抽取,并对知识库进行维护。

7.4.7.4. 5 5 人机界面设计人机界面设计

7.47.4 专家系统的开发与建造专家系统的开发与建造

Page 85: 第 7 章   专家系统

23/4/20 85

7.57.5 专家系统的评价专家系统的评价

从本质上讲, ES的质量取决于计算机工程师的水平、专家的水平以及他们合作的成功度。因此,评价一个专家系统几乎与评价建造该系统的学者和专家水平等同。可见这是一个非常困难的问题。公正的评价只能通过实践和时间来检验。然而

一个好的好的 ESES 的应具有三大特性的应具有三大特性:

⑴ ⑴ 启发性;启发性; ⑵ ⑵ 透明性;透明性; ⑶ ⑶ 实用灵活性。实用灵活性。 评价一个 ES系统,一般最重视的是符合率符合率,而不是准确率准确率。

Page 86: 第 7 章   专家系统

23/4/20 86

7.57.5 专家系统的评价专家系统的评价   ES的评价包括对建造完成的专家系统各个性能指标进行全面测试,以检查系统是否达到原先制定的性能标准。

对专家系统的评价,大致包括以下方面: ⑴ ⑴ 评价系统的性能评价系统的性能 看其是否达到性能标准,具有领域专家的水平,是否达到实

用程度。 ⑵ ⑵ 评价系统的灵活性评价系统的灵活性 看知识库的知识是否便于修改、扩充。 ⑶ ⑶ 评价系统的易了解性评价系统的易了解性 即专家系统的解题过程和系统本身是否容易被用户和系统维护人员了解。

Page 87: 第 7 章   专家系统

23/4/20 87

7.57.5 专家系统的评价专家系统的评价

⑷ ⑷ 评价系统的可用性评价系统的可用性 主要从系统使用方法的简单易行,人机交互手段的直观性、系

统效率以及推广应用前景等方面进行评价。 ⑸ ⑸ 评价系统的效益评价系统的效益 即系统的应用能否产生经济效益和社会效益,产出是否大于投入。

⑹ ⑹ 评价系统的意义评价系统的意义 看系统的实现技术对促进专家系统的发展和推广是否有积极意

义,系统的应用对国民经济的发展能否产生重大的影响。 上述评价内容按次序形成一个由低到高的层次结构,只有通过较低级的评价才能进入较高级的评价。例如,若系统的性能很差,评价其它原则就失去了意义。

Page 88: 第 7 章   专家系统

23/4/20 88

7.57.5 专家系统的评价专家系统的评价专家系统的评价通常由 3个阶段组成: (1)(1) 系统开发过程中的评价。系统开发过程中的评价。由参加系统开发的知识工程师和领域专家来进行。领域专家关心的是系统的性能和解题效率,而知识工程师还要考虑系统开发技术对系统工作情况的影响。(2)(2) 系统基本完成后的评价。系统基本完成后的评价。由同行专家和专业人员对系统进行正式评价,其目的是对系统进行较为广泛而客观的评价。评价的方法可以采用鉴定会或散发调查表的方法。(3)(3) 在用户环境下进行测试和评价。在用户环境下进行测试和评价。这一工作在专家系统鉴定后,主要由各种用户在系统上运行大量实例来评价系统的性能和实用性,这是系统正式投入运行之前必不可少的工作。

Page 89: 第 7 章   专家系统

23/4/20 89

7.57.5 专家系统的评价专家系统的评价 通常评价专家系统可以使用两种方法:通常评价专家系统可以使用两种方法:11 、“双盲测试”法:、“双盲测试”法:这是一种比较客观的方法。 (1) (1) 准备测试集;准备测试集; (2) (2) 双盲解题;双盲解题; (3) (3) 专家评议;专家评议; (4) (4) 客观比较;客观比较; (5) (5) 用户报告。用户报告。22 、“层次分析”评价法:、“层次分析”评价法: (1) (1) 明确评价目的,确定评价指标;明确评价目的,确定评价指标; (2) (2) 划分层次,顶层划分层次,顶层 (( 目的目的 )) ,中层,中层 ((指标指标 )) ,低层,低层 ((替代方案表替代方案表 ) ) ;; (3) (3) 逐层逐项测试比较;逐层逐项测试比较; (4) (4) 确定各层各项的加权系数;确定各层各项的加权系数; (5) (5) 总计评价比较的结果。总计评价比较的结果。

Page 90: 第 7 章   专家系统

23/4/20 90

7.57.5 专家系统的评价专家系统的评价

评价专家系统的性能主要依据两方面意见:评价专家系统的性能主要依据两方面意见: (1)(1) 利用实际的反馈信息评价系统。利用实际的反馈信息评价系统。 用实际反馈信息评价系统的优点是客观,但是有些问题在短期

内不易获得实际反馈信息,故使用该法有局限性。 (2)(2) 同行专家的评议。同行专家的评议。 一种常用的方法是请同行专家评议专家系统所得的结论的正确

性。另一种就是利用“双盲测试法”,即系统和评议专家在互不知道对方结论的情况下,各自求解相同的问题,然后比较结论,看是否一致。

由于评价专家系统的工作量比较大,现在已开始借助一些评价工具来评价专家系统。例如,已研制成功用于分析似然推理算法准确性的程序,用来比较系统计算的结果和实际统计数据的差别等。

Page 91: 第 7 章   专家系统

23/4/20 91

7.67.6 专家系统的开发工具专家系统的开发工具 ES开发工具在 70年代中期开始发展起来,迄今已有数以百计各式各样

的专家系统开发工具,主要有:智能程序设计语言、专家系统外壳、智能程序设计语言、专家系统外壳、专家系统开发环境专家系统开发环境等类型。

作为专家系统的开发工具,它一般应包括以下五个方面:(( 11 ))一种或多种固定的知识表示方法,并有相应的内部编码形式。(( 22 ))具有知识编辑器,能以交互方式输入知识并自动建立知识库。(( 33 ))具有知识库维护和管理机制,处理知识库中的矛盾、冗余和其它一些不一

致性,以及知识的存储、运筹和调度。(( 44 ))提供一套或多套推理机制,与由知识编辑器建立的知识库一起实现实际问

题的求解。(( 55))设置一个跟踪解释机制,帮助用户理解系统求解的结论,并能便于定位知

识库中的错误和不完善的问题。

Page 92: 第 7 章   专家系统

23/4/20 92

ES 程序设计语言:一般分为 AI专用语言、知识表示语言和通用型语言三大类。

1)面向人工智能的程序设计语言: 如 LISP、 PROLOG等。 特点:通用性强,与领域无关,用户能根据需要自由地设计系统。

7.6.7.6. 1 1 智能程序设计语言智能程序设计语言

7.67.6 专家系统的开发工具专家系统的开发工具

Page 93: 第 7 章   专家系统

23/4/20 93

2)知识表示语言:即通用型知识表达语言,诸如产生式语言系统 OPS5;基于框架理论的知识表示语言 FRL;还有一些集中了多种编程方式的知识表示语言,如 LOOPS——一种面向对象、数据、规则及其多知识表示的组合式语言。

特点:不局限于任一特殊控制策略,广泛适用于一般问题;但受到语言结构自身设计限制。

7.6.7.6. 1 1 智能程序设计语言智能程序设计语言

7.67.6 专家系统的开发工具专家系统的开发工具

Page 94: 第 7 章   专家系统

23/4/20 94

3)通用型语言: 由于面向对象的知识表示方法特别适合于大型知识库系统的开发,被广泛应用于专家系统程序设计中。如 java、 VC++等,都已成为广泛使用的 AI程序设计语言之一。

7.6.7.6. 1 1 智能程序设计语言智能程序设计语言

7.67.6 专家系统的开发工具专家系统的开发工具

Page 95: 第 7 章   专家系统

23/4/20 95

7.67.6 专家系统的开发工具专家系统的开发工具

ES 外壳和 ES开发环境比一般的计算机高级语言具有更强的功能,它们是一种更高级的计算机程序设计语言。

专家系统外壳又称为骨架系统,是由已有的成功专家系统演化而来的。它抽出了原系统中具体领域知识,保留原系统的知识库及推理机结构基本骨架,所以称为“外壳”。

7.6.7.6. 2 2 专家系统外壳专家系统外壳

Page 96: 第 7 章   专家系统

23/4/20 96

7.67.6 专家系统的开发工具专家系统的开发工具

利用 ES外壳作开发工具,只要将新的领域知识填充到 ES中去,就可以生成新的专家系统。 ES外壳的知识库结构及管理机制、推理机结构及控制机制、人机接口及辅助工具都可为新系统提供服务和支持。因此,使用这种工具开发效率高,当然限制也较多,故灵活性也差一些。

7.6.7.6. 2 2 专家系统外壳专家系统外壳

Page 97: 第 7 章   专家系统

23/4/20 97

EMYCIN专家系统外壳 EMYCIN是由 Stanford大学的 Van Melle 于 1980年开发的一个 ES外壳,是由 MYCIN 抽去原有的医学领域知识,保留外壳而形成的。采用产生式规则表达知识,目标驱动的反向推理控制策略,特别适用于诊断型 ES的开发。

7.67.6 专家系统的开发工具专家系统的开发工具 7.6.7.6. 2 2 专家系统外壳专家系统外壳

Page 98: 第 7 章   专家系统

23/4/20 98

EMYCINEMYCIN 可提供可提供 MYCINMYCIN 所有的辅助工具所有的辅助工具,如:⑴ 推理解释程序及可信度估算。⑵ 知识编辑程序及类似英语的简化会话语言。⑶ 知识库管理和维护手段。如一致性检查、跟踪、查错等。⑷ 系统测试实例。

7.67.6 专家系统的开发工具专家系统的开发工具 7.6.7.6. 2 2 专家系统外壳专家系统外壳

Page 99: 第 7 章   专家系统

23/4/20 99

KAS 专家系统外壳 KAS 系统是由 PROSPECTOR系统抽去原有的地质勘探知识而形成的。它采用语义网络和产生式规则相结合的知识表达方式,以及启发式双向推理控制策略。适用于开发解释型的专家咨询系统。

7.67.6 专家系统的开发工具专家系统的开发工具 7.6.7.6. 2 2 专家系统外壳专家系统外壳

Page 100: 第 7 章   专家系统

23/4/20 100

KASKAS可提供的辅助工具可提供的辅助工具,如 : ⑴ 知识编辑系统,用于知识获取、修改与扩充知识库,可直接操作和反馈修改结果。

⑵ 推理解释系统。 ⑶ 用户问答系统。 ⑷ 英语分析器。

7.67.6 专家系统的开发工具专家系统的开发工具 7.6.7.6. 2 2 专家系统外壳专家系统外壳

Page 101: 第 7 章   专家系统

23/4/20 101

  EXPERTEXPERT系统是由系统是由 CASNETCASNET系统抽去原有医学系统抽去原有医学领域知识而形成的。领域知识而形成的。适用于诊断、分类的专家咨询系统的开发。它采用产生式规则表达知识,有如下三种形式 :

FFFF 规则;规则; FHFH规则规则和和 HHHH规则。规则。

7.67.6 专家系统的开发工具专家系统的开发工具 7.6.7.6. 2 2 专家系统外壳专家系统外壳

Page 102: 第 7 章   专家系统

23/4/20 102

⑴ FFFF 规则:规则:用于从已知的事实推知另一些事实的真值,从而可省去对后者的提问,被 FF 规则推导出来的事实只取逻辑值和“不知道”值。 例如

F(A, T)→ F(B, F) 表示如果已知事实 A为真,则事实 B一定为假。

7.67.6 专家系统的开发工具专家系统的开发工具 7.6.7.6. 2 2 专家系统外壳专家系统外壳

Page 103: 第 7 章   专家系统

23/4/20 103

⑵ FHFH规则:规则:用于指出事实与假设之间的逻辑关系,并用一个可信度指出肯定或否定一个假设有多大把握。例如

F(A, 0:50)& [2:F(B,T),F(C,T),F(D,F)] → → H(E,0.8) 它表示若第一个事实( A取值在 0到 50 之间)成立 ,而后面三个事实( B为真, C为真, D为假)中有两个成立,则假设 E成立的可能性为 0.8 。

7.67.6 专家系统的开发工具专家系统的开发工具 7.6.7.6. 2 2 专家系统外壳专家系统外壳

Page 104: 第 7 章   专家系统

23/4/20 104

⑶ HHHH规则:规则:用于指出假设与假设之间的推理关系, EXPERT 规定出现在规则左部的假设的确定性程度需用一个数值区间来指出。例如 H(A, 0.2:1)& H(B,0.1:1) → H(C,1) 它表示如果对假设 A有 0.2 到 1的把握,并且对假设 B有 0.1 到 1的把握程度,则可得出结论 C,其把握程度为100% 。

7.67.6 专家系统的开发工具专家系统的开发工具 7.6.7.6. 2 2 专家系统外壳专家系统外壳

Page 105: 第 7 章   专家系统

23/4/20 105

7.67.6 专家系统的开发工具专家系统的开发工具

ESES开发环境是一种程序模块组合下的系统开发辅助工具。开发环境是一种程序模块组合下的系统开发辅助工具。它为 ES的开发提供多种支持。

其基本思想:兼顾有效性和通用性,为用户提供各种用于知识表达、推理,知识库管理,推理机控制和有关辅助工具的预制构件及用于组装所需模块;提供用户要开发 ES的一套组合规则。

这样,如果用户掌握了组合规则,适当选择模块,就可以方便地组装成所需的专家系统。

7.6.7.6. 3 3 专家系统开发环境专家系统开发环境

Page 106: 第 7 章   专家系统

23/4/20 106

7.67.6 专家系统的开发工具专家系统的开发工具

目前, ESES 开发环境主要有两类:开发环境主要有两类: 11)设计辅助工具:)设计辅助工具:如 AGE 可帮助设计者开发系统

的结构; 22)知识获取辅助工具:)知识获取辅助工具:如 TEIRESIAS ,可帮助

获得和表达领域专家的知识。 

7.6.7.6. 3 3 专家系统开发环境专家系统开发环境

Page 107: 第 7 章   专家系统

23/4/20 107

7.67.6 专家系统的开发工具专家系统的开发工具

AGE 是由美国 Stanford大学用 INTERLISP语言实现的专家系统工具,该系统能帮助知识工程师设计并构造专家系统。

AGE给用户提供了一整套、像积木块那样的组件,利用它能够“装配”成专家系统。它包括以下四个子系统:

⑴ 设计子系统:在系统设计方面指导用户使用组合规则的预组合模型。

⑵ 编辑子系统:辅助用户选用预制构件模块,装入领域知识和控制信息,建造知识库。

⑶ 解释子系统:执行用户的程序,进行知识推理以求解问题,并提供查错手段,建造推理机。

⑷ 跟踪子系统:为用户开发的专家系统的运行进行全面的跟踪和测试。

7.6.7.6. 3 3 专家系统开发环境专家系统开发环境

Page 108: 第 7 章   专家系统

23/4/20 108

7.67.6 专家系统的开发工具专家系统的开发工具

TEIRESIAS : 知识获取知识获取是专家系统设计和开发中的难题,而

TEIRESIAS 系统能帮助知识工程师把一个领域专家的知识植入知识库,是一典型的知识获取工具,它利用元知识来进行知识获取和管理。

7.6.7.6. 3 3 专家系统开发环境专家系统开发环境

Page 109: 第 7 章   专家系统

23/4/20 109

7.67.6 专家系统的开发工具专家系统的开发工具

TEIRESIAS 系统具有下列功能: ⑴ ⑴ 知识获取知识获取: TEIRESIAS 能理解专家以特定的非口语化的

自然语言表达的领域知识。 ⑵ ⑵ 知识库调试:知识库调试:它能帮助用户发现知识库的缺陷、提出修改意见,用户不必了解知识库的细节就可方便地调试知识库。

⑶ ⑶ 推理指导:推理指导:它能利用元知识对系统的推理进行指导。 ⑷ ⑷ 系统维护:系统维护:它可帮助专家查找系统诊断错误的原因,并

在专家指导下进行修正或学习。 ⑸ ⑸ 运行监控:运行监控:能对系统的运行状态和诊断推理过程进行监控。 

7.6.7.6. 3 3 专家系统开发环境专家系统开发环境

Page 110: 第 7 章   专家系统

23/4/20 110

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

分布式专家系统分布式专家系统和协同式专家系统功能为: 1)提高规模较大的专家系统的运行速度; 2)实现多专家的知识共享与协同工作。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 111: 第 7 章   专家系统

23/4/20 111

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

分布式专家系统(分布式专家系统( Distributed Expert SysteDistributed Expert Systemm )) DESDES 是具有分布处理特征的 ES:它基于各种并行算法,采用各种并行推理和执行技术;适合在多处理机的硬件环境下工作,包括紧耦合的多处理器系统和松耦合的计算机网络等。系统中的多处理器既能同步并行工作,也能异步并行处理;可以按数据驱动也可以按要求驱动方式,实现分布在各处理机上的 ES各部分间通信和同步。分布式专家系统要求功能合理均衡地分布,其知识和数据也要适当地分布,以提高系统的处理效率和可靠性。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 112: 第 7 章   专家系统

23/4/20 112

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

设计分布式专家系统分布式专家系统 DES ,需把总任务合理分解为若干子任务,并把多个任务分配到多个处理机上并行执行,共同完成问题求解。

通常任务在系统中执行时间开销主要由两部分组成: 11 ))推理求解时间推理求解时间 RR;; 22 ))通信时间通信时间 CC::该任务要求与其它处理机之间交换信息的时间。并称比值比值 RR// CC为任务粒任务粒 GranularityGranularity 。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 113: 第 7 章   专家系统

23/4/20 113

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

RR// CC——任务粒度任务粒度 (Granularity)(Granularity) 的合适性分析:的合适性分析: 如果能为系统提供更多的处理机,就可把总需求分解成更多的子任务,使每任务的 R 更小;但这样将使任务的完成要在多个处理机之间通信,从而使任务通信时间开销 C 增大,将使总的问题求解时间也增大。故在功能分解时,需根据多处理机系统或计算机网络系统的结构与性能,确定合理的任务粒度,以提高系统工作效率。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 114: 第 7 章   专家系统

23/4/20 114

7.77.7 分布式专家系统与分布式专家系统与 协同式专家系统 协同式专家系统

支持任务程序进行推理的知识也需要经过合理划分,并分配到多个处理机存储器中。还应根据功能的分布来设计知还应根据功能的分布来设计知识的分布识的分布。

确定知识分布,一要考虑尽量减少知识的冗余确定知识分布,一要考虑尽量减少知识的冗余。避免由于知识更新可能引起的知识不一致性,或者为了维护冗余知识的一致性而需要增加过大的系统维护开销;二要考虑需要一定的知识冗余来支持各任务程序推理的需求,以尽量减少任务对远程存储器访问的通信时间开销。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 115: 第 7 章   专家系统

23/4/20 115

7.77.7 分布式专家系统与分布式专家系统与 协同式专家系统 协同式专家系统

驱动方式 :系统中各任务模块以什么方式来驱动是分布式专家系统设计中需要研究的一个问题。常见的驱动方式有以下几种:

⑴ ⑴ 控制驱动;控制驱动; ⑵ ⑵ 数据驱动;数据驱动; ⑶ ⑶ 要求驱动;要求驱动; (4) (4) 事件驱动。事件驱动。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 116: 第 7 章   专家系统

23/4/20 116

7.77.7 分布式专家系统与分布式专家系统与 协同式专家系统 协同式专家系统

⑴ ⑴ 控制驱动:控制驱动: 所谓控制驱动方式,是根据问题求解过程的需要,可

直接控制某个任务模块工作,或将它作为一个过程直接调用它,使它立即工作。

特点:这种驱动方式很常用,实现方便。但是,由于被驱动模块是被动地等待驱动命令,即使其运行条件已经具备,若无其它模块来的驱动命令,它自身不能自动开始工作,因此,这种驱动方式的并行性较差,并行推理的效率较低。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 117: 第 7 章   专家系统

23/4/20 117

7.77.7 分布式专家系统与分布式专家系统与 协同式专家系统 协同式专家系统

⑵ ⑵ 数据驱动:数据驱动: 任务模块都是对指定的输入数据进行处理,然后给出

相应的输出数据。数据驱动方式是指任何一个任务模块只要当它所需的所有输入数据已经具备后即可自行启动工作,然后,把输出结果送到各自应该送去的模块。数据驱动方式不需要等待来自其它模块的驱动命令,因此,可以发掘多个任务模块之间可能的并行性,提高并行推理的效率。在这种驱动方式下,各任务模块之间只有通过相互传送消息来传送数据的联系,其它操作都局限于模块内进行,具有而向对象的工作特征。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 118: 第 7 章   专家系统

23/4/20 118

7.77.7 分布式专家系统与分布式专家系统与 协同式专家系统 协同式专家系统

⑶ ⑶ 要求驱动:要求驱动:又称为目标驱动目标驱动,当一任务模块的输出被其它任务模块需要时才被启动执行。这是一种自顶向下自顶向下的驱动方式,从顶层目标开始,在驱动一个目标工作时又可能需要先驱动若干子目标,为此又可能要分别驱动一些子子目标,如此层层进行驱动。同时,又按数据驱动的原则让输入数据已经具备的模块进行工作,输出相应的结果并行送到各自工作模块。还可把输出结果要求和其输入数据齐备两条件组合一起作为驱动模块的条件,既可实现较高的并行性,又可避免单纯数据驱动方式产生的“数据积压”问题。数据驱动方式需把积压数据放入—个调度队列中等待调度使用。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 119: 第 7 章   专家系统

23/4/20 119

7.77.7 分布式专家系统与分布式专家系统与 协同式专家系统 协同式专家系统

(4) (4) 事件驱动:事件驱动: 这是比数据驱动更为广义的一个概念。一个模块的输入数据齐备可认为是一种事件。例如某些条件得到满足或某个物理事件发生等。采用事件驱动方式时,各个模块都要规定使它开始工作所必需的一个事件集合。所谓事件驱动方式即是当且仅当模块的相应事件集合中的所有事件都已发生时,才能驱动该模块开始工作;只要其中一个事件尚未发生,模块就要等待,由于可以把一个模块的输入数据齐备和该模块的输出被其它模块需要都定义为这个模块的事件,因此,事件驱动是把数据驱动和要求驱动均包含在内的一种更广义的驱动方式。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 120: 第 7 章   专家系统

23/4/20 120

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

      系统结构:系统结构: 分布式专家系统分布式专家系统可以工作在紧耦合下的多处理器系统环境中,也可以工作在松耦合的计算机网络环境里。根据具体的环境和要求不同可以采用不同的结构,一般包括C/SC/S 和 B/SB/S (浏览器 / 服务器)两种模式。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 121: 第 7 章   专家系统

23/4/20 121

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

⑴ ⑴ Client/ServerClient/Server (( C/SC/S )模式,即客户机)模式,即客户机 // 服务器模式服务器模式 .. 该模型存在着客户机、服务器和网络三个主体 ,客户机和数

据库服务器通过网络相连 .这里 ,客户机负责与用户的交互并收集知识与数据等信息 ,通过网络向服务器联系。

若客户机本身处理功能较强,其上可安排推理机制及知识库等模块。这时,客户机的任务是比较重的,称为“肥肥”客户机;

服务器负责对数据库的访问,对数据库进行检索、排序等操作,并负责数据库的安全机制。相对来讲服务器的任务不是太重,称为“瘦瘦”服务器。而网络则是客户机和服务器之间的桥梁。这种 C/S 模式,一般与数据库的连接紧密而快捷,能够实现分布式数据处理,减轻服务器的工作,提高数据处理的速度,并能合理利用网络资源,系统的安全性好。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 122: 第 7 章   专家系统

23/4/20 122

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

⑵ ⑵ Browser/ServerBrowser/Server (( B/SB/S )模式)模式:即浏览器 / 服务器模式。B/S 模式是一种基于 Internet 或 Intranet网络下的模型。

Intranet 是以 Internet技术为基础的网络体系,称为企业内部网。 Intranet 模型是基于 Internet 的 WEB模型。

B/S 模式基本思想 :在内部网络中采用 TCP/IP 作为通信协议,利用 Internet 的 WEB模型作为标准平台,同时用防火墙将内部网络与 Internet隔开,但又能与 Internet连在一起。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 123: 第 7 章   专家系统

23/4/20 123

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

在在 B/SB/S 模式中模式中,客户机很瘦,只需装上操作系统、网络协议软件、浏览器等即可,客户机用作专家系统的人机接口,而将推理机制、知识库、数据库和维护等复杂工作都安排在服务器上,实际上,也可以分成推理型应用服务器、知识库服务器和数据库服务器等。

由于 Internet 具有标准化、开放性、分布式等众多优点 ,因此,这种分布式专家系统的应用开发有着广泛的应用前景。目前,对它的研究正引起世界范围研究人员的高度重视,是一个极具生命力的研究方向。

7.7.7.7. 1 1 分布式专家系统分布式专家系统

Page 124: 第 7 章   专家系统

23/4/20 124

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

  协同式专家系统协同式专家系统亦称为亦称为群专家系统群专家系统。在这种系统中,综。在这种系统中,综合了若干个相近领域或一个领域的多个方面的子专家系统,合了若干个相近领域或一个领域的多个方面的子专家系统,互相协作,共同解决一个更广领域的问题。互相协作,共同解决一个更广领域的问题。

协同式专家系统与分布式专家系统共性:协同式专家系统与分布式专家系统共性:它们都可能涉它们都可能涉及多个子专家系统,而且这些子专家系统是分布的;及多个子专家系统,而且这些子专家系统是分布的;

不同之处:不同之处:协同式专家系统更强调的是各子专家系统之间协同式专家系统更强调的是各子专家系统之间的协同合作,而不是更看重处理的分布和知识的分布; 的协同合作,而不是更看重处理的分布和知识的分布; 协同式专家系统不像分布式专家系统,它并不一定要求有协同式专家系统不像分布式专家系统,它并不一定要求有多个处理机的硬件环境,可在同一个处理机上实现各子专多个处理机的硬件环境,可在同一个处理机上实现各子专家系统的。家系统的。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 125: 第 7 章   专家系统

23/4/20 125

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

 协同式专家系统 协同式专家系统旨在研究分散的、松耦合的一组知识处旨在研究分散的、松耦合的一组知识处理实体或处理机节点,协同进行问题求解的方法。理实体或处理机节点,协同进行问题求解的方法。

采用知识处理实体:采用知识处理实体:称为称为智能体智能体(( AgentAgent ),每个智能体),每个智能体具有自主性具有自主性,并根据自己具有的知识和周围发生的事件进,并根据自己具有的知识和周围发生的事件进行行推理、规划与通信推理、规划与通信;智能体之间彼此在;智能体之间彼此在逻辑上相互独立逻辑上相互独立,,通过共享知识和协同工作形成问题的解决方案通过共享知识和协同工作形成问题的解决方案;多个智能;多个智能体是分散的,意味着智能体的控制、数据和知识体是分散的,意味着智能体的控制、数据和知识在逻辑上在逻辑上甚至在地域上是分布的甚至在地域上是分布的,既没有全局控制,也没有全局的,既没有全局控制,也没有全局的数据和知识的存储器;数据和知识的存储器;智能体之间是松耦合的,意味着智智能体之间是松耦合的,意味着智能体的任务粒度是粗粒度的能体的任务粒度是粗粒度的,各智能体更多的时间用于计,各智能体更多的时间用于计算和推理,用于通信的时间则相对较少。算和推理,用于通信的时间则相对较少。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 126: 第 7 章   专家系统

23/4/20 126

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

  协同方法:协同方法: 由于单个智能体仅从局部利益出发来求得局部解由于单个智能体仅从局部利益出发来求得局部解 ,,因此因此需要对多个智能体共同完成全局任务、求得并改进全局解的需要对多个智能体共同完成全局任务、求得并改进全局解的协同方法进行研究协同方法进行研究 .. 目前目前 ,,已经提出了下述三种协同方法:已经提出了下述三种协同方法:

⑴ 多智能体规划( Multi-agents Planning)方法; ⑵ 功能化有效协同 (Functionally Effective Cooperativ

e Approach) 方法; ⑶ 谈判 (Negotiation) 方法。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 127: 第 7 章   专家系统

23/4/20 127

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

⑴ ⑴ 多智能体规划方法多智能体规划方法 (Multi-agents Planning)(Multi-agents Planning) ::需要特别设需要特别设计一个规划智能体进行整体规划计一个规划智能体进行整体规划 ,,形成一多智能体问题求形成一多智能体问题求解方案解方案 ..它描述了系统应采取的全局行动目标它描述了系统应采取的全局行动目标 ,, 并由规划并由规划智能体将其分配到各智能体智能体将其分配到各智能体 ,, 按规划要求求解按规划要求求解 ,,再把经过再把经过事先规划完成的各局部解综合为全局解。事先规划完成的各局部解综合为全局解。

⑵ ⑵ 功能化有效协同方法功能化有效协同方法 ((Functionally Effective Cooperative AppFunctionally Effective Cooperative App

roachroach)) ::各智能体按各自功能需求各智能体按各自功能需求 ,,与有关智能体交换部分与有关智能体交换部分结果结果 ,, 并最终生成一个全局解并最终生成一个全局解 ..

⑶ ⑶ 谈判方法谈判方法 (Negotiation):(Negotiation):智能体将自己的局部解公布出智能体将自己的局部解公布出去,按照事先设计的谈判协议,对相关的局部解经过裁决去,按照事先设计的谈判协议,对相关的局部解经过裁决等综合处理后,求得全局解。等综合处理后,求得全局解。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 128: 第 7 章   专家系统

23/4/20 128

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

  协同方法要考虑的问题协同方法要考虑的问题 :: 为支持协同工作为支持协同工作 ,, 还应考虑:还应考虑: ①① 让强壮的智能体不受干扰地形成自己的局部解,或者说,让强壮的智能体不受干扰地形成自己的局部解,或者说,

智能体之间的协同不是对等的,这样可以增加局部解的多智能体之间的协同不是对等的,这样可以增加局部解的多样性,有利于改进全局解。样性,有利于改进全局解。

②② 让多个智能体采用不同的推理方法求解同一问题,有利让多个智能体采用不同的推理方法求解同一问题,有利于提高全局解的可信度。于提高全局解的可信度。

③③ 把重要的任务重复分配给几个智能体来求解,这样,可把重要的任务重复分配给几个智能体来求解,这样,可以避免某些智能体求解失败而导致全局失败。以避免某些智能体求解失败而导致全局失败。

④④ 智能体应具有交换信息的选择能力,智能体的协同应使智能体应具有交换信息的选择能力,智能体的协同应使其等待的时间尽可能小。其等待的时间尽可能小。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 129: 第 7 章   专家系统

23/4/20 129

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

裁决方法:裁决方法:主要包括是非问题的裁决方法、评分问题的裁决主要包括是非问题的裁决方法、评分问题的裁决方法和互补问题的裁决方法三种类型。方法和互补问题的裁决方法三种类型。

(1) (1) 是非问题的裁决方法:是非问题的裁决方法:若多个智能体对同一个是非问题若多个智能体对同一个是非问题产生多个局部解产生多个局部解 ,,则可采用下述方法对多个局部解进行裁决则可采用下述方法对多个局部解进行裁决处理处理 ,,得出全局解得出全局解 ..

① ① 表决法表决法 ::亦称简单多数法亦称简单多数法 ,,即以多数智能体的解作为全局解即以多数智能体的解作为全局解 ..② ② 加权平均法加权平均法 ::根据各智能体解决该问题的权威程度赋给不同根据各智能体解决该问题的权威程度赋给不同

权值权值 WWii,,全局解为加权平均值全局解为加权平均值 . . 若不能裁决若不能裁决 ,,则需要辅以其则需要辅以其它裁决方法。它裁决方法。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 130: 第 7 章   专家系统

23/4/20 130

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

(2) (2) 评分问题的裁决方法:评分问题的裁决方法:若多个智能体对同一个问题产生若多个智能体对同一个问题产生的局部解的局部解 AiAi 是对这个问题的评分,则可采用下述方法对多是对这个问题的评分,则可采用下述方法对多个局部解进行裁决。个局部解进行裁决。

① ① 加权平均法。加权平均法。用加权平均 作为最后的评分。用加权平均 作为最后的评分。 ② ② 取中数法。取中数法。先把各智能体的评分按大小排序,然后取位先把各智能体的评分按大小排序,然后取位

于中间的评分于中间的评分 ((若有奇数个评分若有奇数个评分 )) 或者取中间或者取中间 22 个评分的平个评分的平均值均值 ((若有偶数个评分若有偶数个评分 )) 作为最后的评分。作为最后的评分。

(3) (3) 互补问题的裁决方法:互补问题的裁决方法:若多个智能体的任务是互补的,若多个智能体的任务是互补的,即各自解决求解问题的一个部分,那么,多个局部解的综即各自解决求解问题的一个部分,那么,多个局部解的综合就是全局解。全局解中某个局部解直接来自相应的合就是全局解。全局解中某个局部解直接来自相应的““主主管智能体管智能体””,无需仲裁。,无需仲裁。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 131: 第 7 章   专家系统

23/4/20 131

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

驱动方式:驱动方式:上述分布式专家系统中讨论了几种驱动方上述分布式专家系统中讨论了几种驱动方式,它们都可在协同式专家系统中使用。式,它们都可在协同式专家系统中使用。

系统结构:系统结构:由多个智能体组成一个协同式专家系统,由多个智能体组成一个协同式专家系统,可以有以下几种结构形式:可以有以下几种结构形式:

(1)(1) 主从式;主从式; (2)(2) 层次式;层次式; (3)(3) 同僚式;同僚式; (4)(4) 广播式;广播式; (5) (5) 网络式。 网络式。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 132: 第 7 章   专家系统

23/4/20 132

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

其几种结构形式的特点如下:其几种结构形式的特点如下: (1)(1) 主从式:主从式:整个系统有一个主智能体和若干个从智能体整个系统有一个主智能体和若干个从智能体 ,,

由主智能体把任务分配给从智能体由主智能体把任务分配给从智能体 ,,并综合或裁决各从智能并综合或裁决各从智能体的局部解体的局部解 ,,得出全局解。如果系统采用得出全局解。如果系统采用““黑板黑板””进行论进行论 ,,““黑板黑板””应设在主智能体应设在主智能体 ,,由主智能体对由主智能体对““黑板黑板””进行管理。进行管理。

(2)(2) 层次式:层次式:把智能体分成若干层次,越是上层的智能体把智能体分成若干层次,越是上层的智能体负责更宏观的管理与控制任务,由位于最下层的智能体得出负责更宏观的管理与控制任务,由位于最下层的智能体得出问题求解的局部解。问题求解的局部解。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 133: 第 7 章   专家系统

23/4/20 133

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

(3)(3) 同僚式:同僚式:系统中的智能体是协同合作的平等伙伴关系系统中的智能体是协同合作的平等伙伴关系 ,,没有主从、上下之分。每个智能体都可以有其各自的用户没有主从、上下之分。每个智能体都可以有其各自的用户界面界面 ..当用户提出一具体问题后当用户提出一具体问题后 ,,由接受问题的智能体首先由接受问题的智能体首先独立解决该问题独立解决该问题 ;;若不能独立求解若不能独立求解 ,,则由该智能体将该问题则由该智能体将该问题或把其中分解出来的子问题向其它智能体或把其中分解出来的子问题向其它智能体““广播广播”” ,,请求请求帮助。在问题求解过程中帮助。在问题求解过程中 ,,各智能体不断地提出问题或分各智能体不断地提出问题或分解任务解任务 ,,请求其它智能体给予帮助请求其它智能体给予帮助 ;;同时也不时地为其它智同时也不时地为其它智能体服务。如此相互服务能体服务。如此相互服务 ,,共同完成一个总的任务。共同完成一个总的任务。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 134: 第 7 章   专家系统

23/4/20 134

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

(4) (4) 广播式:广播式:用户的问题同时广播给若干智能用户的问题同时广播给若干智能体,各智能体根据自己拥有的知识从不同角度体,各智能体根据自己拥有的知识从不同角度对用户提出的问题给出各自的局部解,然后由对用户提出的问题给出各自的局部解,然后由一个综合智能体通过综合所有的局部解给出问一个综合智能体通过综合所有的局部解给出问题的全局解。题的全局解。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 135: 第 7 章   专家系统

23/4/20 135

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

(5) (5) 网络式:网络式:根据智能体协同求解问题的根据智能体协同求解问题的““与与””、、““或或””关系,把系统表示成以智能体关系,把系统表示成以智能体为节点的与或图,其中有一个节点仅有输出弧,为节点的与或图,其中有一个节点仅有输出弧,称为开始节点。用户提出的问题总是从开始节称为开始节点。用户提出的问题总是从开始节点智能体进入系统,然后沿有向弧的走向不断点智能体进入系统,然后沿有向弧的走向不断请求驱动各后继节点智能体进行工作。请求驱动各后继节点智能体进行工作。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 136: 第 7 章   专家系统

23/4/20 136

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

SmithSmith 曾给出一种曾给出一种协同式契约网模型协同式契约网模型。其基本思想是:要求。其基本思想是:要求对问题求解的某智能体发布一个告示,把问题广播到其它智对问题求解的某智能体发布一个告示,把问题广播到其它智能体,其它智能体根据各自求解问题的能力投标。该智能体能体,其它智能体根据各自求解问题的能力投标。该智能体检查它们的投标,决定中标者,把任务分配给相应中标者来检查它们的投标,决定中标者,把任务分配给相应中标者来完成。在问题求解过程中,某一签约方求解失败后,可由管完成。在问题求解过程中,某一签约方求解失败后,可由管理方再次广播这一任务的告示,与新的中标者签订新的契约,理方再次广播这一任务的告示,与新的中标者签订新的契约,直到问题得到求解。直到问题得到求解。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 137: 第 7 章   专家系统

23/4/20 137

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

在在契约网模型契约网模型中,智能体在不同的求解问题中分别扮演管理中,智能体在不同的求解问题中分别扮演管理方和签约方。管理方负责监督任务的执行情况,并对执行的方和签约方。管理方负责监督任务的执行情况,并对执行的结果进行处理,即根据任务分解方式及该任务多个签约方的结果进行处理,即根据任务分解方式及该任务多个签约方的求解情况,将多个签约方的局部解综合成一个完整的全局解。求解情况,将多个签约方的局部解综合成一个完整的全局解。签约方负责中标任务的执行,给出该任务的局部解。智能体签约方负责中标任务的执行,给出该任务的局部解。智能体并非先验地被指定是管理方还是签约方,而是根据问题提交并非先验地被指定是管理方还是签约方,而是根据问题提交和任务分解的不同情况动态地扮演不同的角色。和任务分解的不同情况动态地扮演不同的角色。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 138: 第 7 章   专家系统

23/4/20 138

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

系统结构:系统结构:契约网模型某知识源反映了某特定领域或某契约网模型某知识源反映了某特定领域或某方面专家知识和经验。静态知识在初始化时被加载各相应方面专家知识和经验。静态知识在初始化时被加载各相应智能体上,动态知识在问题求解过程中被动态发布和传送。智能体上,动态知识在问题求解过程中被动态发布和传送。知识的动态分配可采用下述三方式:知识的动态分配可采用下述三方式:

①①管理方智能体把相关任务和知识直接传送给签约方智能体管理方智能体把相关任务和知识直接传送给签约方智能体 ;;

②②把动态知识通过告示广播到其它智能体;把动态知识通过告示广播到其它智能体;

③③投标智能体可在其标中附加一任务,申请特定知识用于任投标智能体可在其标中附加一任务,申请特定知识用于任务求解。务求解。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 139: 第 7 章   专家系统

23/4/20 139

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

系统消息收发:系统消息收发:消息是契约网智能体间进行通信消息是契约网智能体间进行通信的载体,表示智能体间相互联系、协同工作所需各的载体,表示智能体间相互联系、协同工作所需各种信息。契约网提供一种种信息。契约网提供一种““公共内部节点语言公共内部节点语言”” (Co(Common Internode Language)mmon Internode Language) 用于消息的描述。在点用于消息的描述。在点对点智能体之间可直接发送和接收消息;不能实现对点智能体之间可直接发送和接收消息;不能实现点对点通信的智能体间可通过一个点对点通信的智能体间可通过一个““邮箱邮箱””来收发来收发消息,每个智能体的消息收发均通过这个消息,每个智能体的消息收发均通过这个““邮箱邮箱””来完成。来完成。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 140: 第 7 章   专家系统

23/4/20 140

7.77.7 分布式专家系统与协同式专家系统分布式专家系统与协同式专家系统

系统任务分配系统任务分配 :: 契约网中,智能体之间的协同是契约网中,智能体之间的协同是通过任务的动态分解与分布来完成的。在分配任务通过任务的动态分解与分布来完成的。在分配任务时,契约网提供了一种机制专门用于搜索有能力、时,契约网提供了一种机制专门用于搜索有能力、有时间来解决相应任务的智能体,以确定与哪一个有时间来解决相应任务的智能体,以确定与哪一个智能体签约。智能体签约。

7.7.7.7. 2 2 协同式专家系统协同式专家系统

Page 141: 第 7 章   专家系统

23/4/20 141

7.87.8 专家系统举例专家系统举例

例例 7.1 7.1 设计一个动物识别专家系统。设计一个动物识别专家系统。 这是一个用来识别老虎这是一个用来识别老虎 (tiger)(tiger) 、金钱豹、金钱豹 (cheeta(cheeta

h)h) 、斑马、斑马 (zebra)(zebra) 、长颈鹿、长颈鹿 (giraffe)(giraffe) 、企鹅、企鹅 (pe(penguin)nguin) 、鸵鸟、鸵鸟 (ostrich)(ostrich) 和信天翁和信天翁 (albatross)(albatross)等七种动物的产生式等七种动物的产生式 ESES 。。

该系统最初共包括该系统最初共包括 1515 条识别规则条识别规则组成,它们是:组成,它们是:

Page 142: 第 7 章   专家系统

23/4/20 142

7.87.8 专家系统举例专家系统举例

r1:r1: IF IF 该动物有毛发 该动物有毛发 THEN THEN 该动物是哺乳动物该动物是哺乳动物 r2:r2: IF IF 该动物有奶 该动物有奶 THEN THEN 该动物是哺乳动物该动物是哺乳动物 r3:r3: IF IF 该动物有羽毛 该动物有羽毛 THEN THEN 该动物是鸟该动物是鸟 r4:r4: IF IF 该动物会飞 该动物会飞 AND AND 会下蛋 会下蛋 THEN THEN 该动物是鸟该动物是鸟 r5:r5: IF IF 该动物吃肉 该动物吃肉 THEN THEN 该动物是食肉动物该动物是食肉动物 r6:r6: IF IF 该动物有犬齿 该动物有犬齿 AND AND 有爪 有爪 AND AND 眼盯前方 眼盯前方 THEN THEN

该动物是食肉动物该动物是食肉动物

Page 143: 第 7 章   专家系统

23/4/20 143

7.87.8 专家系统举例专家系统举例 r7:r7: IF IF 该动物是哺乳动物 该动物是哺乳动物 AND AND 有蹄 有蹄 THEN THEN 该动该动物是有蹄类动物物是有蹄类动物

r8:r8: IF IF 该动物是哺乳动物 该动物是哺乳动物 AND AND 嚼反刍 嚼反刍 THEN THEN 该该动物是有蹄类动物动物是有蹄类动物

r9:r9: IF IF 该动物是哺乳动物 该动物是哺乳动物 AND AND 食肉 食肉 AND AND 是黄褐是黄褐色 色 AND AND 有黑色斑点, 有黑色斑点, THEN THEN 该动物是金钱豹该动物是金钱豹

r10:r10: IF IF 该动物是哺乳动物 该动物是哺乳动物 AND AND 食肉 食肉 AND AND 是黄是黄褐色 褐色 AND AND 有黑色条纹,有黑色条纹, THEN THEN 该动物是虎该动物是虎

Page 144: 第 7 章   专家系统

23/4/20 144

7.87.8 专家系统举例专家系统举例 r11:r11: IF IF 该动物是有蹄类动物 该动物是有蹄类动物 AND AND 有长脖子 有长脖子 AND AND 有长腿 有长腿

AND AND 有暗斑点 有暗斑点 THEN THEN 该动物是长颈鹿该动物是长颈鹿 r12:r12: IF IF 该动物是有蹄类动物 该动物是有蹄类动物 AND AND 有黑色条纹 有黑色条纹 THEN THEN 该该动物是斑马动物是斑马

r13:r13: IF IF 该动物是鸟 该动物是鸟 AND AND 不会飞 不会飞 AND AND 有长脖子 有长脖子 AND AND 有长腿 有长腿 AND AND 有黑白色 有黑白色 THEN THEN 该动物是鸵鸟该动物是鸵鸟

r14:r14: IF IF 该动物是鸟 该动物是鸟 ANDAND 不会飞 不会飞 AND AND 会游泳 会游泳 AND AND 有黑有黑白色 白色 THEN THEN 该动物是企鹅该动物是企鹅

r15:r15: IF IF 该动物是鸟 该动物是鸟 ANDAND善飞 善飞 THEN THEN 该动物是信天翁该动物是信天翁

Page 145: 第 7 章   专家系统

23/4/20 145

7.87.8 专家系统举例专家系统举例

由上述规则可看出,虽然该系统是用来识别七种动物的,但由上述规则可看出,虽然该系统是用来识别七种动物的,但在规则库中并没有简单地只设计七条规则,而是设计了在规则库中并没有简单地只设计七条规则,而是设计了 1515条,其基本方法是,首先根据一些比较简单的条件,如条,其基本方法是,首先根据一些比较简单的条件,如““有有毛发毛发””、、““有羽毛有羽毛””、、““会飞会飞””等条件将动物粗略分成哺乳等条件将动物粗略分成哺乳动物、鸟、食肉动物三大类,然后随着条件的增加,逐步缩动物、鸟、食肉动物三大类,然后随着条件的增加,逐步缩小分类范围,最后给出分别识别七种动物的规则。用此规则小分类范围,最后给出分别识别七种动物的规则。用此规则可形成各种动物的推理网络。图可形成各种动物的推理网络。图 7-57-5 为有关为有关““长颈鹿长颈鹿””的规的规则形成的正向推理网络,同理可画出其它动物的推理网络。则形成的正向推理网络,同理可画出其它动物的推理网络。

7.8.7.8. 1 1 系统分析系统分析

Page 146: 第 7 章   专家系统

23/4/20 146

7.87.8 专家系统举例专家系统举例 7.8.7.8. 1 1 系统分析系统分析

长颈鹿

有蹄类 长腿 有暗斑点

哺乳动物 有蹄 嚼反刍

有毛发 有奶

r11

r7长脖子

  图 7-5 有关“长颈鹿”的规则形成的(正向)推理网络

Page 147: 第 7 章   专家系统

23/4/20 147

7.87.8 专家系统举例专家系统举例

在推理网络中,最高节点如在推理网络中,最高节点如““长颈鹿长颈鹿””为结论(正向推理)为结论(正向推理)或假设(反向推理)节点。在正向推理情况下,该节点没有或假设(反向推理)节点。在正向推理情况下,该节点没有输出线,当推理到本节点时,推理就结束;中间节点既有输输出线,当推理到本节点时,推理就结束;中间节点既有输入线,又有输出线,如节点入线,又有输出线,如节点““哺乳动物哺乳动物””,当推理到中间节,当推理到中间节点时,系统会自动将此中间结果存入综合数据库;终端节点点时,系统会自动将此中间结果存入综合数据库;终端节点也称为事实节点,如节点也称为事实节点,如节点““长脖子长脖子””、、““有毛发有毛发””等,这些等,这些节点没有输入线,该事实是否为真可通过人机接口询问用户,节点没有输入线,该事实是否为真可通过人机接口询问用户,然后加入综合数据库中。然后加入综合数据库中。

7.8.7.8. 1 1 系统分析系统分析

Page 148: 第 7 章   专家系统

23/4/20 148

图 7—6 动物分类正向推理树

老虎

食肉动物

哺乳动物

有毛发 吃肉 黄褐色 有黑色条纹

Page 149: 第 7 章   专家系统

23/4/20 149

图 7—7 动物分类反向推理树

Page 150: 第 7 章   专家系统

23/4/20 150

动物识别系统的推理链结构

豹子 老虎 斑马 企鹅 海鸥长颈鹿 鸵鸟

黄褐色 暗斑点 长腿 黑条纹 有蹄类 长脖子 不飞 鸟 黑白色 会游泳 善飞

有毛发 有奶 吃肉 有犬齿 有爪子 眼盯前方

哺乳动物 食肉动物

有蹄 嚼反刍动物 有羽毛 会飞 下蛋

R9 R10 R11 R12 R13 R14 R15

R7 R8 R3 R4

R1 R2 R5 R6

7.87.8 专家系统举例专家系统举例 7.8.7.8. 2 2 系统结构系统结构

Page 151: 第 7 章   专家系统

23/4/20 151

7.87.8 专家系统举例专家系统举例

  本系统采用产生式结构,它包含三个主要部分:知识库、知识库、综合数据库综合数据库和和推理机。推理机。

⑴ 知识库。在知识库中,采用产生式规则来表达知识。例如:

it_is(mammal):-positive(has,hair). 表达“如果该动物有毛发,那么该动物是哺乳动物”。 animal_is(zebra):-it_is(ungulate), positive(has,black_stripes).

表达“如果该动物是有蹄类动物,且有黑色条纹,那么该动物是斑马”。

7.8.7.8. 2 2 系统结构系统结构

Page 152: 第 7 章   专家系统

23/4/20 152

7.87.8 专家系统举例专家系统举例

 ⑵ 综合数据库⑵ 综合数据库。综合数据库用来存放问题求解过程中各种当前信息,例如问题的原始事实、中间结论及最终结论,它的内容是动态和不断变化的。动态的综合数据库的说明如下:

database xpositive(symbol,symbol). xnegative(symbol,symbol). 在 database 中, xpositive表示一个事实,它肯定动物的某个特征;而 xnegative也表示一个事实,但它否定某个特征。另外,在子句集 clauses 中,定义了 positive和 negative两个谓词,通过它们分别用来描述动物具有或不具有某个特征。

7.8.7.8. 2 2 系统结构系统结构

Page 153: 第 7 章   专家系统

23/4/20 153

7.87.8 专家系统举例专家系统举例

 它们在求解过程中是作为子目标,通过综合数据库来验证,或向用户提问。 positive 的定义形式如下:

positive(X,Y):-xpositive(X,Y), !. positive(X,Y):-not(xnegative(X,Y)), ask(X, Y). 在这组 positive谓词定义中,其中,第一条规则表示,如果综合数据库中存在一个谓词 xpositive 与子目标 positive匹配,则该子目标成功。否则用第二条规则,它表示若综合数据库中没有与子目标相悖的事实,则向用户询问。若有相悖的事实,则 positive失败,引起回溯,寻找新的匹配规则。

7.8.7.8. 2 2 系统结构系统结构

Page 154: 第 7 章   专家系统

23/4/20 154

与 positive规则相对称, negative也有两条规则。即: negative(X,Y):-xnegative(X,Y), !.

negative(X,Y):-not(xpositive(X,Y)), ask(X, Y).

上述规则 ask(X, Y)子句用来完成对询问的回答进行处理。即: ask(X, Y):-write(X, “it”, Y, “\n”),

readln(Reply), remember(X, Y, Reply).

7.8.7.8. 2 2 系统结构系统结构 7.87.8 专家系统举例专家系统举例

Page 155: 第 7 章   专家系统

23/4/20 155

若用户回答 yes ,则利用内部谓词 asserta 将此特征作为一个肯定事实,送进动态数据库中。即:

remember(X, Y, yes):asserta(xpositive(X,Y)).  若用户回答 no,则利用 asserta 将此特征当作一个否定事实,送进动态数据库中,并立即调用 fail 谓词,使求证失败,从而引起回溯,寻找新的可用规则,对新的假设动物进行求证。即:

remember(X, Y, no):-asserta(xnegative(X, Y)),fail.

7.8.7.8. 2 2 系统结构系统结构 7.87.8 专家系统举例专家系统举例

Page 156: 第 7 章   专家系统

23/4/20 156

 ⑶ 推理机。⑶ 推理机。系统可采用正、反向推理,并对目标树进行深度优先搜索。例如采用反向推理:

run:-animal_is(X), ! , write(“\nThe animal may be a(n)”,X), nl, clear_facts.

run:-write(“\nUnable to determine what the animal is \n”), clear_facts.

子目标子目标 animal_is(X)animal_is(X) 与知识库自上而下地逐个试探匹配。即与知识库自上而下地逐个试探匹配。即逐次地假设是某种动物。先作某个假设,然后对匹配规则的逐次地假设是某种动物。先作某个假设,然后对匹配规则的前提求证。如果某前提是目标树上的中间节点,则调用可匹前提求证。如果某前提是目标树上的中间节点,则调用可匹配的规则,产生新的子目标;如果该前提是叶节点,则由综配的规则,产生新的子目标;如果该前提是叶节点,则由综合数据库中的事实证实或询问用户来证实。合数据库中的事实证实或询问用户来证实。

7.8.7.8. 2 2 系统结构系统结构

Page 157: 第 7 章   专家系统

23/4/20 157

 ⑶ 推理机。⑶ 推理机。 若某前提证明成功,则再对其它前提求证,直到全部前提证实,因而关于某种动物的假设得证。

若某前提证明失败,则引起回溯,继续搜索其它规则,再作新的假设,继续作为新的子目标来求证。

7.8.7.8. 2 2 系统结构系统结构 7.87.8 专家系统举例专家系统举例

Page 158: 第 7 章   专家系统

23/4/20 158

7.87.8 专家系统举例专家系统举例

  无论成功与否,最后均调用 clear_facts 子句。即: clear_facts:-retract(xpositive(_,_)), fail. clear_facts:-retract(xnegative(_,_)), fail. clear_facts:-write(“\nPlease press the space bar to exi

t!”),readchar(_). 该子句中用内部谓词 retract将全部的事实从动态数据库中删除,以避免影响对下一次动物的识别。

 详见教材中给出了此动物识别专家系统的示详见教材中给出了此动物识别专家系统的示例程序. 例程序.

7.8.7.8. 2 2 系统结构系统结构

Page 159: 第 7 章   专家系统

23/4/20 159

7.87.8 专家系统举例专家系统举例

 详见教材中给出了此动物识别专家系统的示详见教材中给出了此动物识别专家系统的示例程序,该专家系统采用交互方式来识别七例程序,该专家系统采用交互方式来识别七种动物。种动物。

例如,要识别金钱豹,则有如教材中给出的例如,要识别金钱豹,则有如教材中给出的一段会话一段会话…………

7.8.37.8.3 系统运行示例系统运行示例