第5 章 专家系统 专家系统是指能在某些特定领域内应用大量的专家知识和推理方法来求解复杂问题的 人工智能程序系统。专家系统的研究目标是模拟人类专家的推理思维过程。人们通常将领 域专家的知识和经验以知识表达的方式存入计算机系统,对输入的事实依据、存入的规则进 行推理,做出判断和决策。从20世纪60年代开始,专家系统的应用产生了巨大的经济效益 和社会效益,并成为倍受重视的智能应用系统。 5.1 专家系统的产生与发展 专家系统开创了人工智能从理论研究走向实际应用、从一般推理策略研究转向运用专 门知识推理求解的先河。 5.1.1 专家系统的产生 20世纪60年代初,出现了运用逻辑模拟心理活动的通用问题求解程序,这种程序可以 证明定理和进行逻辑推理。但这些通用方法无法解决大型实际问题,同时人们也很难将实 际问题定义成适合计算机求解的形式,并且解题所需的巨大的搜索空间也难以被解决。 1968年,著名的人工智能学者爱德华·费根鲍姆(EdwardA.Feigenbaum)教授等人在总结 通用问题求解系统的经验基础上结合化学领域的专门知识研制出了世界上第一个专家系统 Dendral,利用该系统,人们可以推断化学分子结构。 自此之后,专家系统的理论和技术不断发展,其应用现已渗透到多个领域,出现了大量 的专家系统,其中不少在功能上已达到甚至超过同领域中人类专家的水平,并在实际应用中 产生了巨大的经济效益。 第 5 章 专家系统 专家系统的发展已经历了3代,目前正向第4代过渡和发展。 1. 第一代专家系统 第一代专家系统(Dendral、Macsyma 等)以高度专业化、求解专门问题的能力强为主要 特点,但在体系结构的完整性、可移植性、系统的透明性和灵活性等方面存在不足,求解通用 问题的能力不强。 2. 第二代专家系统 第二代专家系统(Mycin、Casnet、Prospector、Hearsay等)属于单学科专业型应用型系统,其体 系结构较完整,移植性方面也有所改善,而且在系统的人机接口、解释机制、知识获取技术、不确 定推理技术、增强专家系统的知识表示和推理方法的启发性、通用性等方面都有所改进。 3. 第三代专家系统 第三代专家系统属于多学科综合型系统,人们已可采用多种人工智能语言,综合采用各 种知识表示方法和多种推理机制及控制策略,并开始运用各种知识工程语言、架构系统及开 发工具和环境来研制大型综合专家系统。 4. 第四代专家系统 在前三代专家系统的设计方法和实现技术的基础上,第四代专家系统已开始采用大型 多专家协作系统、多种知识表示、综合知识库、自组织求解、多学科协同求解与并行推理求解 机制、专家系统工具与环境、深度学习知识获取及学习机制等最新人工智能技术来设计与实 现具有多知识库、多主体的第四代专家系统。 5.1.2 专家系统的发展 未来的专家系统将能够经由感应器直接从外界接收信息,也可由系统外的知识库获得 信息。在推理机中,除推理外,还可拟定规划,仿真问题状况等。知识库所存的不只是静态 的推理规则与事实,还有规划、分类、结构模式及行为模式等动态知识。专家系统设计将更 加人性化,可实现人机交流。专家系统处理问题的能力和水平将会更高,存储的知识更多和 更全面,并可为多专家系统所共享。 未来的专家系统主要具有以下特征。 (1)并行分布式处理。 (2)多专家系统协同工作。 (3)高级系统设计语言和知识表示语言。 (4)自主学习功能。 (5)引入新的推理机制。 (6)具有纠错和自我完善能力。 (7)先进的智能人机接口。 5.专家系统的功能与特点 2 专家系统是一个能够推理的程序系统,其主要功能和特点如下。 5.2.1 专家系统的功能 (1)存储问题求解所需的知识。 88 人工智能基础 (2)存储具体问题求解的初始数据和推理过程中涉及的各种信息,如中间结果、目标和 假设等。 (3)根据当前输入的数据、利用已有的知识、按照一定的推理策略推理解决当前问题, 并能控制和协调整个系统。 (4)能够对推理过程、结论或系统自身行为给出解释,提供如解题步骤、处理策略、选择 处理方法的理由、系统求解某种问题的能力、系统如何组织和管理其自身知识等信息。这样 既方便用户理解和接受,同时也方便系统维护。 (5)提供知识获取、机器学习以及知识库的修改、扩充和完善等维护手段,进而更有效 地提高系统的问题求解能力及准确性。 请求 ( 。 6)提供一种用户接口,既可方便用户使用,又可方便分析和理解用户的各种要求和 5.2.2 专家系统的要素与特点 专家系统的知识存储与推理机构的分离使系统能够不断接收新的知识,从而确保知识 不断增长以满足实际工作的需要。专家系统强调的是知识而不是方法。这是由于很多复杂 问题没有基于算法的解决方案,或者算法方案过于复杂,但是,采用专家系统就可以利用人 类专家拥有的丰富知识解决问题,基于上述考虑,专家系统也称为基于知识的系统。 1. 专家系统的基本要素 一般来说,一个专家系统应该具备以下3个基本要素。 1)知识 基于知识的系统应具有求解问题所需的专门知识,主要包括应用领域的基本原理和领 域专家求解问题的经验知识。 (1)应用领域的基本知识:应用领域的基本知识构成了专门知识的主体,其可以被精 确地定义和使用,为普通技术人员所掌握。这类知识尽管是求解问题的基础,但并没有与问 题紧密结合,加之知识量大和推理步数少,并不能实现高效地问题求解。 (2)领域专家求解问题的经验知识:领域专家根据多年的工作经验,对使用应用领域 的基本原理和知识解决问题所做的高度集中、抽象和浓缩的描述,也就是这些知识使领域专 家能够高效、高质地解决困难和复杂的问题。 例如,表示状态数据和解答之间关联的启发式推理规则就是典型的经验知识,它们高度 概括了遵从领域基本原理和常识的大量基础性推理操作,免除了人们花费大量时间去做的 烦琐的运算,使问题求解过程可以大踏步地发展。然而,使用这类知识的条件比较苛刻,若 条件不满足则将导致不正确的解答甚至推理失败。基于这一点考虑,从高效地求解问题的 角度讲,知识系统更需要经验知识。而为了保证解答的正确性,知识系统还需要基本原理和 常识 2 。 )推理 能模拟专家的思维,具有使用专门知识的符号推理能力。这种能力取决于知识的符号 表示和推理技术,在第2章中已经介绍了知识的基本表示方法,系统可以使用产生式、语义 网络、框架系统和状态空间等表示应用领域的事物结构及事物之间的关系,使用产生式表示 方法可以表示启发式关联规则,而表示知识的符号结构更适于在知识库中存储和在推理机 第 5 章 专家系统 中使用。专家系统能模拟专家的思维求解,具有使用专门基于知识符号的推理能力。 3)水平 专家系统是模拟专家解决问题的程序系统,为了完成这一目的,需要人工专家系统能达 到人类专家级的解题水平。 2. 专家系统的特点 专家系统是一个基于知识的系统,其能够利用人类专家提供的专业知识并模拟人类专 家的思维推理过程,以此解决在人类专家看来相对困难的问题。一般来说,一个高性能的专 家系统应具备如下特点。 (1)启发性。专家系统不仅能使用逻辑知识,也能使用启发性知识,运用规范的专门知 识和直觉的评判知识进行判断、推理和联想,实现问题求解。 (2)透明性。专家系统允许用户在对系统结构不了解的情况下进行交互,了解知识的 内容和推理思路。另外,专家系统还能回答用户的一些有关系统自身行为的问题。 (3)有效性。专家系统的推理机能够根据已知的事实,通过运用知识库中的知识进行 推理求解。专家系统的核心是知识库和推理机,由于领域专家的知识大多是经验性知识,需 要解决的问题往往也是不确定性知识,但专家系统能够根据确定性知识和不确定性知识进 行推理,得出结论。 (4)灵活性。专家系统的知识库与推理机既相互联系又相互独立。相互联系表现在推 理机可用知识库中的知识进行推理,以实现问题的求解;相互独立表现在当前知识库被适当 修改和更新时,只要推理方式没有变化,推理机部分就可不变,使系统易于被扩充,具有较大 灵活性。 (5)交互性。专家系统具有友好的人机界面和交互性,一方面,专家系统需要与领域专 家和知识工程师进行对话,完成知识获取;另一方面,专家系统还需要不断地从用户获得所 需的已知事实,并回答用户的询问。这些都是专家系统的交互性体现。 3. 专家系统与传统的程序系统的区别 从上述介绍可以看出,专家系统与传统的程序系统不同。归纳起来,主要的区别如 表5-1所示。 表5- 1 专家系统与传统的程序系统的区别 项目传统的程序系统专家系统 处理对象数字符号 编程思想数据结构+算法知识+推理 求解知识隐含于程序中知识存于知识库中 解释功能不具有解释功能具有解释功能 产生结果正确的答案有时产生错误答案 处理方法算法启发式 处理方式批处理交互式 系统结构数据和控制集成知识和控制分离 90 人工智能基础 续表 项目传统的程序系统专家系统 系统修改难易 信息类型确定性不确定性 处理结果最优解可接受解 适用范围无限制封闭 从表5-1中可以看出,专家系统是一个启发交互式的符号系统。在结构上,其知识和控 制分离,修改容易,信息类型可为不确定性信息、处理结果可以提供不确定性解。显然,专家 系统与传统的程序系统功能不同,所以专家系统能够解决传统的程序系统不能解决的问题。 5.2.3 专家系统的类型 1. 基于知识表示划分 在专家系统中,常用的知识表示方法有逻辑、规则、语义网络和框架。基于知识表示不 同,可以将专家系统划分为如下4种类型。 (1)基于逻辑的专家系统:在基于逻辑的专家系统中,知识库主要由说明事实的谓词 逻辑子句构成,是采用了基于逻辑的知识表示和推理的专家系统。 (2)基于规则的专家系统:在基于规则的专家系统中,知识库主要由说明事实的产生 式规则构成,是采用了基于规则的知识表示和推理的专家系统。 (3)基于语义网络的专家系统:是采用了基于语义网络的知识表示和推理的专家 系统 ( 。 4)基于框架的专家系统:是采用了基于框架的知识表示和推理的专家系统。 2. 基于任务类型划分 基于任务类型不同,可以将专家系统划分如下12 种类型。 (1)解释型:可用于分析符号数据并阐述这些数据的实际意义。其可以根据表层信息 解释深层结构或内部情况的专家系统,如地质结构分析、物质化学结构分析等。 (2)预测型:可根据对象过去和现在的情况推断未来的演变结果,是根据现状预测未 来情况的专家系统,如气象预报、人口预测、水文预报、经济形势预测等。 (3)诊断型:可根据输入信息找到对象的故障和缺陷,根据对症状的观察分析推导产 生症状的原因以及排除故障的方法,典型应用如医疗、机械、经济等。 (4)调试型:给出确定的故障排除方案的专家系统。 (5)维修型:指定并实施纠正某类故障的规划的专家系统。 (6)规划型:根据给定目标拟定行动计划的规划型专家系统,主要用于制定行动规划, 如自动程序设计、军事计划的制定等。 (7)设计型:设计型专家系统是根据给定要求形成所需方案和图样、根据给定的产品 要求设计产品的专家系统,典型应用如建筑设计、机械产品设计等。 (8)监护型:监护型专家系统是完成实时监测任务、对某类行为进行监测并在必要时 候进行干预的专家系统,典型应用如机场监视、森林监视等。 第 5 章 专家系统 (9)控制型:是完成实施控制任务的专家系统,广泛应用于工业设计和过程控制,可为 解决工业控制难题提供一种新的方法,是实现工业过程控制的重要技术。 (10)教育型:是诊断型和调试型的组合,能够辅助教学的专家系统。 (11)决策型专家系统:是对可行方案进行综合评判并优选的专家系统。 (12)数学专家系统:是用于自动求解某些数学问题的专家系统。 5.专家系统的结构 3 专家系统是包含知识和推理的智能计算机程序系统。 5.3.1 产生式系统 基于规则的专家系统是使用基于产生式规则的系统。 1. 基于规则的推理 基于规则的专家系统中的知识由事实与产生式规则表示,并采用确定性正向推理方式 获得目标结果。 例5- 1 动物识别。 对蛇、鹦鹉、蜥蜴、猫四种动物识别。 1)产生式规则 (1)冷血+没有腿→蛇。 (2)冷血+有腿→蜥蜴。 (3)非冷血+有羽毛+会飞→鹦鹉。 (4)非冷血+没有羽毛→猫 。 2)事 实 (1)蛇冷血、没有腿。 (2)蜥蜴冷血、有腿。 (3)鹦鹉非冷血、有羽毛、会飞。 (4)猫非冷血、没有羽毛 。 3)推理过 程 (1)如果是冷血、有腿,经过2步正向推理,得到结果,即是蜥蜴。 (2)如果是冷血、无腿,经过2步正向推理,得到结果,即是蛇。 (3)如果是非冷血、有羽毛、会飞,经过3步正向推理,得到结果,即是鹦鹉。 (4)如果是非冷血、没有羽毛,经过2步正向推理,得到结果,即是猫 。 以上知识表示与推理的决策树如图5-1所示 。 2. 产生式系统的组成 产生式系统是一种问题求解系统,其由综合数据库、产生式规则库和控制系统三部分组 成,如图5-2所示。 1)综合数据库 综合数据库含有与具体任务有关的信息,随着应用情况的不同,综合数据库可能像数字 矩阵那样简单,也可能像文件检索结构那样复杂。 92 人工智能基础 图5- 1 决策树表示与推理图5- 2 产生式系统 一个典型的综合数据库的库结构如下。 Fact_idnameUsedbyTransExpect 各字段含义如下。 Fat_id:事实的编码。 name(c) :事实的名称。 Usedby:表示应用到该事实的某条规则。 Trans:事实的内容,统筹考虑应使其表示模式与推理机制相结合。 Expt:表示事实是否已知。 2)产生(e) 式规则库(c) 产生式规则库的规则可对数据库进行操作运算,其每条规则由左右两部分组成,左部分 鉴别规则的适用性或先决条件,右部分描述规则应用时所完成的动作,应用规则可改变数 据库。 产生式规则库由领域规则组成,按逻辑关系,一个产生式规则库中的规则一般可形成一 个称为推理网络的结构图。 产生式规则库的库结构如下。 Rule_idPremiseActionActiveUsed 各字段含义如下。 Rule_id:规则的代号。 Preie:规则的前件,即判断的条件。 Actin(m) :(s) 规则的后件,即条件符合时对应的结果,分为两类,即结论型和动作型。 Atie(o) :规则是否成立,成立为1,不成立为0。 Ud(c) :(v) 规则是否被使用过。 3)(s) 控(e) 制系统 控制系统决定应该采用哪一条适用规则,它决定了在数据库的终止条件得到满足时停 止计算。 控制系统执行机构是一个程序模块,负责测试或匹配产生式规则的前提条件、调度与选 第 5 章 专家系统 取以及规则体的解释和执行,即实施推理,并对推理进行控制,是规则的解释程序。它由控 制策略确定应该采用哪一条适用规则,当数据库的终止条件得到满足时,它将停止计算。推 理机的一次推理过程如图5-3所示。 图5- 3 推理机的一次推理过程 系统在从规则库中选择规则来与数据库的已知事实进行匹配时,可能有3种结果,如下 所示 ( 。 1)匹配成功,此条规则将列入被激活候选集。 (2)匹配失败,输入条件与已知条件矛盾,放弃该规则。 (3)匹配无结果,即该条规则前件的已知条件与输入事实完全无关,将该规则列入待测 试规则集,它将在下一轮匹配中再次被使用。 当匹配成功的规则多于一条时,需要从中选出一条加以执行。如果该规则的后件不是 问题的目标,那么就将其加入数据库中。如果这些后件是一个或者多个操作,那么系统将根 据一定的策略有选择有顺序地执行它。对要执行的规则,如果该规则的后件满足问题的结 束条件则停止推理。 产生式系统的推理可采用正向或反向两种基本方式。正向推理是从初始事实数据出 发,使用正向规则进行推理(即使用规则前提与动态数据库中的事实匹配,或使用动态数据 库中的数据测试规则的前提条件,然后产生结论或执行动作), 向目标方向前进;反向推理则 是从目标出发,使用反向规则进行推理(即使用规则结论与目标匹配,产生新的目标,然后对 新目标再做同样的处理), 往初始事实或数据方向前进。 3. 产生式系统的运行过程 产生式系统的运行过程也是一个搜索过程。系统运行时,除了需要有规则库以外,还需 要有初始事实(或数据)和目标条件。目标条件是系统正常结束的条件,也是系统的求解目 标。系统启动后,推理机就开始推理,按所给的目标进行问题求解。 一个实际的产生式系统目标条件一般不会只经一步推理就得到满足,往往需要经过多 步推理才能满足或者证明问题无解。所以,产生式系统的运行过程就是推理机不断将规则 库中的规则作用于动态数据库,进行推理并检测目标条件是否满足的过程。当推理到某一 步目标条件被满足时推理成功,系统运行结束;或者再无规则可用但目标条件仍未满足则推 理失败,系统运行也结束。 94 人工智能基础 4. 产生式系统的特点 1)优点 (1)自然性:由于产生式系统采用了人类常用的表达因果关系的知识表示形式,故其 既直观、自然,又便于推理。 (2)模块性:产生式是规则库中的最基本知识单元,形式相同,易于模块化管理。 (3)有效性:能表示确定性知识、不确定性知识、启发性知识、过程性知识等。 (4)清晰性:产生式有固定的格式,这既便于规则设计,又易于对规则库中的知识进行 一致性和完整性检测。 2)缺点 (1)效率不高:产生式系统求解问题的过程是一个反复进行“匹配-消解冲突-执行”的 过程。由于规则库一般都比较庞大,而匹配又是一件十分费时的工作,因此,其工作效率不 高。此外,在求解复杂问题时容易引起组合爆炸。 (2)不能表达具有结构性的知识:产生式系统对具有结构关系的知识无能为力,它不 能将具有结构关系的事物间的区别与联系表示出来,因此,经常需要将它与其他知识表示方 法(如框架表示法、语义网络表示法)相结合以表示知识。 3)产生式系统的适用领域 关系。 (1)具有许多相对独立的知识元组成的领域知识,彼此之间关系不密切,不存在结构 (2)具有经验性及不确定性的知识,而且相关领域中对这些知识没有严格、统一的理论。 (3)领域问题的求解过程可表示为一系列相对独立的操作,而且每个操作可表示为一 条或多条产生式规则。 (4)如果产生式规则的前提得到满足,则可得出结论或者执行相应的动作,即后件由前 件触发。 5.3.2 专家系统的基本结构 专家系统的基本结构如图5-4所示,通常由人机交互界面、推理机、解释器、知识库、综 合数据库和知识获取6部分构成,其中箭头方向为信息流动的方向。专家系统各部分的基 本功能说明如下。 1. 知识库 知识库具有结构化、易操作、易利用的特征,是全面而有组织的知识集群,是针对某一 (或某些)领域问题求解的需要而采用某种(或若干)知识表示方式在计算机存储器中存储、 组织、管理和使用的互相联系的知识片段的集合。这些知识片段包括与领域相关的理论知 识、事实数据、由专家经验得到的启发式知识,例如,某领域内有关的定义、定理和运算法则 以及常识性知识等。知识库是由人工智能和数据库技术有机结合发展的结果。 1)知识库的特点 (1)知识库中的知识根据应用领域特征、背景特征(获取知识时的背景信息)、使用特 征、属性特征等构成便于应用、有结构的组织形式,构建的知识片段呈现模块化的结构。 (2)知识库的知识是有层次的,最底层是事实知识,中间层是用来控制事实的知识(通 常由规则、过程等表示), 最高层次是策略,它以中间层知识为控制对象,是规则的规则。因 第 5 章 专家系统 图5- 4 专家系统的基本结构 此知识库的基本结构是层次结构,是由其知识本身的特性所确定。在知识库中,各知识片段 通常都存在相互依赖关系。规则是最典型的、最常用的一种知识片段。 (3)知识库中可有一种不只属于某一层次(或者说在任一层次都存在)的特殊形式的知 识,即可信度,或称信任度、置信测度等。对某一问题,有关事实、规则和策略都可标以可信 度,这样就形成了增广知识库。在数据库中不存在不确定性度量,因为数据库处理的一切都 属于确定型的。 (4)知识库中还可存在一个通常称为典型方法库的特殊部分。如果对某些问题的解决 途径是肯定和必然的,那么就可以将其作为一部分相当肯定的问题解决途径直接将之存储 在典型方法库中,这种宏观的存储将构成了知识库的另一部分。在使用这部分时,机器推理 将只限于选用典型方法库中的某一部分。 2)知识库系统的功能 知识库系统由知识库和知识库管理系统组成,知识库是知识库系统的子集,而知识库系 统主要功能如下。 (1)有序化处理信息和知识。知识库系统建立了知识库,必定要对原有的信息和知识 做一次大规模的收集和整理,按照一定的方法将之进行分类保存,并提供相应的检索手段。 经过这样处理之后,大量隐含知识实现了编码化和数字化,信息和知识便从原来的混乱状态 变得有序,方便了信息和知识参与检索,并为其有效使用打下了坚实的基础。 (2)加快知识和信息的流动,有利于知识的共享与交流。知识和信息实现了有序化,其 被寻找和利用时间显著减少,也便于流动。 (3)有利于实现组织的协作与沟通。将知识装入知识库有利于实现组织的协作与沟通。 (4)可以帮助企业实现对客户知识的有效管理。将客户的所有信息保存于知识库中可 以方便使用人员随时利用。 3)知识表示 为了使计算机能运用专家的领域知识,必须要采用一定的方式表示知识。常用的知识 表示方式有产生式规则、语义网络、框架、状态空间、逻辑模式、脚本、过程、面向对象等。基 于规则的产生式系统是实现知识运用最基本的方法。