第三章 专家控制系统3.1 专家系统概述1.专家及专家系统的定义专家指的是那些对解决专门问题非常熟悉的人们,他们的这种专门技术通常源于丰富的经验以及他们处理问题的详细专业知识。
定义 3.1专家系统主要指的是一个智能计算机程序系统,其内部含有大量的某个领域专家水平的知识与经验,能够利用人类专家的知识和解决问题的经验方法来处理该领域的高水平难题。
也就是说,专家系统是一个具有大量的专门知识与经验的程序系统,它应用人工智能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,以便解决那些需要人类专家才能处理好的复杂问题。
简而言之,专家系统是一种模拟人类专家解决领域问题的计算机程序系统。
专家系统的基本功能取决于它所含有的知识,因此,有时也把专家系统称为基于知识的系统(knowledge-based system)。
3.1.1 专家系统的特点及优点1.专家系统的特点与常规的计算机程序系统比较,专家系统具有下列特点:(1)启发性 专家系统要解决的问题,其结构往往是不合理的,其问题求解(problem-solving)知识不仅包括理论知识和常识,而且包括专家本人的启发知识。
(2)透明性 专家系统能够解释本身的推理过程和回答用户提出的问题,以便让用户了解推理过程,增大对专家系统的信任感。
(3) 灵活性 专家系统的灵活性是指它的扩展和丰富知识库的能力,以及改善非编程状态下的系统性能,即自学习能力。
(4)符号操作。
与常规程序进行数据处理和数字计算不同,专家系统强调符号处理和符号操作(运算),使用符号表示知识,用符号集合表示问题的概念。
一个符号是一串程序设计,并可用于表示现实世界中的概念。
(5)不确定性推理。
领域专家求解问题的方法大多数是经验性的;经验知识一般用于表示不精确性并存在一定概率的问题。
此外,所提供的有关问题的信息往往是不确定的。
专家系统能够综合应用模糊和不确定的信息与知识,进行推理。
2.专家系统的优点(1) 专家系统能够高效率、准确、周到、迅速和不知疲倦地进行工作。
(2) 专家系统解决实际问题时不受周围环境的影响,也不可能遗漏和忘记。
(3) 可以使专家的专长不受时间和空间的限制,以便推广珍贵和稀缺的专家知识与经验。
(4) 专家系统能促进各领域的发展,它使各领域专家的专业知识和经验得到总结和精炼,能够广泛有力地传播专家的知识、经验和能力。
(5) 专家系统能汇集多领域专家的知识和经验以及他们协作解决重大问题的能力,它拥有更渊博的知识、更丰富的经验和更强的工作能力。
(6) 军事专家系统的水平是一个国家国防现代化的重要标志之一。
(7) 专家系统的研制和应用,具有巨大的经济效益和社会效益。
(8) 研究专家系统能够促进整个科学技术的发展。
专家系统对人工智能各个领域的发展起了很大的促进作用,并将对科技、经济、国防、教育、社会和人民生活产生极其深远的影响。
3.1.2 专家系统的结构与类型1. 专家系统的结构专家系统的结构是指专家系统各组成部分的构造方法和组织形式。
系统结构选择恰当与否,是与专家系统的适用性和有效性密切相关的,选择什么结构最为恰当,要根据系统的应用环境和所执行任务的特点确定。
例如,MYCIN系统的任务是疾病诊断与解释,其问题的特点是需要较小的可能空间、可靠的数据及比较可靠的知识,这就决定了它可采用穷尽检索解空间和单链推理等较简单的控制方法和系统结构。
与此不同的是,HEARSAY-Ⅱ系统的任务是进行口语理解。
这一任务需要检索巨大的可能解空间,数据和知识都不可靠,缺少问题的比较固定的路线,经常需要猜测才能继续推理等。
这些特点决定了HEARSAY-Ⅱ必须采用比MYCIN更为复杂的系统结构。
图3.1表示专家系统的简化结构图。
图3.2则为理想专家系统的结构图。
由于每个专家系统所需完成的任务和特点不同,其系统结构也不尽相同,一般只具有图中部分模块。
图3.1专家系统简化结构图图3.2 理想专家系统结构图专家系统的主要组成部分如下:(1) 知识库(knowledge base)知识库用于存储某领域专家系统的专门知识,包括事实、可行操作与规则等。
为了建立知识库,要解决知识获取和知识表示问题。
知识获取涉及知识工程师如何从专家那里获得专门知识的问题;知识表示则要解决如何用计算机能够理解的形式表达和存储知识的问题。
(2) 综合数据库(global database)综合数据库又称全局数据库或总数据库,它用于存储领域或问题的初始数据和推理过程中得到的中间数据(信息),即被处理对象的一些当前事实。
(3) 推理机(reasoning machine)推理机用于记忆所采用的规则和控制策略的程序,使整个专家系统能够以逻辑方式协调地工作。
推理机能够根据知识进行推理和导出结论,而不是简单地搜索现成的答案。
(4) 解释器(explainator)解释器能够向用户解释专家系统的行为,包括解释推理结论的正确性以及系统输出其它候选解的原因。
(5) 接口(interface)接口又称界面,它能够使系统与用户进行对话,使用户能够输入必要的数据、提出问题和了解推理过程及推理结果等。
系统则通过接口,要求用户回答提问,并回答用户提出的问题,进行必要的解释。
2.专家系统程序与常规的应用程序之间的区别一般应用程序与专家系统的区别在于:前者把问题求解的知识隐含地编入程序,而后者则把其应用领域的问题求解知识单独组成一个实体,即为知识库。
知识库的处理是通过与知识库分开的控制策略进行的。
更明确地说,一般应用程序把知识组织为两组:数据级和程序级;大多数专家系统则将知识组织成三级;数据、知识库和控制。
3. 专家系统的类型按照专家系统所求解问题的性质,可把它分为下列几种类型。
(1)解释专家系统(expert system for interpretation)解释专家系统的任务是通过对已知信息和数据的分析与解释,确定它们的涵义。
作为解释专家系统的例子有语音理解、图象分析、系统监视、化学结构分析和信号解释等。
(2)预测专家系统(expert system for prediction)预测专家系统的任务是通过对过去和现在已知状况的分析,推断未来可能发生的情况。
预测专家系统的例子有气象预报、军事预测、人口预测、交通预测、经济预测和谷物产量预测等。
(3)诊断专家系统(expert system for diagnosis)诊断专家系统的任务是根据观察到的情况(数据)来推断出某个对象机能失常(即故障)的原因。
诊断专家系统的例子特别多,有医疗诊断,电子机械和软件故障诊断以及材料失效诊断等。
(4) 设计专家系统(expert system for design)设计专家系统的任务是根据设计要求,求出满足设计问题约束的目标配置。
设计专家系统涉及电路(如数字电路和集成电路)设计、土木建筑工程设计、计算机结构设计、机械产品设计和生产工艺设计等。
(5)规划专家系统(expert system for planning)规划专家系统的任务在于寻找出某个能够达到给定目标的动作序列或步骤。
规划专家系统可用于机器人规划、交通运输调度、工程项目论证、通信与军事指挥以及农作物施肥方案规划等。
(6)监视专家系统(expert system for monitoring)监视专家系统的任务在于对系统、对象或过程的行为进行不断观察,并把观察到的行为与其应当具有的行为进行比较,以发现异常情况,发出警报。
监视专家系统可用于核电站的安全监视、防空监视与警报、国家财政的监控、传染病疫情监视及农作物病虫害监视与警报等。
(7)控制专家系统(expert system for control)控制专家系统的任务是适应地管理一个受控对象或客体的全面行为,使之满足预期要求。
空中交通管制、商业管理、自主机器人控制、作战管理、生产过程控制和生产质量控制等都是控制专家系统的潜在应用方面。
(8)调试专家系统(expert system for debugging)调试专家系统的任务是对失灵的对象给出处理意见和方法。
调试专家系统的特点是同时具有规划、设计、预报和诊断等专家系统的功能。
调试专家系统可用于新产品或新系统的调试,也可用于维修站进行被修设备的调整、测量与试验。
在这方面的实例还很少见。
(9)教学专家系统(expert system for instruction)教学专家系统的任务是根据学生的特点、弱点和基础知识,以最适当的教案的和教学方法对学生进行教学和辅导。
已经开发和应用的教学专家系统有美国麻省理工学院的MACSYMA符号积分与定理证明系统,我国一些大学开发的计算机程序设计语言和物理智能计算机辅助教学系统以及聋哑人语言训练专家系统等。
(10)修理专家系统(expert system for repair)修理专家系统的任务是对发生故障的对象(系统或设备)进行处理,使其恢复正常工作。
修理专家系统具有诊断、调试、计划和执行等功能。
美国贝尔实验室的ACI电话和有线电视维护修理系统是修理专家系统的一个应用实例。
此外,还有决策专家系统和咨询专家系统等。
3.1.3 建造专家系统的步骤与设计技巧成功地建立系统的关键在于尽可能早地着手建立系统,从一个比较小的系统开始,逐步扩充为一个具有相当规划和日臻完善的试验系统。
建立系统的一般步骤如下:(1) 设计初始知识库。
知识库的设计是建立专家系统最重要和最艰巨的任务。
初始知识库的设计包括:(a) 问题知识化,即辨别所研究问题的实质,如要解决的任务是什么,它是如何定义的,可否把它分解为子问题或子任务,它包含哪些典型数据等。
(b) 知识概念化,即概括知识表示所需要的关键概念及其关系,如数据类型、已知条件(状态)和目标(状态)、提出的假设以及控制策略等。
(c) 概念形式化,即确定用来组织知识的数据结构形式,应用人工智能中各种知识表示方法把与概念化过程有关的关键概念、子问题及信息流特性等变换为比较正式的表达,它包括假设空间、过程模型和数据特性等。
(d) 形式规则化,即编制规则、把形式化了的知识变换为由编程语言表示的可供计算机执行的语句和程序。
(e) 规则合法化,即确认规则化了知识的合理性,检验规则的有效性。
(2) 原型机(prototype)的开发与试验。
在选定知识表达方法之后,即可着手建立整个系统所需要的实验子集,它包括整个模型的典型知识,而且只涉及与试验有关的足够简单的任务和推理过程。
(3) 知识库的改进与归纳。
反复对知识库及推理规则进行改进试验,归纳出更完善的结果。
经过相当长时间(例如数月至二三年)的努力,使系统在一定范围内达到人类专家的水平。
专家系统的这种设计与建立步骤,如图3.3所示。
图3.3 建造专家系统的步骤2. 专家系统的设计技巧对专家系统设计者的唯一重要的建议是尽早地建立专家系统的原型,即实验样机系统。