《第7章专家系统.ppt》由会员分享,可在线阅读,更多相关《第7章专家系统.ppt(160页珍藏版)》请在课桌文档上搜索。
1、2023/11/7,1,第7章 专家系统,2023/11/7,2,第7章 专家系统,7.1 专家系统概述 7.2 专家系统的结构与工作原理 7.3 专家系统的产生式表示 7.4 专家系统的开发与建造 7.5 专家系统的评价 7.6 专家系统的开发工具 7.7 分布式专家系统与协同式专家系统 7.8 专家系统举例,2023/11/7,3,7.1 专家系统概述,迄今为止,关于什么是专家系统,目前尚无一个十分确切的定义。其一般公认定义:专家系统是一个具有智能的程序系统,其内部具有大量的专家水平的知识与经验;该系统能利用专家的知识与推理方法来解决专门领域的问题;它能对自身所得出的结论做出清楚、明晰、合
2、理的解释。简单地说,能够向用户提供关于某一领域中专家水平的决策与解释的智能模拟系统,称为专家系统。专家系统作为专家的功能主要是应用了人工智能领域的相关技术。,7.1.1 什么是专家系统?,2023/11/7,4,现实中有许多问题,都要依靠专门领域的专家来解决。专家对问题的推理和决策,除了依据他们的学识外,还要取决于个人实践经历中积累的经验和练就的直觉方法。其中,包括一些不确定的知识,从而以专家的决断,对问题给出权威的解答。一个专家系统必须满足的基本条件是:专家系统处理的是现实世界中原本应由专家分析和判断的复杂问题;专家系统解决问题的模型和方案来自于专家的经验和推理方法;专家系统应该得到和专家一
3、致的判断结论与决策。本质上,专家系统只是一个高级的计算机智能程序系统。,7.1.1 什么是专家系统?,2023/11/7,5,专家系统(Expert System)亦称专家咨询系统,它是一种智能计算机(软件)系统。顾名思义,专家系统就是能像人类专家一样解决困难、复杂的实际问题的计算机(软件)系统。对比专家,则专家系统也应具备以下四个要素:(1)应用于某专门领域;(2)拥有专家级知识;(3)能模拟专家的思维;(4)能达到专家级水平。,7.1.1 什么是专家系统?,7.1 专家系统概述,2023/11/7,6,同一般的计算机应用系统(如数值计算、数据处理系统等)相比,专家系统具有下列性能:(1)具
4、有高性能。现实世界中,以数学化公式为核心的知识仅约占8%,大部分问题都是非数学化的知识。专家系统善于解决那些不确定性的、非结构化的、没有算法解或虽有算法解但在现有的机器上无法实施的高难问题。,7.1.2 专家系统的性能,7.1 专家系统概述,2023/11/7,7,(2)具有知识与实用性。从处理问题的方法看,专家系统则是靠知识和推理来解决问题(不像传统软件系统使用固定的算法来解决问题),所以,专家系统是基于知识的智能问题求解系统。其次,许多经典的人工智能程序往往是从纯学术技术目的出发研制的一种实验性研究工具,而专家系统解决的是人们在生产实践、科学研究、产品设计以及其它领域的实际问题,更多地强调
5、实用。,7.1.2 专家系统的性能,7.1 专家系统概述,2023/11/7,8,(3)具有灵活性及可扩充性。从系统的结构来看,专家系统则强调知识与推理的分离,因而系统具有很好的灵活性和可扩充性。其灵活性还表现为:由于知识库与推理机分离,使人们可把一个技术上成熟的专家系统变为一个专家系统工具,即只要抽去知识库中的知识就可使它变为一个专家系统外壳。当要建立另外一个其功能与之类似的专家系统时,只要把相应的知识装入到该外壳的知识库中就可以了。这就节省了耗时费工的开发工作。事实上,目前有一些专家系统开发工具就是这样得来的。例如,由专家系统MYCIN得到的构造工具EMYCIN;由PROSPECTOR得到
6、的ES外壳KAS等。,7.1.2 专家系统的性能,2023/11/7,9,(4)具有透明性。专家系统必须具有解释功能,能回答用户提出的问题,向用户解释它的决策动机和结论的推理过程,使用户能清楚地了解系统处理问题正确性,通过增强系统的透明度而取信于用户。例如,一个医疗诊断专家系统诊断某病人患有肺炎,而且必须用某种抗生素治疗,那么,这一专家系统应向病人解释为什么判断他患有肺炎,解释用该抗生素治疗的原因,就像一位医疗专家对病人详细解释病情一样。,7.1.2 专家系统的性能,7.1 专家系统概述,2023/11/7,10,(5)具有自学习及自修正能力。有些专家系统还具有“自学习”能力,即不断对自己的知
7、识进行扩充、完善和提炼。专家系统还能随时修正已有的知识或归纳出新的知识,适应新情况的需要,这一点是传统系统所无法比拟的。(6)具有专业和长效性。专家系统大量使用的是专家级水平的专门领域所谓“深知识”来决策,而不是一般系统那样多使用常识性知识,即所谓“浅知识”;专家系统不像人那样容易疲劳、遗忘,易受环境、情绪等的影响,它可始终如一地以专家级的高水平求解问题。,7.1.2 专家系统的性能,2023/11/7,11,7.1.3 专家系统的特点与研究意义,表7-1 专家系统特点及与传统程序的区别,7.1 专家系统概述,2023/11/7,12,研究专家系统的意义还在于:专家系统不像人那样容易疲劳、遗忘
8、,易受环境、情绪的影响,它可始终如一地以专家级的高水平求解问题。因此,从这个意义上讲,专家系统可以超过专家本人。专家系统便于保存和大面积推广各种专家的宝贵知识,更有效地发挥各种专业人才的作用,克服人类专家供不应求的矛盾。专家系统还可以综合许多专家的知识和经验,从而博采众长。专家系统作为一种计算机系统,便于发挥计算机快速、准确的优势,在某些方面比专家更可靠、更灵活,可以不受时间、地域及人为因素的影响。另外,由于专家系统具有解释功能,系统设计者和领域专家就可方便地找出系统隐含的错误,便于对系统进行维护。,7.1.3 专家系统的特点与研究意义,7.1 专家系统概述,2023/11/7,13,1.按用
9、途分类 按用途分类,专家系统可分为:诊断型、解释型、预测型、决策型、设计型、规划型、控制型、调度型等几种类型。2.按输出结果分类 按输出结果分类,专家系统可分为分析型和设计型。,7.1.4 专家系统的分类,7.1 专家系统概述,2023/11/7,14,3.按知识分类 知识可分为确定性知识和不确定性知识,所以,按知识分类,专家系统又可分为精确推理型和不精确推理型(如模糊专家系统)。顺便指出,关于知识处理的技术和方法已形成一个称为“知识工程”(Knowledge Engineering)的学科领域。这就是说,专家系统促使了知识工程的诞生和发展,知识工程又是为专家系统服务的。正是由于这二者的密切关
10、系,所以,现在的“专家系统”与“知识工程”几乎已成为同义语。4.按技术分类 按采用的技术分类,专家系统可分为符号推理专家系统和神经网络专家系统。前面讲的内容均为基于符号推理,7.1.4 专家系统的分类,2023/11/7,15,5.按规模分类 按规模分类,可分为大型协同式专家系统和微专家系统。6.按结构分类 按结构分类可分为集中式和分布式,单机型和网络型(即网上专家系统)。,7.1.4 专家系统的分类,7.1 专家系统概述,2023/11/7,16,1.专家系统与知识系统 专家系统能有效地解决问题的主要原因在于它拥有知识,因为“知识就是力量”。但专家系统拥有的知识是专家知识,而且主要是经验性知
11、识。由专家系统的出现和发展而发展起来的一种称为知识系统(Knowledge Based System)的智能系统,其中的知识已不限于人类专家的经验知识,而可以是领域知识或通过机器学习所获得的知识等。所以,对于这种广义的知识系统来说,专家系统就是一种特殊的知识系统。,7.1.5 专家系统与知识工程,7.1 专家系统概述,2023/11/7,17,2.专家系统与知识工程 由于专家系统是基于知识的系统,那么,建造专家系统就涉及到:(1)知识获取:从人类专家那里或从实际问题搜集、整理、归纳专家级知识(2)知识表示:以某种结构形式表达所获取的知识,并将其存储于计算机之中(3)知识的组织与管理:知识库建立
12、与维护等(4)知识的利用:使用知识进行推理等一系列关于知识处理的技术和方法。,7.1.5 专家系统与知识工程,7.1 专家系统概述,2023/11/7,18,关于知识处理的技术和方法已形成一个称为“知识工程”(Knowledge Engineering)的学科领域。这就是说,专家系统促使了知识工程的诞生和发展,知识工程又是为专家系统服务的。正是由于这二者的密切关系,所以,现在的“专家系统”与“知识工程”几乎已成为同义语。,7.1.5 专家系统与知识工程,7.1 专家系统概述,2023/11/7,19,BACON3系统功能介绍:由一位美国学者P.W.Langley(兰利)于1979年在Carne
13、gie Mellon(卡内基-梅隆)大学提出的一个关于实验数据的分析系统,该系统是一个发现物理学中经验性定理的机器学习系统,并以英国16世纪著名思想家和科学家培根命名。假设对应一组系统的输入数据 X=XK 得到一批输出数据 Y=YKI,K,I=1,2,这批数据记录真实、齐全,但数据排列顺序被破坏了。如何分析呢?,7.1.6一个关于专家系统的事例,7.1 专家系统概述,2023/11/7,20,由于这批数据记录真实、齐全,只是数据排列顺序被破坏了,因此,首先应恢复数据排列顺序,再进行系统分析:(1)将输入、输出数据分为两组,各自按单调排列;(2)确定对应输入与输出间的数据乘积,或比值,或某次方根
14、,等数学关系为一恒值常数;或引进新的变量,继续上述研究过程;(3)若确定对应输入输出间的数据的某数学关系为一恒值常数,则结合数据实验发生的原始环境,分析该常数的物理意义,从而总结出一般规律。,7.1.6一个关于专家系统的事例,7.1 专家系统概述,2023/11/7,21,按照这种思路和数学模型,人们很容易获得关于物理学的很多定律。诸如:f=ma;S=vt U=RI Q=CU F=kX E=Mc2 P=F/S2(PxVx)/Tx=(P0V0)/T0=R(常数)等,7.1.6一个关于专家系统的事例,7.1 专家系统概述,2023/11/7,22,按照这种思路和数学模型,人们很容易获得关于物理学的
15、很多定律。诸如它能重新发现波义耳定律、欧姆定律、牛顿万有引力定律和开普勒行星运动定律等。例如:如果给程序提供一系列气体体积随温度、压力变化的实验数据,系统经过学习概括和归纳推理,可以得出理想气体的波义耳定律。BACON系统的思想是利用一些算子反复构造一些新的项,当这些项中有一个是常数时,就得到概念“项=常数”。,7.1.6一个关于专家系统的事例,7.1 专家系统概述,2023/11/7,23,例如,对开普勒定律:行星绕太阳运动周期为p与行星到太阳的距离d有关,即有公式:R=d3/p2其中R为常数。计算过程如表8-2所示。BACON3程序成功地模拟了人类发现物理学上一些经验性的简单定律,帮助人们
16、概括出了物理实验中的一种客观规律。进一步发展推广,BACON3甚至稍加改进,还可用于非线性系统的研究上。因此,对于这项成果,学者们曾经给以很高评价,认为可能抛砖引玉,导致归纳机的诞生。,7.1.6一个关于专家系统的事例,7.1 专家系统概述,2023/11/7,24,由上表,对开普勒定律公式 R=d3/p2 发现过程为:p和d都是递增,并且非线性互相依赖,触发建立新项d/p的算子。d和d/p的递增方向刚好相反,触发建立新项(d/p)d=d2/p的算子。d/p和d2/p的递增方向刚好相反,触发建立新项(d/p)d2/p=d3/p2的算子。项d3/p2是常数,则得到行星运动定律。,7.1.6一个关
17、于专家系统的事例,表8-2 行星运动定律的发现,2023/11/7,25,.解释型专家系统(expert system for interpretation)通过对已知信息和数据的分析,确定并解释其涵义。解释型专家系统具有以下特点:系统处理的数据量很大,而且往往是不准确的、有错误的或不完全的。系统能够从不完全的信息中得出解释,并能对数据做出某些假设。系统的推理过程可能很复杂和很长,因而要求系统具有对自身的推理过程做出解释的能力。例如解释图像分析,解释地质结构和化学结构的分析系统等。著名的地质勘探咨询的专家系统PROSPECTOR就是其中一例。,7.1.7专家系统的类型,7.1 专家系统概述,2
18、023/11/7,26,.预测型专家系统(expert system for prediction)这是根据现状预测未来可能发生的情况的专家系统。诸如应用于气象预报、地震灾害预测、人口预测、工农业产量估计及水文、经济、军事形势预测等方面。其特点为:系统处理的数据随时间变化,而且可能是不准确和不完全的。系统需要有适应时间变化的动态模型,能够从不完全和不准确的信息中,得出预报,并达到要求的时效性。如台风路径预报TYT专家系统就是一例。,7.1.7专家系统的类型,7.1 专家系统概述,2023/11/7,27,.诊断型专家系统(expert system for diagnosis)根据诊断对象的表
19、征现象,例如病人的临床症状,机器故障的声光现象等,推断出该对象机能失常或发生故障的原因。诊断专家系统具有下列特点:能够了解被诊断对象或客体各组成部分的特性以及它们之间的联系。能够区分一种现象及其所掩盖的另一种现象。能够向用户提出测量的数据,并从不确切信息中得出尽可能正确的诊断。如著名的MYCIN系统,就能对传染性疾病做出专家水平的诊断和治疗选择。,7.1.7专家系统的类型,7.1 专家系统概述,2023/11/7,28,.设计型专家系统(expert system for design)这是一种根据任务要求,计算出满足设计问题约束的目标配置的系统。设计型专家系统应具有下列特点:善于从多方面的约
20、束中得到符合要求的设计结果。系统需要检索较大的可能解空间。善于分析各种问题,并处理好子问题间的相互关系。能够试验性地构造出可能设计,并易于对所得设计方案进行修改。能够使用已被证明是正确的设计来解释当前的新设计。例如,DAC公司用来帮助用户提出最佳计算机配置方案的R1系统。,7.1.7专家系统的类型,7.1 专家系统概述,2023/11/7,29,.规划型专家系统(expert system for planning)规划型专家系统用来制订行动规划一类专家系统。诸如机器人动作规划、制订生产规划等。其具体特点有:所要规划的目标可能是动态的或静态的,因而需要对未来动作做出预测。所涉及的问题可能很复杂
21、,要求系统能够抓住重点,处理好各子目标之间的关系和不确定的数据信息,并通过实验性动作得出可行规划。,7.1.7专家系统的类型,7.1 专家系统概述,2023/11/7,30,.监视型专家系统(expert system for monitoring)这是用来对某些行为、状况进行监视,并与其正常情况进行比较,当发现异常发出告警或进行干预的系统。如森林火警监视、机场监视等。监视专家系统具有下列特点:系统应具有快速反应能力,在造成事故之前及时发出警报。系统发出的警报要有很高的准确性。在需要发出警报时发警报,在不需要发出警报时不得轻易发警报(假警报)。系统能够随时间和条件的变化而动态地处理其输入信息。
22、,7.1.7专家系统的类型,7.1 专家系统概述,2023/11/7,31,.控制型专家系统(expert system for control)用以自适应地管理受控对象,使之满足预期要求的系统。其特点为:能够解释当前情况,预测未来可能发生的情况;诊断可能发生的问题及其原因,不断修正计划,控制系统的运行。控制型专家系统具有解释、预报、诊断、规划和执行等功能。.调试型专家系统(expert system for debugging)调试型专家系统的任务是对失灵的对象给出处理意见和方法。调试专家系统的特点是同时具有规划、设计、预报和诊断等专家系统的功能。,7.1.7专家系统的类型,7.1 专家系统
23、概述,2023/11/7,32,.教学型专家系统(expert system for instruction)教学型专家系统能根据学生的知识点掌握情况、性情特点等,以最适当的教案和教学方法对学生进行教学和辅导。教学专家系统的特点为:同时具有诊断和调试等功能。具有良好的人机界面。.维护型专家系统(expert system for repair)系统能对发生故障的对象(系统或设备)进行处理,使其恢复正常工作。该类型专家系统应具有诊断、调试、计划和执行等功能。,7.1.7专家系统的类型,7.1 专家系统概述,2023/11/7,33,7.专家系统的一般结构,7.专家系统的结构与工作原理,图7-A
24、专家系统的一般结构,图7-专家系统的基本结构,用户 专家/知识工程师,2023/11/7,34,图73B 专家系统的基本结构,7.专家系统的结构与工作原理,2023/11/7,35,专家系统须满足的基本功能(共六大功能):存储问题求解所需的专家知识;存储具体领域内的初始数据和推理过程中所涉及到的各种信息如中间结果、目标、子目标、条件、假设等等。根据当前输入的数据,利用已有的知识,按照一定的推理策略,去解决当前问题,并能控制、协调整个系统。能对推理过程、结论或系统自身做出必要的解释如解题步骤、处理策略、选择处理方法、求解某种问题的能力、系统如何组织和管理其自身知识等。这样既便于用户的理解和接受,
25、同时也便于系统的维护。,7.专家系统的一般结构,2023/11/7,36,提供知识获取、机器学习、修改、扩充和完善等其它维护手段。这样才能更有效地提高系统的问题求解能力及准确性。提供一种人机接口,能分析、理解用户的各种请求。其中,存放知识和使用知识是专家系统的两个基本功能,用于实现该功能的知识库和推理机构成了专家系统的两个核心部件,如图7-2所示。基于规则的专家系统的结构如图7-3所示,一般包括知识与数据库、推理机、黑板、人机接口、解释器和知识获取机等六部分。,7.专家系统的一般结构,2023/11/7,37,7.专家系统的一般结构,图7-A 专家系统的一般结构,图7-专家系统的基本结构,用户
26、 专家/知识工程师,2023/11/7,38,知识与数据库:包括专家知识库和事实数据库两部分,存储着求解领域中问题所需的专家知识及数据,它是专家系统的组成基础。主要用途:用于存放相关领域或问题的初始数据、中间结果、最终结论等。它能对知识和全局数据施行存储、管理,并以规则形式表达专家级知识。一类是领域中的定义、事实和理论等,通常收录于相关学术著作和教科书中;另一类是专家个人在工作经历中所获得的实践经验等。这使得专家们在错综复杂关键时刻,能临机决断,做出正确决策。特性:它可被所有的规则访问;规则之间的联系只有通过数据库才能发生。,7.专家系统的一般结构,2023/11/7,39,推理机:推理机实际
27、上就是一组计算机程序,它是专家系统的“思维”机构,是构成专家系统的核心部分。主要功能:协调控制整个系统,模拟领域专家的思维过程,控制并执行对问题的求解。它能根据当前已知的事实,利用知识库中的知识,按一定的推理方法和控制策略进行推理,求得问题的答案或证明某个假设的正确性。总之,知识库和推理机构成了一个专家系统的基本框架。同时,这两部分又是相辅相成、密切相关的。因为不同的知识表示有不同的推理方式,所以,推理机的推理方式和工作效率不仅与推理机本身的算法有关,还与知识库中的知识以及知识库的组织有关。,7.专家系统的一般结构,2023/11/7,40,黑板:顾名思义,黑板是一种可读、可刷新重写的装置,用
28、于描述记录专家系统的中间推理过程、数据的变换与演算,又称为暂存器。许多专家系统结构把黑板并入数据库中,但它只是系统运行中间的一些动态信息的集合,是系统运行期间产生和变化的,因此,它只是数据库中“动态”变化的那一部分。有了黑板,便于进行系统跟踪、调试与解释。,7.专家系统的一般结构,2023/11/7,41,解释模块(解释器):这是实现系统透明性的重要模块。它负责回答用户提出的各种问题,解释系统的推理过程,使系统向用户透明。解释程序模块由一组程序构成,它是专家系统区别于一般程序的重要特征之一。它可对推理路线和提问的含义给出必要的清晰的解释,使用户了解推理过程;并能跟踪并记录推理过程,也为系统维护
29、提供了方便的手段。,7.专家系统的一般结构,2023/11/7,42,知识获取模块:这是专家系统中能将某专业领域内的事实性知识和领域专家所特有的经验性知识转化为计算机可利用的形式并送入知识库的功能模块。同时也负责知识库中知识的修改、删除和更新,并对知识库的完整性和一致性进行维护。知识获取模块是实现系统灵活性的主要部分,它使领域专家可以修改知识库而不必了解知识库中知识的表示方法、知识库的组织结构等实现上的细节问题,这大大地提高了系统的可扩充性。,7.专家系统的一般结构,2023/11/7,43,人机接口:人机接口负责把领域专家、知识工程师或一般用户输入的信息转换成系统内规范化的表示形式,然后把这
30、些内部表示交给相应的模块去处理。系统输出的内部信息也由人机接口转换成用户易于理解的外部表示形式显示给用户。,7.专家系统的一般结构,2023/11/7,44,求解过程大致有如下几个步骤:根据用户的问题对知识库进行搜索,寻找有关的知识。根据有关的知识和系统的控制策略形成解决问题的途径,即知识操作算子序列,从而构成一个假设集合。对解决问题的一组可能假设方案进行排序,并挑选其中在某些准则下为最优的假设方案。根据挑选的解决问题的假设方案去求解具体问题。如果该方案不能真正解决问题,则回溯到假设方案序列中的下一个假设方案,重复求解问题。上述过程循环执行,直到问题已经解决或所有可能的求解方案都不能解决问题而
31、宣告“本系统该问题无解”为止。,7.专家系统的工作原理,2023/11/7,45,7.专家系统的工作原理,上述过程可用教材中图7-3来描述。,2023/11/7,46,上面介绍的专家系统结构,是专家系统的概念模型,或者说是只强调知识和推理这一主要特征的专家系统结构。但专家系统终究仍是一种计算机应用系统。所以,它与其它应用系统一样是解决实际问题的。而实际问题往往是错综复杂的,比如,可能需要多次推理或多路推理或多层推理才能解决,而知识库也可能是多块或多层的。,7.3专家系统的实际结构,2023/11/7,47,专家系统的实际结构示例,专家模块m,处理模块n,2023/11/7,48,地质图件绘制智
32、能辅助系统结构,2023/11/7,49,网络与分布式结构 在网络环境下,专家系统也可以设计成网络结构,如“客户机/服务器”(Client/Server)结构(如图85(a)所示),或浏览器/服务器(Browser/Server)结构(如图8-5(b)所示)。我们称后一种结构的专家系统为网上专家系统。分布式结构则是一种适合于分布式计算环境的专家系统。例如那些多学科、多专家联合作业,协同解题的大型专家系统,就可以设计成分布式结构。这类专家系统也就称为分布式专家系统。,7.3专家系统的实际结构,2023/11/7,50,专家系统的客户(机)/服务器结构及浏览器/服务器结构,客户(机),Browse
33、r,服务器,Web Server,Internet,7.3专家系统的实际结构,2023/11/7,51,7.专家系统的产生式表示,为了针对指定的符号串产生替换运算,美国数学家Post于1943年首次提出产生式系统(Production System)概念;后来,学者们又依据这种按指定方式产生输出符号的思想,构造了POST自动机,明确地提出了一种用“规则”进行信息加工的系统模型。随后,产生式不断发展。Markov提出了产生式系统的控制策略;Chomskey提出了文法分层概念和类似产生式生成的语言重写规则;在此基础上,计算机界学者成功地构造了ALGOL60高级计算机语言;20世纪七十年代,Newe
34、ll 和Simon等学者在对人类认知模型研究中,开发了基于规则的产生式系统等。从此,产生式知识表示在人工智能中得到广泛的应用,尤其Feigenbaum等人运用产生式知识表示,成功构造了专家系统,取得了许多卓越的成就,推动了人工智能发展。,7.产生式的提出,2023/11/7,52,7.专家系统的产生式表示,产生式知识表示与人们很多的思维习性十分吻合。例如,自然界中广泛使用的各种因果关系,还有人们关于判断的思维方式等,都可以归纳为诸如:“条件结论”或“原因结果”、“前提操作”、“情况行为”等结构,它们都是产生式的知识表达形式。例如:天下雨,地上湿。(“原因结果”结构)如果把冰加热到0o以上,冰就
35、会溶化为水。(“条件结论”结构)“夜来风雨声,花落知多少。”(事实及其进展结构)若能找到一根合适的杠杆,就能撬起那座大山。(“前提操作”)“才饮长沙水,又食武昌鱼。”(事实及其进展结构)刚才开机了,意味着发出了捕获目标图像的信号。(“情况行为”)再如,人们好奇于“金刚石可在氧气中燃烧而消失”的原因,就可用产生式知识表示的语言结构来解释:因为金刚石是由碳原子组成的,所以再硬的金刚石也可燃烧成为CO2,变成气体消失了。,7.产生式的结构形式,2023/11/7,53,7.专家系统的产生式表示,特点:产生式结构形象、生动,普遍存在,既符合客观规律,又具有智能特性,极有挖掘研究价值。产生式还可以表现更
36、复杂的情况:可把其表示为相互并立、分立、合成、嵌套等形式。例如,四边形四边相等有一角是直角正方形.一个夏天甲到太白山游览山上突然刮起寒风甲仅仅身穿单衣冰雹雪花纷纷飘落气候太寒冷了甲浑身打哆嗦.,7.产生式的结构形式,更复杂的情况还有:中国的首都是北京。,2023/11/7,54,7.专家系统的产生式表示,7.产生式的结构形式,产生式的合成与分解:设有规则 R:(AB)(CD)(EF)G)S,R1:S1 S2 SR2:S3S4 S1R3:S5S6 S2R4:AB S3 R5:CD S4,R6:EF S5 R7:G S6,2023/11/7,55,7.专家系统的产生式表示,7.2产生式结构的转换,
37、设有规则 R:(AB)(CD)(EF)G)S,产生式结构可转换为与/或树结构来表示:,2023/11/7,56,7.专家系统的产生式表示,产生式系统组成:由产生式规则(Production Rules)、综合数据库(Global Database)和控制策略(Control Strategy)三部分组成如图。由图可见,综合数据库、产生式规则是系统的具体知识与信息的存储处理部件,是产生式系统的基础部分;控制策略是系统的协同处理机构,是产生式系统的指挥控制中心。产生式系统的知识表示主要体现于综合数据库与产生式规则的各自表示。,7.3产生式结构与专家系统组成,2023/11/7,57,7.专家系统的
38、产生式表示,产生式系统组成:由产生式规则(Production Rules)、综合数据库(Global Database)和控制策略(Control Strategy)三部分组成如图。,7.3产生式结构与专家系统组成,图2-3 产生式系统组成,2023/11/7,58,7.3.3 产生式结构与专家系统组成,综合数据库 产生式规则 控制策略综合数据库的建造,知识与数据库推理机解释部分(解释器)知识的获取机构,2023/11/7,59,7.4专家系统的建造与评价,专家系统的性能需要从四方面来考虑:即方便性、有效性、可靠性和可维护性。专家系统设计的准则:由于考虑因素不同,角度不同,所给出的准则也不同
39、。为了使所设计的专家系统便于实现,专家系统设计一般要求遵循以下基本原则:知识库和推理机分离。这是设计专家系统的基本原则。尽量使用统一的知识表示方法。以便于系统对知识进行统一的处理、解释和管理。推理机应尽量简化。把启发性知识也尽可能地独立出来,这样既便于推理机的实现,同时也便于对问题的解释。,7.4.一般步骤与方法,2023/11/7,60,7.4专家系统的开发与建造,专家系统的开发步骤:一般所采取的步骤是一个传统程序开发的循环形式,整个开发过程如图7-5所示,由一系列动态过程组成。,7.4.一般步骤与方法,2023/11/7,61,7.4.一般步骤与方法,7.4专家系统的开发与建造,在ES开发
40、中,最初:不可能被很好理解,定义也不可能很完整,则初期开发过程只能自顶而下;过程中:在每一过程进行中,往往又需要不断反复回溯;以修改已进行的过程。后期优化:在过程的动态反复进行中,系统须不断优化,最终形成能满足要求的实际系统。,2023/11/7,62,需求分析。在进行构思和设计专家系统之前,首先必须搞清楚用户需要一个什么样的系统?要求具有什么功能?各项性能要求如何等。因此,需求分析做的好坏是系统最终成败的一个关键,而且是专家系统的艰难开发过程的第一关。知识工程师要花很多时间反复向未来的用户和领域专家提出各种问题,并共同讨论解决各种问题的方法,写出“需求分析报告”,根据专家与用户们的评审意见,
41、把需求分析报告改写成“系统规格说明书”,并做出“系统开发计划”。,7.4.一般步骤与方法,7.4专家系统的开发与建造,2023/11/7,63,知识获取是专家系统开发过程中最重要而困难的一步,被称为专家系统开发的“瓶颈”。因此,在做了需求分析之后,就要开始寻找该领域内合适的专家以及相应的资料来获取知识。知识获取需要知识工程师与领域专家的密切配合和支持,否则是不可能成功的。从某种意义上来说,知识是决定专家系统性能好坏的主要因素,知识获取的成功几乎就使系统成功了一半。这是一个反复进行,不断修改、扩充;进行需求分析,知识表示,详细设计,实现编码、测试与评价,管理与维护的过程。,7.4.一般步骤与方法
42、,知识获取:,2023/11/7,64,知识表示:在第3章中曾介绍了多种知识表示方法,不同的表示模式适合于表达不同类型的知识。因此,根据所选定的领域范围和所获取的知识,选定或设计一、二种表示方法来最合适地表示相应领域的知识是一项很重要的工作。值的指出的是,某些专家系统中的知识类型比较多,单一知识表示模式有时很难实现系统的任务要求。因此,在具体建造专家系统时,可采用多种知识表示方法有机结合的方法。这样,可对不同类型的知识采用最合适的方法来表示,发挥各种方法的优势。,7.4.一般步骤与方法,7.4专家系统的开发与建造,2023/11/7,65,初步设计:这个阶段所要完成的任务是从宏观上初步确定系统
43、的体系结构,进行功能模块的划分,确定各功能模块之间的相互关系(包括控制流和数据流等),画出系统的总体结构图,确定主要的用户界面及相应的设计报告或说明书。在总的满足需求分析的前提下,最终确定系统或模块的性能指标,作为下一步详细设计时要达到的目标。,7.4.一般步骤与方法,7.4专家系统的开发与建造,2023/11/7,66,该阶段要根据各功能模块任务和性能的要求,完成各模块的具体方案设计。具体要求设计数据库、知识库、推理机、知识获取、解释和用户接口的实现方案。程序结构的模块化设计是详细设计阶段的主要方法。先将整个程序分解为若干模块,每个模块又分解为若干个子模块,有的子模块还可更进一步分解。明确各
44、模块和子模块的功能及其入口和出口,以便不同的程序员可明确分工,分别编写不同的模块和子模块。完成各模块间接口的具体设计,要求界面清晰、互相联系方便和高效。,7.4.一般步骤与方法,详细设计:,2023/11/7,67,选择合适的语言工具,这要根据具体情况而定,其中包括是否可能实现上面确定的详细设计;软件编程人员对语言或工具的熟练程度以及实现人员的水平;是否能表达所获取的知识;可移植性和可维护性等。可选择使用某种“外壳”(Shell)来实现,将使这一工作变得简单,仅需按规定要求,把知识库与外壳连接起来并作必要的测试即可。还必须采用某种知识处理语言来实现各功能模块,对各功能模块进行详细编码与调试,并
45、将这些模块连接起来,再进行系统调试。,7.4.一般步骤与方法,具体实现编码。,2023/11/7,68,功能模块测试与评价,已在具体实现阶段完成。而系统测试与评价的目的在于测试和评估整个系统的功能与性能,并进行必要的修改以达到在需求分析阶段确定的功能与性能指标。系统的测试与评价必须有领域专家和用户参加,不仅要对程序编码进行测试,同时也要对知识和推理进行测试与评价,界面是否满足用户的要求等。方法:选用测试实例与专家的处理结果进行比较,发现不合理或不满意,则由开发人员具体修改,再进行下一轮测试,如此循环往复,不断完善,直到最终达到预期目标。,7.4.一般步骤与方法,系统测试与评价:,2023/11
46、/7,69,这是ES应用中的重要环节。ES系统经过一定时间实际运行后,将积累一些经验和知识,并发现某些不足。因此,知识库的知识要不断增加与更新,以提高专家系统的适应性和问题求解能力。允许对其继续进行修改与维护,当然这需要由丰富经验的人员完成。,7.4.一般步骤与方法,系统管理与维护:,2023/11/7,70,可见,ES开发过程是一个漫长的“设计、实现、测试、修改、再设计、再实现、再测试、再修改、”的不断循环的反复过程。例如通过系统测试与评价,要检查整个专家系统的正确性与实用性,以便于系统进行修改与完善,或者是可以提供用户使用。其次,上述各开发阶段往往是不能截然分开的。例如,知识获取和表示与实
47、现过程互相渗透,密切相关。在测试中知识工程师们可能要不断地修改系统的各个部分,也可能要不断地修改已获取的知识,从而有可能要重新形成规则,或需要重新设计知识表示方法,发现新概念或取消旧概念,甚至可能重新进行需求分析。,7.4.一般步骤与方法,7.4专家系统的开发与建造,2023/11/7,71,专家系统性能优劣与知识的数量与质量有关一般而言,对专家系统知识表示有如下要求:表示能力:能将问题求解所需知识有效正确表达。可理解性:所表达的知识简单、明了、易于理解。可访问性:能够有效地利用所表达的知识。可扩充性:能够方便、灵活地对知识进行扩充。,7.4.专家系统知识表示与知识描述,7.4专家系统的开发与
48、建造,2023/11/7,72,专家系统知识表示:已在AI领域中发展了多种知识表达方法(详见第3章)。从实现的技术特征上大致分两类:1)说明性方法:可把大多数的知识可以表示为一个稳定的事实集合。这种方法严密性强,易于模块化,具有推理的完备性,但推理的效率比较低。2)过程性方法:把知识表达为应用该知识的过程。这种方法不易扩充,但推理效率比较高。究竟采用哪种方法好,要具体情况具体分析确定。,7.4.专家系统知识表示与知识描述,7.4专家系统的开发与建造,2023/11/7,73,知识描述:选择或设计某种知识表示形式,设计相应的知识描述语言。要求该语言既要面向用户,又要面向机器推理、机器知识的表示和
49、运用。即要求该描述语言既能为用户提供一种方便、易懂的外部知识表达形式,又能将这种外部表示转换成容易存储、管理、运用的内部形式。1)可用现有的程序设计语言作为知识描述语言,如PROLOG、LISP、C+等;2)也可以选用专用的如产生式语言OPS、框架语言KPL等;3)还可选择现成的ES工具来描述,如KAS、EMYCIN等。当然还可自行动手设计等。,7.4.专家系统知识表示与知识描述,7.4专家系统的开发与建造,2023/11/7,74,知识库是专家系统的核心,知识库的质量直接关系到整个系统的性能和效率。1)知识库的结构:对知识库设计,主要在于设计知识库的结构及其知识组织形式。ES知识库,一般取层
50、次结构或网状结构模式。2)结构特点:该结构模式是把知识按某种原则进行分类,然后分块分层组织存放。诸如按元知识、专家知识、领域知识等分层组织,而每一块和每一层还可以再分块分层。这样,整个知识库就呈树型或网状结构。这种层次结构,可方便知识的调度和搜索,加快推理速度,提高效率;采用分块存放,便于更经济地利用知识库空间。,7.4.知识库与知识库管理系统,7.4专家系统的开发与建造,2023/11/7,75,知识库管理系统设计:知识库的建立、删除、重组及维护和知识的录入、查询、更新、优化等,还有知识的完整性、一致性、冗余性检查和安全保护等方面的工作都是对知识的管理,是提高整个系统性能和效率的保证,对知识