1、人工智能原理及应用制作小组成员:张恒维 许荣泽 乌龟侠 刘寒静 目录一一.专家系统的介绍专家系统的介绍 1.什么是专家系统 2.专家系统的发展历程 3.专家系统的构造及工作过程二二.基于规则的专家系统基于规则的专家系统 1.基于规则的专家系统的基本特征 2.前向链接和后向链接推理技术 3.冲突消解三三.规则专家系统的有点和缺点规则专家系统的有点和缺点四四.实例展示实例展示 一一.专家系统的介绍专家系统的介绍1.什么是专家系统 专家系统是人工智能中最重要的也是最活跃的一个应用领域,它实现了人工智能从理论研究走向实际应用、从一般推理策略探讨转向运用专门知识的重大突破。专家系统是早期人工智能的一个重
2、要分支,它可以看作是一类具有专门知识和经验的计算机智能程序系统,一般采用人工智能中的知识表示和知识推理技术来模拟通常由领域专家才能解决的复杂问题。2.2.专家系统的发展历程专家系统的发展历程20世纪60年代初,出现了运用逻辑学和模拟心理活动的一些通用问题求解程序,它们可以证明定理和进行逻辑推理。但是这些通用方法无法解决大的实际问题,很难把实际问题改造成适合于计算机解决的形式,并且对于解题所需的巨大的搜索空间也难于处理。1965年,f.a.费根鲍姆等人在总结通用问题求解系统的成功与失败经验的基础上,结合化学领域的专门知识,研制了世界上第一个专家系统dendral,可以推断化学分子结构。20多年来
3、,知识工程的研究,专家系统的理论和技术不断发展,应用渗透到几乎各个领域,包括化学、数学、物理、生物、医学、农业、气象、地质勘探、军事、工程技术、法律、商业、空间技术、自动控制、计算机设计和制造等众多领域,开发了几千个的专家系统,其中不少在功能上已达到,甚至超过同领域中人类专家的水平,并在实际应用中产生了巨大的经济效益。专家系统的发展阶段专家系统的发展已经历了3个阶段,正向第四代过渡和发展。第一代专家系统(dendral、macsyma等)以高度专业化、求解专门问题的能力强为特点。但在体系结构的完整性、可移植性、系统的透明性和灵活性等方面存在缺陷,求解问题的能力弱。第二代专家系统(mycin、c
4、asnet、prospector、hearsay等)属单学科专业型、应用型系统,其体系结构较完整,移植性方面也有所改善,而且在系统的人机接口、解释机制、知识获取技术、不确定推理技术、增强专家系统的知识表示和推理方法的启发性、通用性等方面都有所改进。专家系统的发展阶段第三代专家系统属多学科综合型系统,采用多种人工智能语言,综合采用各种知识表示方法和多种推理机制及控制策略,并开始运用各种知识工程语言、骨架系统及专家系统开发工具和环境来研制大型综合专家系统。第四代专家系统是在在总结前三代专家系统的设计方法和实现技术的基础上,已开始采用大型多专家协作系统、多种知识表示、综合知识库、自组织解题机制、多学
5、科协同解题与并行推理、专家系统工具与环境、人工神经网络知识获取及学习机制等最新人工智能技术来实现具有多知识库、多主体的专家系统。3.3.专家系统的构造及工作过程专家系统的构造及工作过程 构造 专家系统通常由人机交互界面、知识库、推理机、解释器、综合数据库、知识获取等6个部分构成。其中尤以知识库与推理机相互分离而别具特色。专家系统的体系结构随专家系统的类型、功能和规模的不同,而有所差异。3.3.专家系统的构造及工作过程专家系统的构造及工作过程 为了使计算机能运用专家的领域知识,必须要采用一定的方式表示知识。目前常用的知识表示方式有产生式规则、语义网络、框架、状态空间、逻辑模式、脚本、过程、面向对
6、象等。基于规则的产生式系统是目前实现知识运用最基本的方法。产生式系统由综合数据库、知识库和推理机3个主要部分组成,综合数据库包含求解问题的世界范围内的事实和断言。知识库包含所有用“如果:前提,于是:结果”形式表达的知识规则。推理机(又称规则解释器)的任务是运用控制策略找到可以应用的规则。3.3.专家系统的构造及工作过程专家系统的构造及工作过程知识库 知识库用来存放专家提供的知识。专家系统的问题求解过程是通过知识库中的知识来模拟专家的思维方式的,因此,知识库是专家系统质量是否优越的关键所在,即知识库中知识的质量和数量决定着专家系统的质量水平。一般来说,专家系统中的知识库与专家系统程序是相互独立的
7、,用户可以通过改变、完善知识库中的知识内容来提高专家系统的性能。3.3.专家系统的构造及工作过程专家系统的构造及工作过程推理机 推理机针对当前问题的条件或已知信息,反复匹配知识库中的规则,获得新的结论,以得到问题求解结果。在这里,推理方式可以有正向和反向推理两种。3.3.专家系统的构造及工作过程专家系统的构造及工作过程其他部分 人机界面是系统与用户进行交流时的界面。通过该界面,用户输入基本信息、回答系统提出的相关问题,并输出推理结果及相关的解释等。综合数据库专门用于存储推理过程中所需的原始数据、中间结果和最终结论,往往是作为暂时的存储区。解释器能够根据用户的提问,对结论、求解过程做出说明,因而
8、使专家系统更具有人情味。知识获取是专家系统知识库是否优越的关键,也是专家系统设计的“瓶颈”问题,通过知识获取,可以扩充和修改知识库中的内容,也可以实现自动学习功能。3.3.专家系统的构造及工作过程专家系统的构造及工作过程 工作过程 专家系统的基本工作流程是,用户通过人机界面回答系统的提问,推理机将用户输入的信息与知识库中各个规则的条件进行匹配,并把被匹配规则的结论存放到综合数据库中。最后,专家系统将得出最终结论呈现给用户。二二.基于规则的专家系统基于规则的专家系统1.基于规则的专家系统的基本特征在20世纪70年代早期,来自卡内基-梅隆大学的Newell和Simon提出了产生式系统模型,为现代的
9、基于规则的专家系统奠定了基础(Newell and Simon,1972)。产生式模型的思路是,对于一个用相关信息表达了的指定问题,人类运用知识(用产生式规则表达)能够解决。产生式规则存储在长期存储器中,问题相关的信息或事实存储在短期存储器中。图2.2是产生式系统模型和基于规则的专家系统的基本结构。二二.基于规则的专家系统基于规则的专家系统二二.基于规则的专家系统基于规则的专家系统基于规则的专家系统由5个部分组成:知识库、数据库、推理引擎、解释设备和用户界面。知识库包含解决问题相关的领域知识。在基于规则的专家系统中,知识用一组规则来表达。每一条规则表达一个关系、建议、指示、策略或启发式方法,具
10、有IF(条件)THEN(行为)结构。当规则的条件被满足时,触发规则,继而执行行为。数据库包含一组事实,用于匹配存储在知识库中的IF(条件)部分。推理引擎执行推理,专家系统由此找到解决方案。推理引擎链接知识库中的规则和数据库中的事实。31用户使用解释设备查看专家系统怎样得出解决方案的过程,以及为什么需要特定事实。专家系统必须能够解释推理并证明所给的建议、分析或结论。用户界面是实现用户(查询问题解决方案)和专家系统之间交流的途径,这一途径必须有实际意义并尽可能地友好。这5个部分对于任何基于规则的专家系统来说都是不可或缺的,它们共同构成了专家系统的核心,除此之外也会有其他附加组件。二二.基于规则的专
11、家系统基于规则的专家系统外部接口允许专家系统融合外部数据文件和以常用语言编写的程序,开发者接口一般包括知识库编辑器、调试工具,以及输入/输出设备。任何专家系统框架都会提供简单的文本编辑器,用于输入和调整规则、检查格式和拼写。许多专家系统也包括记录设备,用于监测32知识工程师或专家所做的修改。如果规则被改动,编辑器将自动存储改动日期和做改动的人,以便后面参考。当有多个知识工程师和专家都有权进入知识库并做修改时,记录设备尤其重要。二二.基于规则的专家系统基于规则的专家系统调试工具一般包含跟踪设备和断点包。跟踪设备提供程序执行过程中被触发的规则列表。使用断点包则能提前告诉系统哪里该中断,以备知识工程
12、师或专家即时查看数据库中的当前值。多数专家系统还提供输入/输出设备,例如运行时知识获取器,以便运行中的专家系统获取数据库之外的必需信息。当知识工程师或专家输入所需信息后,系统接着往下运行。总之,开发者接口、知识获取设备使得领域专家能够直接将知识输入专家系统,以减少打扰知识工程师的次数。二二.基于规则的专家系统基于规则的专家系统基于规则的专家系统的完整结构2.2.前向链接和后向链接推理技术前向链接和后向链接推理技术假设数据库最初包含5个事实:A、B、C、D和E,知识库最初包含3条规则:2.2.前向链接和后向链接推理技术前向链接和后向链接推理技术专家系统能够用推理链来解释怎样得出的结论,这是解释设
13、备的必要部分推理引擎要决定何时激活哪条规则。选择规则时,有两个主要方法:前向链接和后向链接2.2.前向链接和后向链接推理技术前向链接和后向链接推理技术我们先将规则重写为如下形式:再添加两条规则:2.2.前向链接和后向链接推理技术前向链接和后向链接推理技术从已知数据开始展开推理。每一次只执行顶端的一条规则。当有规则被触发时,就有新事实加入数据库。任何规则只能被执行一次。当没有规则可触发时,匹配-触发循环终止。2.2.前向链接和后向链接推理技术前向链接和后向链接推理技术前向链接是搜集信息并推出信息的技术。不过,在前向链接中,许多被触发的规则也许与问题目标无关。在上面的例子中,目标是推出事实Z。我们
14、仅有5条规则,其中4条规则被触发。规则4 CL虽与事实Z无关,也同样被触发了。一个真正的基于规则的专家系统可能有成百上千条规则,许多规则被触发后虽然能推出有效的新事实,但可能与目标无关。所以,如果只需推出一个特定的事实,前向链接推导技术或许效率很低。这种情况下,后向链接技术就比较合适2.2.前向链接和后向链接推理技术前向链接和后向链接推理技术后向链接推理技术后向链接是目标驱动的推理技术。在后向链接中,专家系统有目标(一个假设的答案),推理引擎的任务是找出证明目标的论据。首先,在知识库中搜寻含有目标的规则,即THEN部分包含的目标规则。如果找到这种规则,在数据库中也有匹配的事实,就触发规则并证明
15、目标。不过这种情况很少见。所以,推理引擎就暂不考虑这类规则(将规则压栈),要建立新目标,即子目标,以证明压栈规则的IF部分。2.2.前向链接和后向链接推理技术前向链接和后向链接推理技术2.2.前向链接和后向链接推理技术前向链接和后向链接推理技术现在来对比前向链接和后向链接。可以看出,前向链接中触发了4条规则,而后向链接中只触发了3条规则。这个简单的例子说明了当需要证实一个特定事实时(例子中是Z),后向链接更为有效。前向链接中,在推理过程开始前就确定了数据,不需用户额外输入。在后向链接中,确立目标后,只需要那些支持推理的数据,有时也需要用户输入一些数据库中没有的事实。2.2.前向链接和后向链接推
16、理技术前向链接和后向链接推理技术在第1个周期,推理引擎尝试推出事实Z。通过查找知识库来寻找THEN部分包含事实Z的规则。推理引擎找到了规则1 Y&DZ,将它压栈。规则1的IF部分包含事实Y和D,所以下面是确立事实Y和D。在第2个周期,推理引擎安装子目标:事实Y,并试图确立它。通过检查知识库,发现其中没有事实Y。因此需要寻找THEN部分包含事实Y的规则。推理引擎发现规则2 X&B&EY满足条件,将它压栈。规则2的IF部分包括事实X、B和E,接下来同样需要建立这些事实。在第3个周期,推理引擎安装新的子目标:证实事实X。推理引擎通过查找数据库,发现不包含X,就去查找能推出X的规则。找到了规则3 AX
17、,将它压栈。接下来需要证实事实A。在第4个周期,推理引擎发现A在数据库中。规则3 AX被触发,推出了新事实X。在第5个周期,推理引擎要证实子目标Y,再次试图执行规则2 X&B&EY。由于事实X、B和E都在数据库中,规则2被触发,推出了新事实Y,将Y加入数据库。在第6个周期,系统转向规则1 Y&DZ,尝试证实初始目标Z。由于规则1的IF部分与数据库中的事实相匹配,规则1被执行,初始目标得以证实。3.3.冲突消解这是个冲突的规则3.3.冲突消解 当目标实现后不再触发规则。在过马路的例子中,目标是为语言对象“action”确立值。当专家系统为“action”赋值后,目标实现,系统终止。因此,当交通灯
18、变红时,触发规则2,“action”的值是“stop”,至此系统终止。在这个例子中,专家系统的结论是对的。但如果调换两个规则,结论就错了。这说明知识库中的规则顺序仍然至关重要。3.3.冲突消解触发优先权最高的规则。在简单的应用场景中,合理地排列知识库中的规则就确定了优先权。这种策略一般适于规则数在100条左右的系统。但在某些应用中,必须按照重要程度处理数据。激发最具体的规则。这个方法也称为最长匹配策略,其依据的假设是具体规则比一般规则处理更多的信息。三三.基于规则的专家系统基于规则的专家系统3.基于规则的专家系统的优缺点 优点:1.自然语言表达。专家通常会使用这样的表达来解释解决问题的 过程:
19、“在什么什么情况下,我如何如何做。”这样的表达可以被很自然地表达为IFTHEN产生式规则。2.统一结构。产生式规则具有统一的IFTHEN结构。每一条规则都是一个独立的知识。产生式规则的语法使得规则具有自释性。3.知识与处理的相分离。基于规则的专家系统的结构为知识库和推理引擎提供了有效的分离机制。因此,能够使用同一个专家系统框架开发不同的应用,系统本身也容易扩展。在不干扰控制结构的同时通过添加一些规则,还能使系统更聪明。三三.基于规则的专家系统基于规则的专家系统4.处理不完整、不确定的知识。大多数基于规则的专家系统都能表达和推理不完整、不确定的知识。例如:这条规则就表达了下面这条句子的不确定性。
20、“如果是秋季,看似在下毛毛雨,那么今天可能又很潮湿。”这条规则用数值表达不确定性,称为确信因子cf 0.1。专家系统使用确信因子来确立规则结论的可信度或者可信水平。这些特征使得专家系统在现实问题的知识表达上非常适用。三三.基于规则的专家系统基于规则的专家系统缺点:1.规则之间的关系不透明。尽管单条规则都比较简单,也是自释性的,大量规则间的逻辑关系却可能不透明。在基于规则的系统中,难以观察单条规则如何对整个策略起作用,原因在于基于规则的专家系统缺乏分层的知识表达。2.低效的搜索策略。推理引擎在每个周期中搜索所有的规则。当规则很多时(多于100条规则),系统速度会很慢。基于规则的大型系统可能就不适
21、用于实时应用。3.没有学习能力。一般的基于规则的专家系统都不具备从经验中学习的能力。人类专家知道何时打破规则,而专家系统并不能自动修改知识库,例如调整规则、添加规则。修改和维护系统的任务仍然由知识工程师来做。四四.实例展示实例展示MYCIN是一个基于规则的系统,此系统是由斯坦福大学在七十年代中后期研制成的。可以通过此系统和医生的一段对话来看,这段对话详细的说明了大部分基于规则的系统会话特征,并提供了一个单一的示例。四四.实例展示实例展示1.患者姓名:*2.年龄:243.性别:男4.种族:.5.最近*有无持续头疼的症状或其他神经系统的异常症状,如晕眩,嗜睡,等等?省略若干问题.32.你是否知道*
22、最近cbc的结果?*:知道 33请把CBC结果输入下表中四四.实例展示实例展示(可以接受“不知道”作为合法值。不必对所有回答给出完全乃至正确的数据。)35.脑膜炎是否在医院中感染的?*为什么(用户询问“为什么”是想要了解MYCIN所沿的推理路线的解释。程序首先把询问分解成一些短语,然后显示正设法建立其前提的规则)四四.实例展示实例展示有证据证明,可能引起感染的病原菌是大肠杆菌(.75)凝固酶阳性的金色葡萄球菌(.3)绿脓杆菌(.3)肺炎杆菌(.5)【在每个结论后的圆括号中的数,表示结论的重要程度。】*:“为何“(此刻,用户询问上面规则中的短语是”如何“被确定的附加说名。MYCIN系统给出规则的
23、编号,用这些编号来得出结论并打印所询问的规则)规则 可信度 规则148 (.19)规则500 (.51).我已有证据(规则545,规则557)说明治疗应该包括大肠杆菌引起杀我脑膜炎四四.实例展示实例展示我已有证据(规则545,规则557,规则578)说明治疗应包括绿脓杆菌引起的脑膜炎我已有证据(规则507)说明应该治疗包括肺炎双球菌引起的脑膜炎51.*你是否在临床上对任何抗菌素有明显的过敏反应?*:没有(考虑用青霉素和庆大霉素来治疗感染)(最后的结论就是关于包括这种感染的可能病因的最佳疗法。这些病因从完全的有效证据中确定出来的)我认为应推荐的治疗方案如下四四.实例展示实例展示1)青霉素 剂量:3.5克(28.0毫升)4小时一次静脉注射 2)庆大霉素 剂量:119毫克(3.0毫升,80毫克、2毫升一安平)8小时一次静脉注射(按1.7毫升/公斤)省略一下你还需要看下一个选择疗法吗?*:不需要了。