8专家系统ExpertSystem1.专家系统的概述2.专家系统的知识表示和推理3.基于规则的专家系统4.基于框架的专家系统5.基于模型的专家系统6.实例分析1.专家系统的概述1.1专家系统的定义1.2专家系统的特点1.3专家系统的类型1.4专家系统的结构1.5如何构建专家系统1.1专家系统定义专家系统(ExpertSystem)亦称专家咨询系统,它是一种智能计算机(软件)系统。顾名思义,专家系统就是能像人类专家一样解决困难、复杂的实际问题的计算机系统。“专家”是某一专门领域的行家能手。专家之所以是专家,是因为他(她)们解决问题时具有超凡的能力和水平。(1)专家有丰富的专业知识和实践经验,或者说他拥有丰富的理论知识和经验知识,特别是经验知识;1.专家系统的概述(2)专家具有独特的思维方式,即独特的分析问题和解决问题的方法和策略。专家系统应该具备以下四个要素:(1)应用于某专门领域;(2)拥有专家级知识;(3)能模拟专家的思维;(4)能达到专家级水平。所以,准确一点讲专家系统就应该是:应用于某一专门领域,拥有该领域相当数量的专家级知识,能模拟专家的思维,能达到专家级水平,能像专家一样解决困难和复杂的实际问题的计算机(软件)系统。1.2专家系统的特点(1)从处理的问题性质看,专家系统善于解决那些不确定性的、非结构化的、没有算法解或虽有算法解但在现有的机器上无法实施的困难问题。(2)从处理问题的方法看,专家系统则是靠知识和推理来解决问题(不像传统软件系统使用固定的算法来解决问题),所以,专家系统是基于知识的智能问题求解系统。(3)从系统的结构来看,专家系统则强调知识与推理的分离,因而系统具有很好的灵活性和可扩充性。(4)专家系统一般还具有解释功能,即在运行过程中一方面能回答用户提出的问题,另一方面还能对最后的输出(结论)或处理问题的过程作出解释。(5)有些专家系统还具有”自学习”能力,即不断对自己的知识进行扩充、完善和提炼。这一点是传统系统所无法比拟的。(6)专家系统不像人那样容易疲劳、遗忘,易受环境、情绪等的影响,它可始终如一地以专家级的高水平求解问题。1.3专家系统的类型◆解释专家系统◆预测专家系统◆诊断专家系统◆设计专家系统◆规划专家系统◆监视专家系统◆控制专家系统◆调试专家系统◆教学专家系统◆修理专家系统解释专家系统◆任务:通过对已知信息和数据的分析与解释,确定它们的含义。◆特点:数据量很大,常不准确、有错误、不完全。能从不完全的信息中得出解释,并能对数据做出某些假设,推理过程可能很复杂和很长。◆例子:语音理解、图象分析、系统监视、化学结构分析和信号解释等。如,卫星图像(云图等)分析、集成电路分析、DENDRAL化学结构分析等实用专家系统。预测专家系统◆任务:通过对过去和现在已知状况的分析,推断未来可能发生的情况。◆特点:系统处理的数据随时间变化,且可能是不准确和不完全,系统需要有适应时间变化的动态模型,能够从不完全和不准确的信息中得出预报,并达到快速响应的要求。◆例子:气象预报、军事预测、人口预测、交通预测、经济预测和谷物产量预测等。如,恶劣气候(包括暴雨、飓风、冰雹等)预报、战场前景预测和农作病虫害预报等专家系统。诊断专家系统◆任务:根据观察到的情况(数据)来推断出某个对象机能失常(即故障)的原因。◆特点:能够了解被诊断对象或客体各组成部分的特性以及它们之间的联系;能够区分一种现象及其所掩盖的另一种现象;能够向用户提出测量的数据,并从不确切信息中得出尽可能正确的诊断。◆例子:医疗诊断、电子机械和软件故障诊断以及材料失效诊断等。如,用于抗生素治疗的MYCIN,肝功能检验的PUFF和血清蛋白诊断等医疗专家系统,计算机故障诊断系统,雷达故障诊断系统和太空站热力控制系统的故障检测与诊断系统等。设计专家系统◆任务:根据设计要求,求出满足设计问题约束的目标配置。◆特点:善于从多种约束中得到符合要求的设计结果;系统需要检索较大的可能解空间;能试验性地构造出可能设计,并易于对所得设计方案进行修改;善于分析各种子问题,并处理好子问题间的相互作用;能够使用已有的正确设计来解释当前新的设计。◆例子:VAX计算机结构设计专家系统、花布立体感图案设计和花布印染专家系统、大规模集成电路设计专家系统以及齿轮加工工艺设计专家系统等。规划专家系统◆任务:寻找出某个能够达到给定目标的动作序列或步骤。◆特点:所要规划的目标可能是动态的或静态的,需要对未来动作做出预测,所涉及的问题可能很复杂,要求系统能抓住重点,处理好各子目标间的关系和不确定的数据信息,并通过实验性动作得出可行规划。◆例子:军事指挥调度系统、ROPES机器人规划专家系统、汽车和火车运行调度专家系统以及小麦和水稻施肥专家系统等。监视专家系统◆任务:对系统、对象或过程的行为进行不断观察,并把观察到的行为与其应当具有的行为进行比较,以发现异常情况,发出警报。◆特点:系统应具有快速反应能力,应在造成事故之前及时发出报警;发出的警报要有很高的准确性,不能假报警;能够随时间和条件的变化动态地处理其输入信息。◆例子:可用于核电站的安全监视、防空监视与预警、国家财政的监控、传染病疫情监视及农作物病虫害监视与报警等。如粘虫测报专家系统是监视专家系统的一个实例。控制专家系统◆任务:自适应地管理一个受控对象或客体的全面行为,使之满足预期要求。◆特点:控制专家系统具有解释、预报、诊断、规划和执行等多种功能。◆例子:空中交通管制、商业管理、自主机器人控制、作战管理、生产过程控制和生产质量控制等方面。如,已经对海、陆、空无人驾驶车,生产线调度和产品质量控制等课题进行控制专家系统的研究。调试专家系统◆任务:对失灵的对象给出处理意见和方法。◆特点:同时具有规划、设计、预报和诊断等专家系统的功能。◆例子:可用于新产品或新系统的调试,也可用于维修站进行被修设备的调整、测量与试验。在这方面的实例还比较少见。教学专家系统◆任务:根据学生的特点、弱点和基础知识,以最适当的教案和教学方法对学生进行教学和辅导。◆特点:同时具有诊断和调试等功能;具有良好的人机界面。◆例子:MACSYMA符号积分与定理证明系统,计算机程序设计语言和物理智能计算机辅助教学系统以及聋哑人语言训练专家系统等。修理专家系统◆任务:对发生故障的对象(系统或设备)进行处理,使其恢复正常工作。◆特点:具有诊断、调试、计划和执行等功能。◆例子:美国贝尔实验室的ACI电话和有线电视维护修理系统。此外,还有决策专家系统和咨询专家系统等。1.4专家系统的结构专家系统包括两个主要模块:知识库和推理机。推理机知识库专家知识输入或提问答案下图为通用专家系统结构图。由于每个专家系统所需要完成的任务和特点不同,其系统结构也不尽相同,一般只具有图中部分模块。知识库数据库知识获取推理机解释器人机交互界面(1)知识库知识库用于存放系统求解问题所需要的领域专门知识,知识获取过程中获得的专门知识,以适当的知识表达式和结构形式存入知识库中。知识库一般由规则库、事实库和语义网络组成。规则库存放启发式知识;事实库存放应用领域所需的数据、信息和事实;语义网络用于表达领域的概念、事实、实体以及它们之间的关系。(2)数据库数据库用于存放所解问题的原始数据和推理过程中得到的各种中间信息。随着问题的不同,数据库的内容也是动态变化的。为了使推理机能方便地求解问题,数据的表示和组织形式应尽量和知识库的表示相容。(3)推理机推理机是一组程序,用来控制和协调整个专家系统的工作。当用户的要求、数据和事实输入到系统以后,推理机在一定的控制策略下,搜索知识库中的规则、事实和语义网络,并按正向推理或逆向推理的方式进行推理和判断,最后获得推理结果。(4)解释器解释器负责对推理出的结果做出必要的解释,包括系统的解题步骤、处理策略和选择处理方法的理由等内容。以便向用户说明推理过程,使用户容易接受推理结果,同时也有利于新手向专家系统学习,为用户维护和管理提供方便。(5)知识获取知识获取为建立知识库、修改知识库中已有知识和扩充新知识提供手段,用于把专家的知识转换和加工为计算机的内部表示,从而实现专家系统知识库的不断更新。(6)人机接口人机接口用于专家系统和用户之间的交互作用,负责把用户熟悉的自然语言、表格和图形等信息表示手段转换成内部表示形式,再交给各相应的组成部分去处理。专家系统输出的信息也用人机接口转换成用户能理解的形式,并显示给用户。1.5如何构建专家系统建立专家系统的一般步骤如下:(1)设计初始知识库。知识库的设计是建立专家系统最重要和最艰巨的任务。初始知识库的设计包括:①问题知识化,即辨别所研究问题的实质,如要解决的任务是什么,它是如何定义的,可否把它分解为子问题或子任务,它包含那些典型数据等。②知识概念化,即概括知识表示所需要的关键概念及其关系,如数据类型、已知条件(状态)和目标(状态)、提出的假设以及控制策略等。③概念形式化,即确定用来组织知识的数据结构形式,应用人工智能中各种知识表示方法把与概念化过程有关的关键概念、子问题及信息流特性等变换为比较正式的表达,它包括假设空间、过程模型和数据特性等。④形式规则化,即编制规则把形式化了的知识变换为由编程语言表示的可供计算机执行的语句和程序。⑤规则合法化,即确认规则化了的知识的合理性,检验规则的有效性。(2)原型机的开发与试验。在选定知识表达方法之后,即可着手建立整个系统所需要的试验子集,它包括整个模型的典型知识,而且只涉及与试验有关的足够简单的任务和推理过程。(3)知识库的改进与归纳。反复对知识库及推理规则进改进试验,归纳出更完善的结果。经过相当长时间(数月至2、3年)的努力,使系统在一定范围内达到人类专家水平。知识化概念化问题知识形式化规则化合法化概念结构形式规则重新阐述再设计改进2.专家系统的知识表示和推理2.1知识表示2.2知识获取2.3知识推理2.专家系统的知识表示和推理2.1知识表示知识表示是一种用来在专家系统的知识库中对知识编码的方法。2.1.1知识的类型◆过程性知识。描述如何解决问题,提供如何做事的建议。◆陈述性知识。描述问题的相关已知信息,包括断定为真或假的简单语句和一组更完整地描述一些对象或概念的语句。◆启发式知识。描述引导推理过程的规则。它是经验性的,并且表示专家通过求解过去问题的经验编译知识。专家将获取有关问题的基本知识,如基本法则、函数关系等,并且把它编译成简单的启发信息,以辅助问题求解。◆结构知识。描述知识的结构。这类知识描述专家对此问题的整体智力模型。2.1.2对象-属性-值三元组(O-A-V)棕色的头发对象颜色属性值O-A-V中表示的对象可以是物理项(如轿车、球),或者抽象项(如爱或痛苦)。属性是所考虑问题的重要对象特征,其值指定属性的赋值可以是布尔的、数字的或者字符串的。2.1.3规则规则指关联已知知识和待推测其他信息的知识结构。规则结构从逻辑上连接IF部分中一个或多个前提(也称条件)到THEN部分中的一个或多个后部(也称结论)。IF这个球的颜色是红的THEN我喜欢这个球一般来说,规则可以用AND语句、OR语句或两者组合连接起来的多个条件。其结论可以包含单条语句或AND连接的组合。这条规则也可以包含一个ELSE语句。IF今天(时间在)上午8点之后AND今天是工作日AND我在家OR我的老板打来电话,说我工作迟到了THEN我工作迟到了ELSE我工作没有迟到规则可以表示如下各种形式的知识:2.1.4框架框架是一种表示概念或对象的一成不变知识的数据结构。人们试图用以往的经验来分析与解释当前遇到的情况,但无法把过去的经验一一都存在脑子里,而只能以一个通用数据结构的形式存储以往的经验。这样的数据结构称为框架。框架通常由描述事物的各个方面的槽组成,每个槽可拥有若干个侧面,每个侧面又可以拥有若干个值。JohnIsa:PERSONProfession:PROGRAMMERHeight:1.8mWeight:79kg2.2知识获取知识获取过程:知识工程师领域专家知识库数据问题提问知识概念解答形式化结构化知识1.知识获取的任务(1)抽取知识:识别、理解、