1、 人 工 智 能 及 其 应 用 教 学 讲 义第五章 专家系统人工智能及其应用教学讲义 5-1 5.1 专家系统的基本概念专家系统,英文名称是 Expert System,简称 ES。1968 年由 Stanford(斯坦福)大学的 Feigenbaum(费根鲍姆)等研制的化学结构分析系统DENDRAL 系统,能够进行质谱数据分析,推断化学分子结构,达到了化学专家的水平。DENDRAL系统的问世,标志着专家系统的诞生。经过 20 年的研究开发,到 80 年代中期,专家系统已遍布各个专业领域,取得很大的成功。专家系统的迅速发展和成功应用,是人工智能从学科研究走向实际应用,从一般思维方法探讨转入
2、专门知识运用的重大突破。专家系统是当前人工智能研究与应用中,富有朝气,十分活跃的重要分支。一方面,专家系统是知识表达、知识推理、知识获取技术的应用对象;另一方面,专家系统也是研究知识表达、知识推理、知识获取技术的试验环境。专家系统也称为知识库专家系统,是基于知识库的知识利用系统,是人工智能的应用工程“知识工程”的典型代表,专家系统是知识信息处理的系统,是新一代计算机第五代计算机的技术基础,是第二次计算机技术革命,从数值信息处理转向非数值(知识)信息处理,具有新的转折意义的里程碑。一、专家系统的定义何谓专家系统?目前对此尚无一个精辟的、公认的定义。其主要原因是专家系统学科的历史还很短暂,其理论研
3、究工作刚开始不久,其次是由于各个应用领域的特点不同,人们研制的出发点、看问题的角度和追求的目标也不同。因此,对专家系统定义的看法也不同。尽管如此,专家系统还是有一个比较粗略而一致的定义:专家系统是一个在某特定领域内,用人类专家水平去解决该领域中难以用精确数学模型表示的困难问题的计算机程序。人类专家之所以能成为求解某领域问题的专家,其关键在于他掌握了求解有关领域问题的大量的专门知识。这些知识一部分是书本知识,但主要是在长期实践中逐渐积累起来的经验性知识。因此专家系统的基本思想是让计算机能够存贮某一领域的专门知识,并能像专家那样有效地利用这些知识去解决该领域的复杂问题。二、专家系统的特点1启发性通
4、常人们把具有严谨理论依据的专门知识称为逻辑性知识,而把没有严谨理论依据、主要来源于专家经验的知识称为启发性知识。启发性知识很难保证在各种情况下是普遍正确的,但在一定条件下用来解决问题往往能有效地简化问题或快速求得问题的解。使用启发性知识处理问题是人类推理的特征之一。人类专家的技能主要来源于启发性知识。因此,专家系统要达到人类专家处理问题的水平就必须能够存储和利用启发性知识,像专家那样,通过推理和判断来求解问题。专家系统的这个特点称为启发性。2透明性专门知识大都是人类专家在实践中积累起来的启发性知识,通常只有专家本人掌握。为了使用户对求得的结果放心,专家系统必须具有向用户解释推理过程、回答用户提
5、问的解释功能,使它对用户人工智能及其应用教学讲义 5-2 是透明的。3灵活性要把专家头脑中的经验知识全部而明确地表示出来不是一件容易的事,而要反复多次,不断扩充才能达到。况且这些启发性知识往往是有针对性的,在特定情况下才是正确的,情况变化后也要随之而变化。这就要求专家系统具有灵活性。系统中的知识要便于修改、扩充。三、专家系统的结构专家系统的结构是指专家系统各组成部分的构造方法和组织形式。系统结构选择恰当与否,是与专家系统的适用性和有效性密切相关的。选择什么结构最为恰当,要根据系统的应用环境和所执行任务的特点而定。目前对于专家系统的结构尚没有完全一致的看法。1基本结构实用专家系统的基本结构如图
6、5-1 所示,由 6 部分组成:知识库、数据库、推理机、知识获取、咨询解释和人机接口。其中知识库和推理机是核心部分。(1) 知识库:用于存放系统求解问题所需要的领域专门知识。知识获取过程中获得的专门知识,以适当的知识表达方式和结构形式存入知识库中。一个专家系统性能的高低,决定于知识库中知识的完善程度和良好的组织结构。它是开发专家系统的一项最关键的工作。知识库具有存贮、检索、修改等功能。(2) 数据库:用于存放原始数据和推理过程中得到的各种中间信息。为了使推理机能方便地求解问题,数据的表示和组织形式应尽量和知识库的表示相容。(3) 推理机:是用来控制、协调整个专家系统工作的一组程序。根据数据库中
7、的信息,利用知识库中的知识,按一定的推理策略去解决所研究的问题。推理机还具有向知识库添加新内容或删去旧内容的功能。为保证专家系统的透明性和灵活性,应力求知识库和推理机相分离,以免知识的修改引起推理机的变动。(4) 知识获取:为知识库的建立、修改和扩充提供手段。知识获取部分也称为学习功能。它在专家与系统交互过程中,发现需要修改、删除或增加的知识及由此引起的一切必要的改动,都要利用这部分。它是保证系统灵活性的必要部分。直接影响系统的生命力。(5) 咨询解释:负责对推理出的结果作出必要的解释。以便向用户说明推理过程,使用户容易接受推理的结果,同时也有利于新手向专家系统学习和为用户维护和管理专家系统提
8、供方便。(6) 人机接口:为用户提供直观方便的人机交互手段。为了使用方便,大多数专家系统有人机接口。人机接口负责把用户熟悉的信息表示手段(如自然语言、表格、图形) ,转换成内部表示形式,再交给各相应的组成部分去处理。专家系统输出的信息也由人机接口转换成用户能理解的形式显示给用户。人 机 接 口知识获取 咨询解释推理机数据库知识库专家 用户图 5-1 专家系统的基本结构人工智能及其应用教学讲义 5-3 2理想结构专家系统的理想结构如图 5-2 所示。(1) 语言处理程序:负责用户与系统之间的信息交流和转换。分析用户输入的信息,并将其转换为系统内部表示的形式;回答用户提出的问题;将系统内部存储的信
9、息转换成用户易于理解的形式,显示给用户等。(2) 黑板:用于记录系统在求解问题过程中所产生的中间假设和结果。它是沟通系统中各个部件的工作区,黑板中记录着三种信息:解题规划、记事簿和中间结果。解题规划 描述总体解题步骤,包括系统拟定达到的目标和子目标,为达到这些目标而制定的处理计划及实施这些计划所要求的条件和预期的状态等。记 事 薄 记录等待执行的动作,它们通常对应着知识库中与先前记录在黑板中的某一结果有关的规则。中间结果 表示系统到目前为止所生成的候选假设和中间结果及这些结果之间的依赖关系。(3) 解释程序:向用户解释系统的行为。回答用户提出的“为什么获得某些结论”和“为什么不选择另一种可能”
10、等问题。它应能从黑板中找出对回答用户的问题有意义的信息。此外,解释程序还应该能够回答用户提出的一些关于系统自身的问题,如系统求解某种问题的能力如何、系统如何组织与管理其自身知识等等。(4) 调度程序(调度器):管理、控制记事簿,决定下一步做哪个工作。在调度程序中可以利用一些策略性知识,指导对记事簿中各个项目的调度。因此,调度程序应根据解题计划和其它信息排定各个项目的优先级,这通常要估计规则应用的效果。(5) 执行程序(执行器):完成调度程序从记事簿上选出的待执行项目。通常情况下,执行程序检验所用规则的条件部分,把条件中的变量约束到黑板中的特定中间结果上,并把规则所预言的变化记录到黑板中。(6)
11、 一致性处理程序(协调器):保持系统所得出结果的前后一致性。当黑板的结果部分表示假设的判断,并且推得一些新数据时,维护一致性工作可以采用可能性修正;当结果部分表示逻辑结论和它们的真值关系时,一致性处理程序可能实现的是真值维护过程。多数专家系统使用某种数值调整方案决定每种潜在的结果的可信程度。这种方法试图确保可以得出可能的结论,同时又避免不一致的结论。至今还没有一个专家系统的结构包括图中所有部分,而只是根据其任务和特点由其中的几个部分组成。四、专家系统与传统程序的区别执行程序调度程序一致性处理程序记事簿黑板事实规则语言处理程序解释程序用户中间结果解题规划图 5-2 专家系统的理想结构人工智能及其
12、应用教学讲义 5-4 传统的程序设计方法可表示为:数据算法程序专家系统程序设计方法可表示为:知识推理程序尽管其形式相似而且均是用计算机软件求解问题,但实质上是不同的。前者按人事先指定的步骤求解问题(即指定它做什么) ,后者解题的步骤由程序自己(即推理)决定(即由它自己决定做什么) 。传统程序对于一个待解决的问题,首先要根据它的内在规律,建立一个数学和物理模型,然后用数值仿真的方法,以算法的形式将数值信息安排在计算机中,使机器按数学模型规定的步骤完成数据的处理和计算。解题的全部知识隐含在整个程序中,因而不易实现解释功能。专家系统对待解决的问题的内在规律往往不能只用数学模型来表示,许多地方还必须用
13、专门的经验知识(又称启发性知识)来表示。这些经验知识是以规则符号、形式语言或网络图等形式表示的。因此计算机处理的信息还必须有字符信息,而不全是数值信息。问题求解的过程不是按预先确定的步骤进行,而是根据环境、条件及要达到的目的,在控制策略指导下,通过推理搜索而寻找问题解答的过程。在理想的专家系统中,由于知识库和推理机是互相独立的,因此知识和推理是分开的。这样,不仅易于实现解释功能,而且因为在修改知识时只涉及到知识库,不会影响程序,使增减知识也很方便。专家系统和传统的程序在程序设计方面各有特点,其差别大致归纳如下:比 较 项 目 传 统 程 序 专 家 系 统领域知识的表达 数学模型和算法 规则、
14、框架等知识表示问题的求解 数值仿真 逻辑推理、判断处理的信息 数值信息 字符信息知识及知识处理 混在一起 明确分开影响可信度的因素 模型和算法的精度 事实和规则的可信度增大知识的方式 改程序模块,增减困难 修改知识库,容易解释能力 差 好五、专家系统的分类专家系统可按应用领域、知识表示技术、处理问题的特征和难度、用途性质等分类。按应用领域可分为: 医疗专家系统 化学专家系统 地质专家系统 按知识表示技术可分为: 基于逻辑的专家系统 基于规则的专家系统 基于框架的专家系统 按控制策略可分为: 正向推理专家系统人工智能及其应用教学讲义 5-5 反向推理专家系统 混合推理专家系统按用途性质可分为:
15、解释型专家系统:根据实验、勘测得到的信号数据,确定这些数据的含义。如著名的DENDRAL 专家系统就属于此类型,它通过质谱和数据分析的结果,判定有机化合物的分子结构,并进行解释。 诊断型专家系统:根据观察现象及测得的数据,推断系统故障的地点和性质。如医疗诊断专家系统 MYCIN、计算机硬件故障诊断系统 DART、化学处理工厂故障诊断系统 FALCON等。 预测型专家系统:根据过去和现在的数据来预报未来的趋向。如谷物黑夜盗蛾虫害系统PLANTcd、各种气象预报系统、军事冲突预测系统 I&W 等。 规划型专家系统:根据给定的目标及一定的约束条件来拟定计划。如安排宇航员实现空间站中活动的 KNEEC
16、AP 系统、制订最佳行车路线的 CARG 系统等。 设计型专家系统:根据给定的要求形成所需要的方案。如计算机的总体配置 XCON 系统、自动程序设计系统 PSI、超大规模集成电路辅助设计系统 KBVLSI 等。 监测型专家系统:用于完成实时监测任务的。如航空母舰周围空中交通管理系统 AIRPLA、核反应堆事故诊断与处理系统 REACTOR、高危病人监护系统 VM 等。 教育型专家系统:根据学生的问题,找出学习中存在的问题并提出解决方法。如计算机辅助医学、科学教育的 GUIDON 系统,医疗辅助教学的 NEOMYCIN 系统。 决策型专家系统 控制型专家系统 咨询型专家系统 调试型专家系统 修理
17、型专家系统 六、专家系统的优点专家系统的优点包括八个方面:1专家系统能够高效、准确、周到、迅速和不知疲倦地进行工作。2专家系统解决实际问题时不受周围环境的影响,也不可能遗漏忘记。3专家系统可以使专家的专长不受时间和空间的限制,以便推广珍贵和稀缺的专家知识与经验。4专家系统能促进各领域的发展,它使各领域专家的专业知识和经验得到总结和精炼,能够广泛有力地传播专家的知识、经验和能力。5专家系统能汇集多领域专家的知识和经验以及他们协作解决重大问题的能力,它拥有更渊博的知识、更丰富的经验和更强的工作能力。6军事专家系统的水平是一个国家国防现代化的重要标志之一。7专家系统的研制和应用,具有巨大的经济效益和
18、社会效益。8研究专家系统能够促进整个科学技术的发展。人工智能及其应用教学讲义 5-6 七、专家系统存在的问题目前,虽然专家系统的研制和应用已取得了重大进展,但是还存在许多有待解决的问题,如:1知识获取难 通常专家系统的知识获取主要依靠人工移植,由知识工程师将领域专家的知识移植到计算机中,这是间接的、费时的、效率不高的,是目前专家系统设计、开发中的“瓶颈”问题。2知识领域窄 目前,一般的专家系统只能在相当窄的专业知识领域内,求解专门性问题,对于相邻领域的边缘性问题,求解能力很差,对于其他不同领域的知识,则一无所知,是个文盲。存在所谓知识的“窄台阶”问题,不仅领域窄,而且台阶也薄,只有浅层的、表面
19、的、经验的知识,缺少深层的、本质的、理性的知识。3推理能力弱 由于推理方法简单、控制策略不灵活,所以,容易出现“匹配冲突” 、 “组合爆炸”或“无穷递归”等问题,推理速度慢、效率低,因而,解题能力也弱。4智能水平低 目前一般专家系统还不具备自学习能力和联想功能,不能在运行过程中自我完善、扩充知识;不能通过联想记忆、识别和类比等方式进行推理,只能“鹦鹉学舌”式模仿,不会“举一反三”地发挥。5系统层次少 现有的专家系统大多数结构简单、学科单一、缺乏层次。所以,只能应用在专门场合,求解较简单的问题,不适应于大系统、复杂问题,如:社会经济领域的管理决策问题。6建造周期长 采用“手工业、小生产”方式建造
20、专家系统,缺乏实用的专家系统开发工具,知识来源及获取困难等,是专家系统建造周期长的主要原因。7实用性能差 现有的许多专家系统都是在“离线” 、 “非实时”的条件下工作的,系统的可靠性、一致性、快速性、抗干扰性,往往还不适应“在线” 、 “实时”工作的需要,如专家控制系统。八、专家系统的新途径为了解决上述问题,需要探讨专家系统设计和开发的新途径,如:1知识获取工具 研究半自动或自动化的知识获取辅助工具,如:智能知识编辑器, “类自然语言”或自然语言的“专家专家系统”智能接口或对话(交谈)设备,文字、图象识别和感知系统。2综合知识库 研究大型的综合知识库及其管理系统,广义的知识表达技术,如:层次型
21、、关系型、网络型,集中或分布式知识库;广义模型化方法(知识模型与数学模型结合) 、综合知识表达技术等,以便表达、存储和管理多种学科、专业的知识;多种层次和深度的知识,如,经验知识、基本知识;专业知识、常识知识,一般知识、元知识。3自组织推理机 研究自组织推理机及其协调控制机制,以便专家系统能将多种推理方法相互结合、组织起来,如:确定性推理与非确定性推理;算法推理与启发推理,定性推理与定量计算;单调推理与非单碉推理;串行推理和并行推理;正向、反向与双向推理等。在协调策略控制下,灵活运用,协同解题。4自学习专家系统 研究具有学习和联想功能的专家系统,以及有关学习和联想方法,如示例归纳学习、类比联想
22、学习等。研制和开发相应的归纳推理机、联想知识库等,以构成自学习专家系统。5多级专家系统 研究多学科协同解题、多层次知识利用的多级专家系统。例如,从“大系统控制论”观点设计的“集中分散”式多级专家系统,由总体专家系统与各专业系统组成,可用于社会经济领域的管理和决策支持。人工智能及其应用教学讲义 5-7 6开发工具与环境 研究实用的专家系统开发工具与开发环境,以便缩短专家系统的设计与开发周期,进行批量或大量生产。7实用化与商品化 研制、设计与开发“在线” 、 “实时”应用的专家系统;提高系统的可靠性、快速性和抗干扰能力;开发便于在微型计算机或微机网络上实现的专家系统,开发各种应用专家系统技术的智能
23、化产品,如专家控制器、现场故障分析器等。5.2 医疗诊断专家系统 MYCIN 简介MYCIN 是斯坦福大学的 EShatliffe 等人从 1971 年开始研制的用于诊断和治疗感染性血液病的专家系统。其功能是诊断用户是否患有需要治疗的细菌感染病,给出建议性的诊断结果及处方。MYCIN 是将产生式规则从通用问题求解的研究转移到解决专门领域问题的一个成功的典范。MYCIN 系统的程序是在 TENEX 操作系统的支持下,用 INTERLISP 语言编写的,在 DECKI-10型计算机上实现的。MYCIN 编译代码大约占 50k 存储空间( 100 页) 。其中,知识库大约占 16k(32页) ,临床
24、数据占 28k(55 页) 。用户可以和系统进行实时的“人-机”交互。包括咨询解释在内,一次诊断咨询大约不超过 20 分钟。一、知识库MYCIN 的知识库由表达领域专门知识的产生式规则表示。每一条规则可以描述成如下的形式,例如:“若 细菌的染色斑是革兰阴性细菌的形态为杠状则 细菌可能是肠道感染细菌”在 MYCIN 中每一条规则还与一个说明其强度的值相联系,以表示所谓“不精确推理” 。MYCIN 系统包括有 400 多条上述形式的产生式。二、规则集设有下述规则:规则 R1“若 (1) 培养基部位已知(2) 样本是本周取的(3) 细菌导致一种值得注意的疾病则 可以确定感染部位就在相应的培养基上”规
25、则 R2“若 (1) 培养基部位没有用正规方法消过毒(2) 从培养基所取样本是消过毒的(3) 发现有大量细菌则 可以在很大程度上断定,该病菌已导致一种值得注意的疾病”为了诊断病人的感染部位,系统通过检索规则集中相应的规则,例如 R1,在调用 R1 时,要逐条人工智能及其应用教学讲义 5-8 测试其前提条件是否满足。假设条件(1)和(2)都能满足,但条件(3)需要进一步求证。于是系统又检索能导出条件(3)的规则,例如 R2,再测试 R2 的前提是否满足。这个过程递归地进行下去,就形成了将若干条规则相互连接的“规则链” 。三、诊断策略MYCIN 采用反向推理的控制策略。系统的顶层目标是要诊断病人是
26、否患有细菌感染,并确定采用相应的疗法,提出使用抗菌素的建议。推理过程将形成由若干条规则链构成的“与/或”树。MYCIN 用“深度优先法”进行搜索。四、不精确推理MYCIN 用“可信度”CF(0CF1)来表示一条规则的强度(即当规则的前提为真时,结论为确定的程度) 。CF 通常由专家凭经验给出。在系统运行过程中 CF 通过规则链进行传递,而影响推理的各个子目标,这个过程就构成系统的不精确推理。带有 CF 值的规则可以表示成下述形式:规则 R3“若 (1) 培养基是咽喉(2) 细菌特征为链球菌则 细菌不是 D 型,可信度 0.8”五、解释机制MYCIN 能够回答用户提出“为什么?”和“怎样得到?”
27、等问题,以解释为什么要这样做和怎样得到结论等推理行为。MYCIN 通过记录系统运行所形成的 “与/或”树来实现其解释功能。例如,用户可能提出“为什么我必须回答这个问题?”系统就会显示:“为了求证某个子目标”需要相应的信息。而用户提出“怎样得到这个诊断结论?”时,系统就可以将推理的过程显示给用户。六、系统结构和推理过程MYCIN 的系统结构如图 5-3 所示。MYCIN 的主要推理过程为:(1) 诊断用户是否患有需要治疗的细菌感染疾病。(2) 判定感染的病菌的类型。(3) 决定适用于治疗此类细菌感染的抗菌素药物。(4) 针对病人情况,选取最合适的抗菌素治疗处方。该推理过程如图 5-4 所示。图
28、5-3 MYCIN 的系统结构知识获取规则集静态、动态咨询程序解释解释问答程序推理机控制程序MONITORFINDOUT知识库专家(医生) 用户(病人)学习程序咨询 判断是否有病判别细菌类型确定抗菌类药优选治疗处方处方人工智能及其应用教学讲义 5-9 图 5-4 MYCIN 的推理过程5.3 专家系统的设计与开发一、专家系统的选题原则专家系统的研制是一项费时的工作。能否在较短的时间内建立一个实用而成功的专家系统,关键在于被解问题选择得是否适当。经过较长时期的探索和实践,人们总结了一些指导专家系统选题的一般原则。(1) 所研制的课题没有确切的数学模型、算法,而是靠领域专家的经验知识,通过启发式的
29、方法来解决;或是需要将基于经验的判断与基于数值分析的结果结合起来而求得解的。(2) 领域专家的知识能清楚地用语言来表达。目前根据感觉和直觉(如品尝专业)或技能(如外科专业)的领域,还不太合适用专家系统来实现。(3) 具有有用的、得到承认的经验,而且有既有丰富经验、善于表达,又乐于合作的领域专家。(4) 限于目前知识工程技术的水平,研制的问题难度应适中。太简单的(如只需几十条知识的问题) ,使专家系统失去实用价值;太复杂的问题(如要上万条知识才能解决的问题)使专家系统的结构太复杂,不易实现,即便能实现,该系统处理问题的效率和水平也太低。(5) 原始数据不是精确可知的,而是较“模糊”且不完整的问题
30、,宜用专家系统解决。当然,上述原则也不是绝对的。对一些复杂的大型问题往往要把数值计算和专家经验结合起来(如规划问题) ,以及虽有数学模型,但计算时间太长,赶不上实时控制的要求,如果加上专家的经验,就能一边计算,一边进行启发性推理,迅速得出结论。二、专家系统的设计原则专家系统是基于计算机软件的典型的知识工程系统,它的设计应遵循软件工程和系统工程的基本原则。在设计过程中应遵循以下原则:(1) 领域专家与知识工程师相互合作,是知识获取成功的关键。(2) 用户参与专家系统的设计和开发,有助于“人-机”接口设计,以及系统的运行和评价。(3) 为了便于实现解释功能、知识获取功能和修改、扩充功能,在程序设计
31、时一定要注意将知识库和推理机分离开来,而且推理机应尽量简化。(4) 为了便于统一管理,管理系统的知识尽量使用统一的知识表示方法。(5) 为弥补知识的不完整和不精确性,应尽量利用具有不同优点的多来源知识来求解问题。(6) 采用专家系统开发工具进行辅助设计,借鉴已有系统经验,提高设计效率。三、专家系统的开发步骤要建造一个专家系统,知识工程师最主要的工作是通过和领域专家的一系列讨论,获取该领域专门问题的专业知识,再进一步概括,形成概念并建立各种关系,然后把这些知识用合适的计算机语言组织起来并建立求解问题的推理机制,建立原型系统,最后通过测试评价,在此基础上进行改进以获得预期的效果。人工智能及其应用教
32、学讲义 5-10 归纳起来,建造专家系统可分 3 个阶段:(1) 进行可行性研究:面对模糊不清的用户要求,首先应明确要达到的目标,并研究技术上实现的可能性。(2) 生成系统原型:在前一阶段工作的基础上,生成一个专家系统原型,进而测试其性能。(3) 生成实用专家系统:知识的数量在使用中不断增加,达到用户提出的各种要求,形成实用的专家系统。其中原型设计是关键,但实用阶段也要给予充分重视,否则只是空中楼阁。专家系统原型设计一般可分 5 个步骤来实现,如图 5-5 所示。图 5-5 设计原型专家系统的步骤1认识阶段知识工程师和领域专家一起交换意见,探讨对所考虑问题的认识,目的是认识待研究问题的特征及其
33、知识结构。找到问题的知识领域、专业范围、定义、特点、求解的方式和方法及经验等。2概念化阶段这阶段要使认识阶段提出的一些概念和关系变得更明确,将有关知识和经验条理化、层次化、系统化(如用文字或图表来表达它们) ,使形成的概念和问题求解过程的思路一致。3形式化阶段形式化过程是把上一阶段孤立处理的概念、子问题及信息流特征等用知识工程将其形式化,即根据上阶段的概念建立模型,找出相应的知识表示方法和求解问题的方法,以便在计算机中存储、检索和管理,进行知识库及推理机的设计。这是建造专家系统中最关键和最困难的一步。4实现阶段选取合适的程序设计语言(如 LISP、PROLOG) ,在相应的计算机上,根据已建立
34、的各种模型,建成专家系统原型。5测试阶段对所设计的原型系统进行性能测试、验证评价,以便进一步修改、扩充和完善。可选择几个具体典型实例作为系统的输入,使系统运行,进一步发现知识库和控制结构的问题。实用专家系统设计和开发过程是上述步骤不断反馈、逐步进化、完善的过程,直到获得所希望的性能为止。四、专家系统的评价认识问题的特性找出概念,建立关系提出要求设计组织知识的结构建立知识库及推理机制检验知识库及系统的功能建立知识表示和推理方法再改进再设计再分析再认识形成概念原型系统认识阶段 概念化 形式化 实现 测试人工智能及其应用教学讲义 5-11 1评价的目的评价专家系统的目的主要是检查程序的正确性和有用性
35、。由领域专家做出的评价有助于确定装入知识的准确性以及由系统提供的建议和结论的准确性。用户的评价结果,有助于确定系统的有用性。在专家系统被用户采纳之前,要进行一些正式的测试和评价,它将影响系统在用户心目中的可依赖性和使用程度。因此,在设计评价时,必须注意其目的(为谁而做?评价什么?) 。通常,评价的主要内容有以下几点:(1) 系统结论的质量(正确性和可信度等) ;(2) 系统设计方法的正确性(知识表示方法,推理方法,控制策略,解释方法等的正确性) ;(3) 人机交互的质量(交互性能,使用方便等) ;(4) 系统的效能(推理结论,求解结果,咨询建议的技术经济和社会效益,应用范围是否可扩充、更新等)
36、 ;(5) 经济效益(软硬件投资、运行维护费用,设计、开发费用,系统运行取得的直接或间接经济效益等) 。2评价的原则(1) 复杂的事物或过程不能够以单项标准或数量来作评价。(2) 不同的评价标准和进行测定的数据量越多,则构成总体评价的信息也就越多。(3) 人们根据各自的兴趣产生出的不同标准之间的差别,会引起争论,结果可能是不同的(4) 只要能够准确地定义测试,就什么都可以经过实验测试。3评价的指标评价指标根据评价目的和评价原则来制订,各项指标之间应不重复。不同的专家系统,其评价指标是不一样的。某专家系统的评价指标如下:(1) 可更新性:反映根据新的输入的变更来修改输出的能力。(2) 易使用性:
37、能够明确地理解,与用户的界面友好且容易实现。(3) 硬件:可移值性。可使用性和可存取性等。(4) 经济效益:解决问题所需要的经费和能够获得的利益。(5) 功能:推理能力、知识获取功能和解释功能等。(6) 质量:回答的正确性、一致性和完整性。(7) 设计周期:研制专家系统所需要的时间(以“人年”计算) 。4评价的方法通常,评价系统时应按评价内容的层次由低到高逐级进行,即先评价系统的性能,再评价系统的灵活性。逐级评价的优点是便于确定系统未能通过评价的原因所在。例如,如果系统已通过了前面的各种评价,而在用户环境下性能较低,未能通过用户的评价。系统研制人员便可以确定未能通过评价的原因不在于系统本身的性
38、能,而是由于系统的人机接口不完善,致使用户不能正确地使用系统。因此可以致力于改善系统的使用手段,提高系统的可接受性。评价专家系统的性能最好采用实际应用后反馈回来的信息为标准,如用于电力系统日负荷计划的专家系统,它可以客观地评价系统的性能。但有些问题不容易短期内获得实际反馈信息(如故障分析专家系统) ,对这类问题可利用以前积累的资料来评价系统的性能。对于资料积累不太丰富的问题和根本没有或尚未建立反馈渠道的问题,只有借助于同行专家的评人工智能及其应用教学讲义 5-12 议了。五、专家系统开发工具专家系统在理论上和实践中都取得了巨大的成功。但目前的专家系统开发大都是以手工方式进行的,使专家系统开发工
39、作受到很大的限制,科技和生产的发展已很有必要将其提高到半自动化甚至自动化的阶段研究专家系统开发工具,以便构造出更复杂的领域专家系统。1研究开发工具的作用与意义从建造专家系统的实践中,人们发现:(1) 建造一个实用的专家系统是一件非常复杂的事情,尤其是开发人员、知识工程师与专家之间的协作,使事情变得更加复杂。一般来说,开发一个难度适中的专家系统大约需要 810 人年的工作量。由于专家系统的开发工作是系统逐渐进化的过程,并且在开发周期内需要随时根据反馈信息对系统的设计方案进行修改。因此,1 个人工作 4 年,不等于 2 个人工作 2 年,需要恰当的配合。(2) 由于不同领域的知识表示不同,因此在手
40、工开发专家系统时,对不同的领域专家系统必须从头开始建造。(3) 由于手工开发的生产能力较低,技术尚不成熟,使得系统难以建成更为复杂、更为全面的系统。为了提高专家系统设计和开发的效率,缩短研究周期,扩大研制实用专家系统的队伍,迫切需要研究专家系统的开发方法和工具,以便提供一个开发专家系统的计算机辅助手段和环境,提高专家系统生产的产量、质量和自动化水平。2专家系统开发工具的类型尽管目前有许多开发工具,其部分功能可能会相互覆盖,如人机接口技术、问题的解释、系统的维护和修改等,但就系统构造背景、目标和知识库、推理机提供的功能来说,专家系统的开发工具大致可分为 4 类:(1) 通用程序设计语言从广义上讲
41、,它是开发专家系统最初的工具。最常用的智能语言是 LISP 和 PROLOG,但也包括FORTRAN、C 和扩展 BASIC 等高级语言。(2) 骨架系统这类工具有 EMYCIN,EXPERT ,KAS 和 PC 等。它是从许多实践证明有实用价值的专家系统中,将领域知识(包括静态知识和动态知识)独立表示成规则形式,构成特定任务的知识库,而将原有系统的其他部分构成为程序包的集合,可把它称为“预制程序包系统” 。当要建造另一个新专家系统时,只要用一种不同类型任务的知识库,代替原有的知识库即可。但由于不同类型问题的知识表示、控制机制等方面表示方法不同(且还有待进一步深化研究) ,所以对一个具体的骨架
42、系统,其所适用的知识库的类型、范围还不够广泛,因此,骨架系统还只能适用于建立相同领域的专家系统。(3) 通用知识表示语言这是根据专家系统的不同应用领域和人类智能活动的特征研制的适合多领域专家系统开发的语言系统。这类工具的典型系统有 ROSIE,HEARSAY-III 和 OPS(OPS5,OPS83 ) 。由于它们并不严格地倾向于特定的领域和范例系统,所以比骨架系统的限制要少些。这种语言系统试图通过通用知识表示技术和控制通用性的研究,寻找出一套可以按用户的要求去人工智能及其应用教学讲义 5-13 描述所需的知识表示和控制机制的方式。系统允许用元规则(有关规则的规则)或一种语言来描述与其它知识相
43、独立的控制知识,以便去控制系统的推理过程和解释推理的合理性。语言本身并不会有任何特定的推理机制和知识库,但由于人们对知识表示的本质的研究工作尚未取得根本性的进展,所以要想找出一种十分有效的通用知识表示语言有许多困难。因此,这种工具虽可用于广泛的应用领域,但从本质上讲,并不是完全通用的,还有一定的局限性。(4) 组合开发工具组合开发工具不是通用语言,而是一种初级开发环境,它和通用知识表示语言所采取的策略不同,它是在总结目前已知的知识表示形式、控制机制和辅助设施基础上,精心选择其分解为很小的基本构件,构成描述多种类型的推理机制和多种任务的知识库预制件以及建立起这些构件的辅助设施。这种组合开发工具系
44、统可以帮助系统开发者选择各种结构,设计规则语言和使用各种预制件,使其成为一个完善的专家系统。由于目前很难确定哪一种基于知识的问题求解方法是非常适合某一领域的,所以也就很难确定怎样组织该领域专家系统的生成系统。从已有的专家系统来看,特定领域知识的处理是与人工智能理论密切相关的,以致于很难应用于其他的领域。因此,专家系统的设计者要么像骨架系统一样,几乎所有的系统设计和实现方法的选择均是针对领域的要求进行的;要么像通用知识表示语言那样,在系统设计和实现方面几乎很少有为特定用户考虑的。这是两种极端的情况,而组合开发工具则是介于二者之间,既要有一定的针对性,希望能得到较高的效率,又要有一定的通用性,使其
45、应用范围可以广泛些。5.4 专家系统在电力系统中的应用一、应用的必要性和意义1从电力系统分析方法的历史演变来看在早期,电力系统的规模和复杂性相对较小,且计算机尚未广泛使用。因此,对于电力系统的分析只是着重于各个元件发电机、变压器、输电线等特性的研究,并建立相应的数学模型,而对整个电力系统只是经过粗略的、近似的简化,以求得一个解析解,从中得出对整个电力系统行为的定性的了解。例如,用于分析单机无穷大系统和两机系统暂态稳定的等面积法则、电机故障分析的对称分量法等等。随着电力系统规模的不断扩大和运行复杂性的不断增加,上述分析方法已不能适应实际的要求,也就是上述这种定性分析的结果不能真实地反映实际情况。
46、同时,由于计算机性能的迅速提高,各种应用软件的研制成功,将电力系统作为一个整体来建立数学模型,采用数值分析的方法来定量的求得其数值解。例如,基于代数方程数值求解的潮流计算,基于数值积分方法的暂态稳定计算等等。从而使电力系统的离线分析进入到一个新阶段。随后,为了提高电力系统运行的安全性和经济性,能量管理系统(EMS)得到了发展,引人了状态估计、在线安全分析与控制、最优潮流等在线应用程序。在这一时期,利用控制理论、数学规划技术的离线和在线决策支持系统得到了迅速发展,这些方法有效的应用于电力系统的运行、规划、设计之中。尽管计算机的离线与在线应用取得了卓有成效的进展,解决了电力系统中的大量重要问题。但
47、是人工智能及其应用教学讲义 5-14 在电力系统中仍有不少问题需要依靠领域专家(规划、设计人员,调度运行人员等)来解决,有的是依靠专家经验求解,也有的是将基于经验的判断与基于数值分析方法得到的结果融为一体来解决的。主要是由于以下原因:(1) 有些问题目前还不可能建立精确的、贴切反映实际的数学模型、包括反映它的约束条件等;(2) 由于问题的规模和复杂性太大,即使有大型计算机也难以在时域内得到完全基于数值计算的解;(3) 人类专家所采用求解问题的方法有些不能用算法或数学形式来表示,他们的经验来自于知识的积累、来自于心灵深处的体验,是启发式的、直觉的。由以上看出,专家系统弥补了单纯靠数学求解的不足,
48、它能解决某些传统数学方法求解难以或不能解决的问题。专家系统的应用是应运而生。2从求解方法上来看传统的求解方法是基于控制理论、数学规划和建模与仿真。它们是数值计算,计算机主要用来处理数字。而专家系统用以处理符号,引入了判断、推理、决策等功能。控制理论和数学规划技术的应用都是把电力系统的问题表示成多维空间,控制理论是微分方程和差分方程求解,数学规划则是线性和非线性代数方程求解。而专家系统也可把问题表示成状态空间与问题空间。它与控制理论和数学规划的差别是,它不仅反映数字,主要反映知识,且可表达不确定性知识。当问题规模很大时,就要依靠建模和仿真来求解问题。但传统的建模主要是建立问题本身的模型。而专家系
49、统也有建模的问题,但它主要是用来模拟求解问题的专家的行为。这种由模拟问题本身向模拟解题人员行为的变化是一种质的变化,是对传统方法的突破。由此看出,专家系统在电力系统中的应用将是传统方法的变革。二、应用的领域和现状国际大电网会议(CIGRE)于 1986 年成立了 TF07 课题小组,评估专家系统在电力系统中应用的发展趋势。通过对 15 个国家、68 个用于电力系统专家系统的调查、综合,该小组于 1988 年 3 月发表了一份调查报告。应用领域:可以把专家系统分成 6 类,即规划(14.3%)、监视(35.7%)、控制(27.6%)、系统分析(13.3%)、教育和仿真(3.1%)、其他(6.1%)。(1) 监视类:包括故障诊断、警报处理、事故评估。这一类在所开发的专家系统中占的比重最大。其主要原因是这一类问题的求解主要依据逻辑判断与推理,有比较容易抽取的知识(较完整的专家经验、运行规程和手册) ,有相对较小的搜索空间,所以特别适合应用