南邮自动化人工智能6专家系统课件.ppt
人 工 智 能,人 工 智 能,第6章 专家系统,6.1 专家系统概述 6.5 新型专家系统6.2 基于规则的专家系统 6.6 专家系统设计6.3 基于框架的专家系统 6.7 专家系统开发工具6.4 基于模型的专家系统 6.8 小结,第6章 专家系统6.1 专家系统概述 6.5,6.1 专家系统概述,专家系统(expert system)是人工智能应用研究最活跃和最广泛的课题之一,是目前AI应用研究的主要领域之一。定义:是一个含有大量的某个领域专家水平的知识与经验智能计算机程序系统,能够利用人类专家的知识和解决问题的方法来处理该领域问题;专家系统是一种模拟人类专家解决领域问题的计算机程序系统。,3,6.1 专家系统概述专家系统(expert system)是,6.1.1 专家系统特点,专家系统具有一些共同的特点和优点专家系统具有下列3个特点: 启发性透明性灵活性,4,6.1 专家系统概述,6.1.1 专家系统特点专家系统具有一些共同的特点和优点4,6.1.2 专家系统的类型,解释专家系统 预测专家系统诊断专家系统设计专家系统规划专家系统,5,6.1 专家系统概述,监视专家系统控制专家系统调试专家系统教学专家系统修理专家系统,优点:,6.1.2 专家系统的类型 解释专家系统 56.1 专家,1.解释专家系统(expert system for interpretation),任务 通过对已知信息与数据的分析与解释,确定它们的涵义;特点数据量很大,常不准确、有错误、不完全能从不完全的信息中得出解释,并能对数据做出某些假设推理过程可能很复杂和很长应用 语音理解、图象分析、系统监视、化学结构分析和信号解释等,6,6.1 专家系统概述,1.解释专家系统(expert system for in,2. 预测专家系统(expert system for prediction),任务 通过对过去与现在已知状况的分析,推断未来可能发生的情况。特点系统处理的数据随时间变化,且可能是不准确和不完全系统需要有适应时间变化的动态模型例子 有气象预报、军事预测等,7,6.1 专家系统概述,2. 预测专家系统(expert system for p,3. 诊断专家系统(expert system for diagnosis),任务 根据观察到的情况(数据)来推断出某个对象机能失常(即故障)的原因特点能够了解被诊断对象或客体各组成部分的特性以及它们之间的联系能够区分一种现象及其所掩盖的另一种现象能够向用户提出测量的数据,并从不确切信息中得出尽可能正确的诊断 例子 有医疗诊断等,8,6.1 专家系统概述,3. 诊断专家系统(expert system for d,4. 设计专家系统(expert system for design),任务 寻找出某个能够达到给定目标的动作序列或步骤特点从多种约束中得到符合要求的设计系统需要检索较大的可能解空间能试验性地构造出可能设计,易于修改能够使用已有设计来解释当前新的设计例子 VAX计算机结构设计专家系统等,9,6.1 专家系统概述,4. 设计专家系统(expert system for d,5.规划专家系统(expert system for planning),任务 寻找出某个能够达到给定目标的动作序列或步骤特点所要规划的目标可能是动态的或静态的,需要对未来动作做出预测所涉及的问题可能很复杂 例子 军事指挥调度系统、ROPES机器人规划专家系统、汽车和火车运行调度专家系统等。,10,6.1 专家系统概述,5.规划专家系统(expert system for pl,6.监视专家系统(expert system for monitoring),任务 对系统、对象或过程的行为进行不断观察,并把观察到的行为与其应当具有的行为进行比较,以发现异常情况,发出警报特点系统应具有快速反应能力系统发出的警报要有很高的准确性系统能够动态地处理其输入信息例子 粘虫测报专家系统,11,6.1 专家系统概述,6.监视专家系统(expert system for mo,7. 控制专家系统(expert system for control),任务 自适应地管理一个受控对象或客体的全面行为,使之满足预期要求特点 控制专家系统具有解释、预报、诊断、规划和执行等多种功能例子 空中交通管制、商业管理、自主机器人控制、作战管理、生产过程控制和生产质量控制等,12,6.1 专家系统概述,7. 控制专家系统(expert system for c,8. 调试专家系统(expert system for debugging),任务 对失灵的对象给出处理意见和方法特点 同时具有规划、设计、预报和诊断等专家系统的功能例子 在这方面的实例还比较少见,13,6.1 专家系统概述,8. 调试专家系统(expert system for d,9. 教学专家系统(expert system for instruction),特点同时具有诊断和调试等功能具有良好的人机界面例子 MACSYMA符号积分与定理证明系统,计算机程序设计语言和物理智能计算机辅助教学系统等,14,6.1 专家系统概述,9. 教学专家系统(expert system for i,10. 修理专家系统(expert system for repair),任务 对发生故障的对象(系统或设备)进行处理,使其恢复正常工作功能 有诊断、调试、计划和执行等功能例子 ACI电话和有线电视维护修理系统,15,6.1 专家系统概述,10. 修理专家系统(expert system for,6.1.3专家系统的结构和建造步骤,定义:指专家系统各组成部分的构造方法和组织形式专家系统结构图,16,6.1 专家系统概述,知识库,推理机,答案,图6.1专家系统结构简图,6.1.3专家系统的结构和建造步骤定义:指专家系统各组成部分,图6.2则为理想专家系统的结构图,17,接口,用户,事实规则,计划,议程,中间解,黑板,知识库,解释器,执行器,调度器,协调器,6.1 专家系统概述,图6.2则为理想专家系统的结构图17接口用户事实规则计划议程,一般应用程序与专家系统的区别:,18,一般应用程序专家系统,把问题求解的知识隐含地编入程序。 把知识组织为两级:数据级和程序级。,把其应用领域的问题求解知识单独组成一个实体,即为知识库。 将知识组织成三级;数据、知识库和控制。,6.1 专家系统概述,一般应用程序与专家系统的区别:18一般应用程序专家系统,专家系统的主要组成部分,知识库(Knowledge Base)综合数据库(Global Database)推理机(Reasoning Machine)解释器(Explanator)人机接口(Interface),19,专家系统的主要组成部分知识库(Knowledge Base),20,专家系统的建造步骤,知识化,问题,图6.3建立专家系统的步骤,合法化,概念化,形式化,规则化,知识,概念,结构,形式,规则,再设计,改进,重新阐述,6.1 专家系统概述,20专家系统的建造步骤知识化问题图6.3建立专家系统的步骤合,建立系统的一般步骤如下,设计初始知识库问题知识化知识概念化概念形式化形式规则化规则合法化原型机(prototype)的开发与实验知识库的改进与归纳,21,6.1 专家系统概述,建立系统的一般步骤如下设计初始知识库216.1 专家系统概述,6.2基于规则的专家系统,1.基于规则的专家系统的工作模型,22,知识库(规则),工作存储器(事实),推理机,图6.4 基于规则的工作模型,6.2基于规则的专家系统1.基于规则的专家系统的工作模型 2,基于规则的专家系统采用下列模块来建立产生式系统的模型:,知识库 以一套规则建立人的长期存储器模型工作存储器 建立人的短期存储器模型,存放问题事实和由规则激发而推断出的新事实推理机 借助于把存放在工作存储器内的问题事实和存放在知识库内的规则结合起来,建立人的推理模型,以推断出新的信息,23,6.2 基于规则的专家系统,基于规则的专家系统采用下列模块来建立产生式系统的模型:知识库,2.基于规则专家系统的结构,24,6.2 基于规则的专家系统,图6.5 基于规则专家系统的结构,2.基于规则专家系统的结构246.2 基于规则的专家系统解释,6.3 基于框架的专家系统,1. 面向目标编程与基于框架设计基于框架的专家系统建立在框架的基础之上基于框架的专家系统采用面向目标编程技术基于框架的设计和面向目标的编程共享许多特征在设计基于框架系统时,专家系统的设计者们把目标叫做框架,25,6.3 基于框架的专家系统1. 面向目标编程与基于框架设计2,2. 基于框架专家系统的一般设计方法,基于框架专家系统的主要设计步骤与基于规则的专家系统相似。主要差别在于如何看待和使用知识在设计基于框架的专家系统时,把整个问题和每件事想像为编织起来的事物在辨识事物之后,寻找把这些事物组织起来的方法对于任何类型的专家系统,其设计是个高度交互的过程,26,6.3 基于框架的专家系统,2. 基于框架专家系统的一般设计方法基于框架专家系统的主要设,开发基于框架的专家系统的主要任务,定义问题分析领域定义类与特征定义例子及其框架结构确定模式及其匹配规则规定事物的通信方法设计系统界面对系统进行评价对系统进行扩展,深化和扩展知识,27,开发基于框架的专家系统的主要任务定义问题27,6.4 基于模型的专家系统,1. 基于模型专家系统的提出,28,关于人工智能的一个观点(定性模型化)综合各种模型的专家系统比基于逻辑心理模型的系统具有更强的功能,从而有可能显著改进专家系统的设计在诸多模型中,人工神经网络模型的应用最为广泛,6.4 基于模型的专家系统1. 基于模型专家系统的提出28关,2. 基于神经网络的专家系统,神经网络模型从知识表示、推理机制到控制方式,与目前专家系统中的基于逻辑的心理模型有本质的区别三种神经网络模型与专家系统集成模式神经网络支持专家系统专家系统支持神经网络协同式的神经网络专家系统,29,6.4 基于模型的专家系统,2. 基于神经网络的专家系统神经网络模型从知识表示、推理机制,神经网络专家系统的基本结构,30,6.4 基于模型的专家系统,知识获取,图6.7 神经网络专家系统的基本结构,神经网络专家系统的基本结构306.4 基于模型的专家系统知识,31,设有如下推理规则 r1: IF E1 THEN (2, 0.00001) H1 r2: IF E2 THEN (100, 0.0001) H1 r3: IF E3 THEN (200, 0.001) H2 r4: IF H1 THEN (50, 0.1) H2且已知P(E1)= P(E2)= P(H3)=0.6, P(H1)=0.091, P(H2)=0.01, 又由用户告知: P(E1| S1)=0.84, P(E2|S2)=0.68, P(E3|S3)=0.36请用主观Bayes方法求P(H2|S1, S2, S3)=?,习题解答,31设有如下推理规则习题解答,32,解:(1) 由r1计算O(H1| S1) 先把H1的先验概率更新为在E1下的后验概率P(H1| E1) P (H1| E1) = (LS1 P (H1) / (LS1-1) P (H1) +1) =(2 0.091) / (2 -1) 0.091 +1) =0.16682 由于P(E1|S1)=0.84 P(E1),使用P(H | S)公式的后半部分,得到在当前观察S1下的后验概率P(H1| S1)和后验几率O(H1| S1) P(H1| S1) = P(H1) + (P(H1| E1) P(H1) / (1 - P(E1) (P(E1| S1) P(E1) = 0.091 + (0.16682 0.091) / (1 0.6) (0.84 0.6) =0.091 + 0.18955 0.24 = 0.136492 O(H1| S1) = P(H1| S1) / (1 - P(H1| S1) = 0.15807,32解:(1) 由r1计算O(H1| S1),33,(2) 由r2计算O(H1| S2) 先把H1的先验概率更新为在E2下的后验概率P(H1| E2) P(H1| E2)=(LS2 P(H1) / (LS2-1) P(H1)+1) =(100 0.091) / (100 -1) 0.091 +1) =0.90918 由于P(E2|S2)=0.68 P(E2),使用P(H | S)公式的后半部分,得到在当前观察S2下的后验概率P(H1| S2)和后验几率O(H1| S2) P(H1| S2) = P(H1) + (P(H1| E2) P(H1) / (1 - P(E2) (P(E2| S2) P(E2) = 0.091 + (0.90918 0.091) / (1 0.6) (0.68 0.6) =0.25464 O(H1| S2) = P(H1| S2) / (1 - P(H1| S2) =0.34163,33(2) 由r2计算O(H1| S2),34,(3) 计算O(H1| S1,S2)和P(H1| S1,S2) 先将H1的先验概率转换为先验几率O(H1) = P(H1) / (1 - P(H1) = 0.091/(1-0.091)=0.10011 再根据合成公式计算H1的后验几率 O(H1| S1,S2)= (O(H1| S1) / O(H1) (O(H1| S2) / O(H1) O(H1) = (0.15807 / 0.10011) (0.34163) / 0.10011) 0.10011 = 0.53942 再将该后验几率转换为后验概率P (H1| S1, S2) = O (H1| S1,S2) / (1+ O(H1| S1,S2) = 0.35040,34 (3) 计算O(H1| S1,S2)和P(H1,35,(4) 由r3计算O(H2| S3) 先把H2的先验概率更新为在E3下的后验概率P(H2| E3) P(H2| E3)=(LS3 P(H2) / (LS3-1) P(H2)+1) =(200 0.01) / (200 -1) 0.01 +1) =0.09569 由于P(E3|S3)=0.36 P(E3),使用P(H | S)公式的前半部分,得到在当前观察S3下的后验概率P(H2| S3)和后验几率O(H2| S3) P(H2| S3) = P(H2 | E3) + (P(H2) P(H2| E3) / P(E3) P(E3| S3) 由当E3肯定不存在时有 P(H2 | E3) = LN3 P(H2) / (LN3-1) P(H2) +1) = 0.001 0.01 / (0.001 - 1) 0.01 + 1) = 0.00001因此有P(H2| S3) = P(H2 | E3) + (P(H2) P(H2| E3) / P(E3) P(E3| S3) =0.00001+(0.01-0.00001) / 0.6) 0.36 =0.00600O(H2| S3) = P(H2| S3) / (1 - P(H2| S3) =0.00604,35(4) 由r3计算O(H2| S3),36,(5) 由r4计算O(H2| H1) 先把H2的先验概率更新为在H1下的后验概率P(H2| H1) P(H2| H1)=(LS4 P(H2) / (LS4-1) P(H2)+1) =(50 0.01) / (50 -1) 0.01 +1) =0.33557 由于P(H1| S1,S2)=0.35040 P(H1),使用P(H | S)公式的后半部分,得到在当前观察S1,S2下H2的后验概率P(H2| S1,S2)和后验几率O(H2| S1,S2) P(H2| S1,S2) = P(H2) + (P(H2| H1) P(H2) / (1 - P(H1) (P(H1| S1,S2) P(H1) = 0.01 + (0.33557 0.01) / (1 0.091) (0.35040 0.091) =0.10291 O(H2| S1,S2) = P(H2| S1, S2) / (1 - P(H2| S1, S2) =0.10291/ (1 - 0.10291) = 0.11472,36(5) 由r4计算O(H2| H1),37,(6) 计算O(H2| S1,S2,S3)和P(H2| S1,S2,S3) 先将H2的先验概率转换为先验几率O(H2) = P(H2) / (1 - P(H2) )= 0.01 / (1-0.01)=0.01010 再根据合成公式计算H1的后验几率 O(H2| S1,S2,S3)= (O(H2| S1,S2) / O(H2) (O(H2| S3) / O(H2) O(H2) = (0.11472 / 0.01010) (0.00604) / 0.01010) 0.01010 =0.06832 再将该后验几率转换为后验概率P (H2| S1,S2,S3) = O(H1| S1,S2,S3) / (1+ O(H1| S1,S2,S3) = 0.06832 / (1+ 0.06832) = 0.06395 可见,H2原来的概率是0.01,经过上述推理后得到的后验概率是0.06395,它相当于先验概率的6倍多。,37 (6) 计算O(H2| S1,S2,S3)和P(H2|,