第8章专家系统8.1专家系统的概念8.1.1什么是专家系统专家系统(Expertsystem)是一个智能计算机软件系统。人类专家的特点•具有丰富的专业知识和实践经验。•具有独特的分析问题和解决问题的方法和策略。专家系统应具备的要素•应用于某专门领域8.1专家系统的概念•拥有专家级知识;•能模拟专家的思维;•能达到专家级水平。专家系统的特点•专家系统善于解决不确定性的、非结构化的、没有算法解或虽有算法解但实现困难的问题。如:医疗诊断、地质勘探、天气预报、管理决策等。•专家系统是基于知识的智能问题求解系统。不同于常规程序基于固定算法。专家系统=知识+推理,常规程序=数据结构+算法。8.1专家系统的概念•从系统结构看,专家系统的知识与推理是分离的,因而系统具有很好的灵活性和可扩充性。•专家系统具有“自学习”能力,能不断地对自己的知识进行总结、扩充和完善。•具有解释功能。在运行过程中能回答用户的提问,并具有透明性,能以用户所能理解的方式解释得到结论的推理过程。•专家系统不像人类专家那样容易疲劳、遗忘和受环境影响。它的工作状态始终是稳定如一的。而且能够突破人类专家的时间和空间限制,永久保存,任意复制,在不同地区和部门使用。8.1专家系统的概念专家系统的实用范围用专家系统来提高工作效率人类专家的知识很快就要失传,必须通过专家系统来收集、保存和应用人类专家太少,必须建造专家系统来使专家们的知识同时应用于不同的地点。一些危险的工作环境需要专家系统来代替人类专家。8.1.3专家系统的类型1。按用途分类•解释型。根据所得到的有关数据、经过分析、推理,从而给出解释的一类专家系统。8.1专家系统的概念•诊断型。根据输入信息推出相应对象存在的故障、找出产生故障的原因并给出排除故障方案的一类专家系统。如医疗诊断、机器故障诊断、产品质量鉴定等专家系统。•预测型。根据相关对象的过去及当前状况来推测未来情况的一类专家系统。如天气预报、市场预测、地震预报等。•决策型。利用已知信息通过推理帮助决策的专家系统。如智能决策支持系统。•设计型。按给定要求进行相应设计的一类专家系统。如工程设计、电路设计、建筑及装潢设计、服装设计等领域。•规划型。按给定目标拟定总体规划、行动计划、运筹优化等的一类专家系统。如机器人动作控制、工程规划、军事行动规划等。专家系统的概念•控制型。用于对各种大型设备及系统实现控制的一类专家系统。•监测型。用于完成实时监测任务的一类专家系统。如病人监护、网络监测、航空监管等。•教育型。能用于辅助教学的专家系统。如制订教学计划、设计习题、水平测试等。按输出结果分类•分析型。工作性质属于逻辑推理,输出结果是个“结论”。如诊断型、解释型、预测型、决策型都属于分析型专家系统。•设计型。工作性质属于某种“操作”,输出结果是一个“方案”。专家系统的概念按知识表示分类产生式规则、一阶谓词逻辑、框架、语义网等。按知识分类精确推理专家系统和不精确推理专家系统。按技术分类符号推理专家系统和神经网络专家系统。专家系统的概念按规模分类大型协同式专家系统和微专家系统。按体系结构分集中式专家系统。对知识和推理进行集中管理的一类专家系统。分布式专家系统。知识库和推理机分布在计算机网上。专家系统的概念专家系统与知识系统专家系统与知识工程专家系统与人工智能8.2专家系统的结构8.2.1概念结构人机界面推理机解释模块知识库动态数据库知识库管理系统8.2专家系统的结构1。知识库•知识库就是以某种表示形式存储于计算机中的知识的集合。知识库中的知识包括专家知识、领域知识和元知识。元知识是关于调度和管理知识的知识。2。推理机•是专家系统实现推理的程序,专家系统的核心部分。•推理机使用知识库中的知识进行推理。推理机模拟专家的思维机制。是专家分析问题、解决问题的机器实现。•推理机的推理方法必须与知识的表示方法一致。8.2专家系统的结构3。动态数据库•类似于产生式系统中的动态数据库,是专家系统存放初始证据、事实、推理结果和控制信息的场所。•只在系统运行期间产生、变化和撤消。4。人机界面•专家系统与领域专家或知识工程师及一般用户间的接口,用于完成输入输出工作。•领域专家或知识工程师通过人机界面输入知识,更新、完善知识库。8.2专家系统的结构•一般用户通过它输入欲求解的问题、已知事实以及向系统提出询问。•系统通过它输出运行结果、回答用户的提问或向用户索取进一步的事实。解释模块•负责向用户解释专家系统的行为和结果。回答用户提出的“为什么?”、“结论是如何得出的?”等问题。8.2专家系统的结构知识库管理系统•负责知识库的建立、删除。知识的获取、维护、查询、更新等。•知识的检查,包括知识的一致性、冗余性和完整性检查。8.2专家系统的结构8.2.1具有“自学习”功能的专家系统人机界面推理机解释模块知识库动态数据库知识库管理系统自学习模块8.2专家系统的结构8.2.2实际结构实际问题的复杂性使得实际的专家系统机构变得复杂。专家系统模块只是整个系统中的一部分。也可能有多个专家系统模块。专家模块1专家模块m处理模块1处理模块n总控8.2专家系统的结构8.2.1地质图件绘制专家系统多媒体人机界面方法选择参数确定图件绘制图形评价IO接口动态数据库方法知识库参数知识库评价知识库自学习模块知识库管理系统8.2专家系统的结构分布式结构Client/Server结构知识库推理机人-机界面服务器客户机8.2专家系统的结构Browser/Server结构知识库推理机人-机界面WebServerBrowserInternet8.2专家系统的结构8.2.4黑板模型层次n层次2层次1知识源1知识源2知识源m黑板知识源监督程序调度程序控制机构8.2专家系统的结构8.2.4黑板模型有“黑板”、知识源,控制机构三部分组成。1。黑板•一个分层的全局工作区(全局数据库)。用来存储初始数据、中间结果和最终结果。高层是下层的抽象;下层是上层的实例。2。知识源•知识源也是分层的。每个知识源用来完成特定的解题功能。•一个知识源可视为一个大规则。条件部分称为知识源先决条件,动作部分称为知识元体。8.2专家系统的结构3。控制机构•控制机构是求解问题的推理机构,包括监督程序和调度程序。•监督程序监视着黑板状态,根据黑板状态采用一定的策略选择合适的知识源,将其条件部分防入调度队列,并与黑板状态匹配。•调度程序通过“聚焦”来优先使用调度队列中最重要的知识源来执行。8.3专家系统的应用与发展概况8.3.1专家系统的意义8.3.2专家系统的应用8.3.3专家系统的发展概况产生发展趋势8.4专家系统实例8.4.1PROSPECTOR的功能与结构1。勘探评价•对地质数据和信息进行分析和评价,预测成矿的可能性。并指导下一步应采集那些信息。2。区域资源评价•评价某一较大区域的地质资源分布情况。3。井位选择•当已知某一区域含有某种矿藏后,可以帮助选择最佳井位。PROSPECTOR的总体结构执行程序解释系统提问系统推理网络知识获取系统模型文件模型文件模型文件分类学文件网络编译程序传播程序匹配程序英语分析程序PARSEFILE程序用户PROSPECTOR的功能与结构执行程序•人机接口,负责接受用户输入的命令,解释命令的含义,并调用其他子系统。英语分析程序•负责理解用户用自然语言输入的信息。匹配程序•使用分类学词典比较各个语义空间的关系,把用户提供的信息加入推理网络中或检查推理网络的一致性PROSPECTOR的功能与结构传播程序•负责在推理网络中进行概率传播,实现不确定性推理。提问系统•负责向用户提问,要求用户输入数据。解释系统•用于解答用户的询问。网络编译系统•为在井位选择推理网络中传播图形信息,生成高效代码。知识获取系统•在运行时生成、修改或保存推理网络。8.5专家系统设计与实现8.5.1一般步骤与方法知识库管理系统设计系统总体分析与设计知识获取知识表示与知识描述语言设计推理机设计解释模块设计总控与界面设计其它功能模块设计知识库设计编程与调试测试与评价运行与维护8.5专家系统设计与实现快速原型与增量式开发先建立一个小型的系统“模型”,再不断地扩充和完善。知识获取1。人工获取•由知识工程师挖掘、搜集、分析、综合、整理知识,然后存入知识库。2。半自动获取•利用知识获取系统,采取提示、指导或问答的方式,帮助专家提取、归纳有关知识,并自动存入知识库。3。自动获取•机器学习。8.5专家系统设计与实现知识表示与知识描述语言设计按照知识的特点,选择一种知识表示方式,并为这种表示方式设计知识描述语言。知识描述语言就是具体的语法结构形式。知识库与知识库管理系统设计1。知识库设计•知识库结构的设计,即知识的组织形式。一般为层次结构或网状结构。•分布式知识库。8.5专家系统设计与实现2。知识库管理系统设计•知识操作功能设计。知识的添加、删除、修改、查询和统计等。•知识检查功能设计。知识的完整性、一致性、冗余性检查。知识库操作设计•知识库的建立、删除、分解、合并等。8.5专家系统的设计与实现推理机与解释功能设计推理机的设计在结构、层次上都应该与知识库相适应、相匹配。推理采用的方式、方法和控制策略。算法设计。解释机制的实现。对推理进行跟踪。8.5专家系统的设计与实现人机界面的设计面向系统开发和维护者的人机界面。一般采用图形用户界面,已达到很高水平。面向一般用户的界面。一般采用受限的自然语言的“人机对话”形式。多媒体技术的采用8.6专家系统开发工具与环境8.6.1专家系统开发工具1。面向AI的程序设计语言。LISP,PROLOG,Smalltalk,C++等。2。知识工程语言。•产生式语言系统OPS5(OfficialProductionSystem),OPS83;•框架知识表示语言FRL•多知识表示语言LOOPS等。•KEE(KnowledgeEngineeringEnvironment).1984年开发,基于框架、产生式规则、面向过程和面向对象的方法结合在一起。已用于建造卫星失灵诊断、金融保险分析、工厂控制模拟等领域的专家系统。8.6专家系统开发工具与环境•CLIPS(CLanguageIntegratedProductionSystem)是20世纪80年代以来广泛使用的通用语言工具。具有产生式系统的特征,同时集成了C语言的基本成分。于1985年由NASA推出。3。外壳系统。•专家系统外壳。提供了知识获取模块、推理机制、解释功能等。只须加上领域知识,建立起知识库就可构成一个如专家系统。如EMYCIN(EssentialMYCIN),KAS(KnowledgeAcquisitionSystem),EXPERT等。•开发效率高但灵活性较差。8.6专家系统开发工具与环境组合式构造工具。•提供多种知识表示方法和多个推理控制机构,使用户具有不同的选择余地。如AGE.8.6.2专家系统开发环境多种知识表示方式;多种不精确推理模型;多种知识获取手段;多样的辅助工具:包括数据库访问、电子表格、作图工具等;8.6专家系统开发工具与环境多样的友好用户界面。开发界面和用户界面,多媒体和自然语言接口;广泛的适用性。著名的一些开发环境。GURU,AGE(AttempttoGeneralize),ART(AutomaticReasoningTool)),天马等。8.7新一代专家系统研究深层知识专家系统;模糊专家系统;神经网络专家系统;分布式专家系统1.功能分布与知识分布•把专家系统的功能合理分解为若干个任务,并把多个任务分配到多个处理机上并行执行。•知识也合理划分并分配到多个处理机的本地存储器中。8.7新一代专家系统研究2。驱动方式•控制驱动。当某个任务模块工作时,直接将控制转到它,或将它作为一个过程直接调用。该方式最常用,实现方便。但并行性较差,推理效率不高。•数据驱动。任何一个任务模块只要当它所需的所有输入数据已经具备后即可自行启动工作,然后把输出结果送到相应的模块。可以提高并行推理效率。•目标驱动。当一个任务模块的输出被其它任务模块需要时才被启动执行。•事件驱动。比数据驱动更广义。当且仅当模块的相应事