1、第五章第五章 专家系统与智能决策支持系统专家系统与智能决策支持系统 5.1 专家系统专家系统 5.2 智能决策支持系统智能决策支持系统 5.1 专家系统专家系统5.1.1 专家系统简介专家系统简介5.1.2 专家系统的基本结构及工作原理专家系统的基本结构及工作原理5.1.3 产生式规则专家系统产生式规则专家系统5.1.4 专家系统示例专家系统示例5.1.1 专家系统简介专家系统简介 一、专家系统的概念一、专家系统的概念 二、专家系统的基本特征二、专家系统的基本特征 三、专家系统与常规计算机程序的区别三、专家系统与常规计算机程序的区别 四、专家系统的应用四、专家系统的应用一、专家系统的概念一、专
2、家系统的概念 迄今为止,关于专家系统还没有一个公认的严格定义,一般迄今为止,关于专家系统还没有一个公认的严格定义,一般认为:认为:(1)它是一个智能程序系统;它是一个智能程序系统;(2)它具有相关领域内大量的专家知识;它具有相关领域内大量的专家知识;(3)它能应用人工智能技术模拟人类专家求解问题的思维过它能应用人工智能技术模拟人类专家求解问题的思维过程进行推理,解决相关领域内的困难问题,并且达到领域专程进行推理,解决相关领域内的困难问题,并且达到领域专家的水平。家的水平。专家系统专家系统就是一种在相关领域中具有专家水平解题能力就是一种在相关领域中具有专家水平解题能力的智能程序系统,它能运用领域
3、专家多年积累的经验与专门的智能程序系统,它能运用领域专家多年积累的经验与专门知识,模拟人类专家的思维过程,求解需要专家才能解决的知识,模拟人类专家的思维过程,求解需要专家才能解决的困难问题。困难问题。二、专家系统的基本特征二、专家系统的基本特征 1.具有专家水平的专门知识具有专家水平的专门知识 一般来说,专家系统中的知识可分为三个层次,一般来说,专家系统中的知识可分为三个层次,即即数据级、知识库级和控制级。数据级、知识库级和控制级。数据级知识数据级知识是指具体问题所提供的初始事实以及是指具体问题所提供的初始事实以及问题求解过程中所产生的中间结论、最终结论等。问题求解过程中所产生的中间结论、最终
4、结论等。如,病人的症状、化验结果以及由专家系统推出如,病人的症状、化验结果以及由专家系统推出的病因、治疗方案等。的病因、治疗方案等。知识库级知识知识库级知识是指专家的知识,例如医学常识、是指专家的知识,例如医学常识、医生诊治疾病的经验等。医生诊治疾病的经验等。控制级知识控制级知识是用于控制系统的运行过程及推理的是用于控制系统的运行过程及推理的知识。如,搜索策略、推理方法等。知识。如,搜索策略、推理方法等。任何一个专家系统都是面向一个具体领域的,求任何一个专家系统都是面向一个具体领域的,求解的问题仅仅局限于一个较窄的范围内。解的问题仅仅局限于一个较窄的范围内。2.能进行有效的推理能进行有效的推理
5、 专家系统的根本任务是求解领域内的现实问题。问题的求解专家系统的根本任务是求解领域内的现实问题。问题的求解过程是一个思维过程,即推理过程。专家系统必须具有相应过程是一个思维过程,即推理过程。专家系统必须具有相应的推理机构,能根据用户提供的已知事实,通过运用掌握的的推理机构,能根据用户提供的已知事实,通过运用掌握的知识,进行有效的推理,以实现对问题的求解。知识,进行有效的推理,以实现对问题的求解。专家系统的推理机制多种,有:精确推理、不确定性推理、专家系统的推理机制多种,有:精确推理、不确定性推理、不完全推理和试探性推理等。需根据问题领域的特点,分别不完全推理和试探性推理等。需根据问题领域的特点
6、,分别进行设计。进行设计。3.具有获取知识的能力具有获取知识的能力 目前专家系统在知识获取方面的能力还较弱,当前应用较多目前专家系统在知识获取方面的能力还较弱,当前应用较多的是建立知识编辑器,知识工程师或领域专家通过知识编辑的是建立知识编辑器,知识工程师或领域专家通过知识编辑器把领域知识器把领域知识“传授传授”给专家系统,建立知识库。一些高级给专家系统,建立知识库。一些高级专家系统目前正在建立一些自动获取工具,使系统自身具有专家系统目前正在建立一些自动获取工具,使系统自身具有学习能力,能从系统运行的实践中不断总结出新的知识。学习能力,能从系统运行的实践中不断总结出新的知识。知识获取工具知识获取
7、工具搜索工具、数据挖掘技术。搜索工具、数据挖掘技术。4.具有灵活性具有灵活性 在大多数专家系统中,其体系结构都采用了知识库与推理在大多数专家系统中,其体系结构都采用了知识库与推理机相分离的构造原则,彼此既有联系,又相互独立。机相分离的构造原则,彼此既有联系,又相互独立。好处是:好处是:在系统运行时能根据具体问题要求分别选取合适的知识在系统运行时能根据具体问题要求分别选取合适的知识构成不同的求解序列,实现对问题的求解。构成不同的求解序列,实现对问题的求解。一方进行修改时不致影响到另一方。一方进行修改时不致影响到另一方。便于把一个技术上成熟的专家系统变为一个专家系统工便于把一个技术上成熟的专家系统
8、变为一个专家系统工具。具。5.具有透明性具有透明性 一个计算机程序系统的透明性是指,系统自身及其行一个计算机程序系统的透明性是指,系统自身及其行为能被用户所理解。专家系统具有较好的透明性,是为能被用户所理解。专家系统具有较好的透明性,是因为它具有解释功能。因为它具有解释功能。6.具有交互性具有交互性n专家系统一般都是交互式系统。专家系统一般都是交互式系统。7.具有实用性具有实用性 专家系统是根据领域问题的实际需求开发的,这决定专家系统是根据领域问题的实际需求开发的,这决定了它具有坚实的应用背景,已广泛应用于多个领域。了它具有坚实的应用背景,已广泛应用于多个领域。8.具有一定的复杂性和难度具有一
9、定的复杂性和难度n多种需要解决的困难问题,如不确定性多种需要解决的困难问题,如不确定性知识的表示、不确定性的传递算法、匹知识的表示、不确定性的传递算法、匹配算法等等。配算法等等。三、专家系统与常规计算机程序的区别三、专家系统与常规计算机程序的区别(1)常规的计算机程序是对数据结构以及)常规的计算机程序是对数据结构以及作用于数据结构的确定型算法的表述,即作用于数据结构的确定型算法的表述,即常规程序常规程序=数据结构数据结构+算法算法 而专家系统是通过运用知识进行推理,力而专家系统是通过运用知识进行推理,力求在问题领域内推导出满意的解答,即求在问题领域内推导出满意的解答,即专家系统专家系统=知识知
10、识+推理推理 (2)常规程序把关于问题求解的知识常规程序把关于问题求解的知识隐含于程序中,而专家系统则把应用隐含于程序中,而专家系统则把应用领域中关于问题求解的知识单独组成领域中关于问题求解的知识单独组成一个知识库。常规程序将其知识组织一个知识库。常规程序将其知识组织为两极,即数据级和程序级,而专家为两极,即数据级和程序级,而专家系统将其知识组织成三级,即数据级、系统将其知识组织成三级,即数据级、知识库级和控制级。知识库级和控制级。(3)常规程序一般是通过查找或计算)常规程序一般是通过查找或计算来求取问题的答案,基本上是面向数值来求取问题的答案,基本上是面向数值计算和数据处理的,而且在问题求解
11、过计算和数据处理的,而且在问题求解过程中先后顺序都是由程序规定的;而专程中先后顺序都是由程序规定的;而专家系统是通过推理来求取问题的答案或家系统是通过推理来求取问题的答案或证明某个假设,本质上是面向符号处理证明某个假设,本质上是面向符号处理的,其推理过程随着情况的变化而变化,的,其推理过程随着情况的变化而变化,具有不确定性和灵活性。具有不确定性和灵活性。(4)常规程序处理的数据多是精确的;而专家系统处理的)常规程序处理的数据多是精确的;而专家系统处理的数据及知识大多是不精确的、模糊的,知识的模式匹配也数据及知识大多是不精确的、模糊的,知识的模式匹配也多是不精确的,需要为其设定阈值。多是不精确的
12、,需要为其设定阈值。(5)常规程序一般不具有解释功能,而专家系统一般具有常规程序一般不具有解释功能,而专家系统一般具有解释机构,可对自己的行为作出解释。解释机构,可对自己的行为作出解释。(6)常规程序与专家系统具有不同的体系结构。常规程序与专家系统具有不同的体系结构。四、专家系统的应用四、专家系统的应用(1)翻译系统翻译系统:对观测到的数据:对观测到的数据,用已设定的含义来解释它,如用已设定的含义来解释它,如语言翻译、语言理解、语言翻译、语言理解、图像分析、化学结构说明、信号翻译图像分析、化学结构说明、信号翻译等。等。(2)(2)预测系统预测系统:对未来情况推出可能的结果:对未来情况推出可能的
13、结果,如天气预报、人口如天气预报、人口预测、交通预测、军事预测、交通预测、军事预报等。预报等。(3)(3)诊断系统诊断系统:从可观测事物中推出系统的故障:从可观测事物中推出系统的故障,即从所观测的即从所观测的不正常行为找出潜不正常行为找出潜在的原因在的原因,如医学、电子学、机械、软件如医学、电子学、机械、软件诊断等。诊断等。(4)(4)设计系统设计系统:设计满足目标要求的方案:设计满足目标要求的方案,即根据目标及各子即根据目标及各子目标间的相互关系构成目标间的相互关系构成方案方案,并证明这些方案和提出的目标并证明这些方案和提出的目标要求相一致要求相一致,如电路设计、建筑设计以及预算的编制。如电
14、路设计、建筑设计以及预算的编制。(5)(5)规划系统规划系统:设计行为动作:设计行为动作,即利用对象的行为特征模型来即利用对象的行为特征模型来推论对象的行为动作推论对象的行为动作,如自动程序设计、机器人、计划、通如自动程序设计、机器人、计划、通讯、军事等规划问题。讯、军事等规划问题。(6)(6)监控系统监控系统:对系统行为的观测指出规划行为中不足之处:对系统行为的观测指出规划行为中不足之处,如计算机辅助监控系如计算机辅助监控系统用于原子能工厂、航空、治病、煤统用于原子能工厂、航空、治病、煤矿安全等。矿安全等。(7)调试系统调试系统:指出故障的补救方法。它依靠规划设计和预测:指出故障的补救方法。
15、它依靠规划设计和预测的能力来产生正确处的能力来产生正确处理某个诊断问题的提示或推荐方案。理某个诊断问题的提示或推荐方案。(8)(8)维修系统维修系统:执行一个规划来完成某一个诊断问题的治疗方:执行一个规划来完成某一个诊断问题的治疗方法。这类系统综合了法。这类系统综合了调试、规划和执行的能力。如:汽车设调试、规划和执行的能力。如:汽车设备维修备维修ES ES。(9)(9)控制系统控制系统:一个专家控制系统能自动控制系统的全部行为。一个专家控制系统能自动控制系统的全部行为。它反复解释当前情况它反复解释当前情况,预测未来预测未来,诊断问题的产生原因诊断问题的产生原因,做出做出处理的计划以及监督系统运
16、行处理的计划以及监督系统运行,并保证正常的操作。控制系并保证正常的操作。控制系统已应用在航空控制、商务管理、战场指挥等方面。统已应用在航空控制、商务管理、战场指挥等方面。5.1.2 专家系统的基本结构及工作原理专家系统的基本结构及工作原理一、基本结构一、基本结构二、工作原理二、工作原理一、基本结构一、基本结构人人机机接接口口知识获取机制知识获取机制知识库知识库推理机制推理机制解释机制解释机制动态存储器动态存储器专家系统基本体系结构专家系统基本体系结构二、工作原理二、工作原理 1.知识库知识库 知识库是知识的存储机构,用于存储领域内的原理性知识、知识库是知识的存储机构,用于存储领域内的原理性知识
17、、专家的经验性知识以及有关的事实等。知识库中的知识来专家的经验性知识以及有关的事实等。知识库中的知识来源于知识获取机构,同时它又为推理机制提供求解问题所源于知识获取机构,同时它又为推理机制提供求解问题所需的知识。需的知识。知识库中的知识以产生式规则形式表示,规则形式如:前知识库中的知识以产生式规则形式表示,规则形式如:前提提结论结论 或或 IF IF 条件条件l AND l AND 条件条件2 2 AND AND 条件条件N THEN N THEN 动作或结论动作或结论 例如例如,某计算机故障诊断专家系统的知识库中存储了数百条某计算机故障诊断专家系统的知识库中存储了数百条关于计算机故障诊断的产
18、生式规关于计算机故障诊断的产生式规 则则,其中的一条规则为:其中的一条规则为:RULE1:IF 外部电源插座电压正常外部电源插座电压正常 AND 计算机内电源输入电压为零计算机内电源输入电压为零 AND 电源插座电压正常电源插座电压正常 AND 电源插座到计算机的电源线完好电源插座到计算机的电源线完好 THEN THEN 计算机的电源开关故障计算机的电源开关故障 为了表达专家知识的复杂概念为了表达专家知识的复杂概念,知识库中的规则分级存储知识库中的规则分级存储,整个整个知识库形成一个树形结构,其中的知识库形成一个树形结构,其中的规则也可嵌套规则也可嵌套,例如例如,在某动在某动物识别专家系统中有
19、如下三条规则形成了一个嵌套结构:物识别专家系统中有如下三条规则形成了一个嵌套结构:RULE1:IF 动物有奶动物有奶 THEN 该动物是哺乳动物该动物是哺乳动物 RULE2:IF 动物吃肉动物吃肉 THEN 该动物是食肉动物该动物是食肉动物 RULE3:IF 动物是哺乳动物动物是哺乳动物 AND 动物是食肉动物动物是食肉动物 AND 动物是黄褐色动物是黄褐色 AND 动物身上有黑条纹动物身上有黑条纹 THEN 该动物是老虎该动物是老虎2.推理机制推理机制 推理机制主要有两个任务推理机制主要有两个任务,一是一是推理推理(知识的运用)(知识的运用),即从即从知识库中已有的知识中推导出所需要的结论和
20、知识;二是知识库中已有的知识中推导出所需要的结论和知识;二是控控制搜索过程制搜索过程(知识的选择)(知识的选择),即确定知识库中规则的扫描顺即确定知识库中规则的扫描顺序序,决定在每个控制信息下要触发的规则。决定在每个控制信息下要触发的规则。推理机的性能与构造一般与知识的表示方式和组织方式有关推理机的性能与构造一般与知识的表示方式和组织方式有关,但与知识的内容无关,这有利于保证推理机与知识库的相对但与知识的内容无关,这有利于保证推理机与知识库的相对独立性。独立性。为提高系统的运行效率,采取:启发性知识,启发式搜索。为提高系统的运行效率,采取:启发性知识,启发式搜索。3.解释机制解释机制 能够对系
21、统的行为作出解释,是专家系统区别于一般程序的能够对系统的行为作出解释,是专家系统区别于一般程序的重要特征之一,也是它取信于用户的一个重要措施。另外,重要特征之一,也是它取信于用户的一个重要措施。另外,通过对自身行为的解释还可帮助系统建造者发现知识库和推通过对自身行为的解释还可帮助系统建造者发现知识库和推理机中的错误,有利于对系统的调试及维护。理机中的错误,有利于对系统的调试及维护。解释机构由一组程序组成,它能跟踪并记录推理过程,当用解释机构由一组程序组成,它能跟踪并记录推理过程,当用户提出询问需要给出解释时,它将根据问题的要求分别做相户提出询问需要给出解释时,它将根据问题的要求分别做相应的处理
22、,最后把解答用约定的形式通过人机接口输出给用应的处理,最后把解答用约定的形式通过人机接口输出给用户。户。4.知识获取机制知识获取机制(一)知识获取的方式(一)知识获取的方式 知识获取是建立知识库的重要基础知识获取是建立知识库的重要基础,是专家系统开发中最关键也最艰难的是专家系统开发中最关键也最艰难的一步一步,被称为专家系统开发的被称为专家系统开发的“瓶瓶颈颈”。专家系统的下一步是开发更好。专家系统的下一步是开发更好的知识获取工具。当前的知识获取工具。当前,知识获取有知识获取有三种主要形式。三种主要形式。(l)l)人工获取人工获取。领域专家与知识工程。领域专家与知识工程师交流,提供领域的知识,知
23、识工程师交流,提供领域的知识,知识工程师将领域知识概念化、形式化、编码、师将领域知识概念化、形式化、编码、测试,并将结果与领域专家的经验比测试,并将结果与领域专家的经验比较,经这样多次反复逐步完善知识库。较,经这样多次反复逐步完善知识库。领域专家领域专家知识工程师知识工程师知识库知识库 (2)(2)交互式学习交互式学习。领域专家利用获取工。领域专家利用获取工具,在知识工程师的协作下,直接与具,在知识工程师的协作下,直接与计算机交互学习。计算机交互学习。领域专家领域专家知识工程师知识工程师知识库知识库(3)(3)自动知识获取自动知识获取。计算机在领域专家和知识工程师的。计算机在领域专家和知识工程
24、师的配合下,直接从样本中获取知识,其中样本包括实验配合下,直接从样本中获取知识,其中样本包括实验数据、问题求解的实例、文本、数据库数据和数据、问题求解的实例、文本、数据库数据和WebWeb上的上的资料等。资料等。样样 本本知知 识识 库库领域专家领域专家知识工程师知识工程师(二)知识获取的步骤(二)知识获取的步骤(1)领域确定和问题定义)领域确定和问题定义。在这一阶段,需确定知识库的。在这一阶段,需确定知识库的应用领域和问题的类型,从而确定知识的来源,【例如】应用领域和问题的类型,从而确定知识的来源,【例如】有经验的领域专家、文档、实验数据和已经被成功解决的有经验的领域专家、文档、实验数据和已
25、经被成功解决的问题的实例等。问题的实例等。(2)领域知识的概念化)领域知识的概念化。这是最重要的阶段,在这一阶段。这是最重要的阶段,在这一阶段中知识工程师和领域专家彼此协作将领域知识形式化为某中知识工程师和领域专家彼此协作将领域知识形式化为某些基本概念和概念关系的抽象形式,即将事实和关系变换些基本概念和概念关系的抽象形式,即将事实和关系变换成与领域无关的、易于在知识库存贮和处理的知识结构。成与领域无关的、易于在知识库存贮和处理的知识结构。(3)知识的形式化和编码)知识的形式化和编码。在这一阶段,将所。在这一阶段,将所获取的领域知识转化为执行的计算机程序,【例获取的领域知识转化为执行的计算机程序
26、,【例如】如】“Ifthen”规则等。规则等。(4)系统测试和查错)系统测试和查错。通过测试检查知识库中。通过测试检查知识库中的错误、不一致性和不完整性等。引起这一类错的错误、不一致性和不完整性等。引起这一类错误的主要原因有:专家在这一领域的知识不完误的主要原因有:专家在这一领域的知识不完备;专家在特定场合的经验有问题;某些知备;专家在特定场合的经验有问题;某些知识的形式化不严密;遗漏了某些事实和事实之识的形式化不严密;遗漏了某些事实和事实之间的关系;含有非法和不能应用的语句;缺间的关系;含有非法和不能应用的语句;缺少了领域专家的关键启发式知识等。少了领域专家的关键启发式知识等。(5)知识优化
27、和系统完善)知识优化和系统完善。主要是通过求解实。主要是通过求解实际问题来对冗余的规则、形成死循环的规则、不际问题来对冗余的规则、形成死循环的规则、不相容、不一致和互相冲突的规则进行修改的过程。相容、不一致和互相冲突的规则进行修改的过程。5.动态存储器动态存储器 动态存储器又称为动态存储器又称为“黑板黑板”或者或者“工作存工作存储器储器”。它是用于存放用户提供的初始事。它是用于存放用户提供的初始事实、问题描述以及系统运行过程中得到的实、问题描述以及系统运行过程中得到的中间结果、最终结果、运行信息等。中间结果、最终结果、运行信息等。动态存储器的内容是不断变化的动态存储器的内容是不断变化的。在求解
28、。在求解问题的开始时,它存放的是用户提供的初问题的开始时,它存放的是用户提供的初始事实;在推理过程中它存放每一步推理始事实;在推理过程中它存放每一步推理所得到的结果。所得到的结果。同时同时,动态存储器还保存动态存储器还保存一次推理过程中的全部推理路径一次推理过程中的全部推理路径,供解释供解释推理过程时使用。推理过程时使用。6.人机接口人机接口 人机接口是专家系统与领域专家或知识工程师及一般人机接口是专家系统与领域专家或知识工程师及一般用户间的界面,由一组程序及相应的硬件组成,用于用户间的界面,由一组程序及相应的硬件组成,用于控制人机交互过程控制人机交互过程,使用户能够以方便、直观的形式进使用户
29、能够以方便、直观的形式进行人机对话行人机对话,同时充分发挥用同时充分发挥用户人机对话中的主观能动户人机对话中的主观能动性性,尽可能地避免用户的误操作,用于完成输入输出工尽可能地避免用户的误操作,用于完成输入输出工作。作。5.1.3 产生式规则专家系产生式规则专家系统统 一、产生式规则及特点一、产生式规则及特点 二、推理方法二、推理方法 三、推理树三、推理树 四、推理树的搜索四、推理树的搜索 五、不确定性推理五、不确定性推理一、产生式规则一、产生式规则 产生式规则知识一般表示为:产生式规则知识一般表示为:if A then B,或表示为:或表示为:“如果如果A成立则成立则B成立成立”,简化为:,
30、简化为:A B。产生式规则知识允许有以下的特性:产生式规则知识允许有以下的特性:(1)相同的条件可以得出不同的结论。相同的条件可以得出不同的结论。如:如:A B A C (2)相同的结论可以由不同的条件来得到。相同的结论可以由不同的条件来得到。如:如:AG BGAG BG (3)条件之间可以是条件之间可以是与与(AND)连接和连接和或或(OR)连接。连接。如如:ABG ABG(ABG ABG(相当于相当于AG,BGAG,BG)(4)(4)一条规则中的结论一条规则中的结论,可以是另一条规则中的条件。可以是另一条规则中的条件。如如:F FBZ CBZ CDFDF 产生式规则的特点产生式规则的特点(
31、1)(1)产生式规则知识表示形式容易被人产生式规则知识表示形式容易被人理解;理解;(2)(2)它是基于演绎推理的。这样它是基于演绎推理的。这样,它保证它保证 推理结果的正确性推理结果的正确性;(3)(3)大量产生式规则所连成的推理树大量产生式规则所连成的推理树(知知识树识树)可以是多棵树。从树的宽度看可以是多棵树。从树的宽度看,反映了实际问题的范围。从树的深度反映了实际问题的范围。从树的深度看看,反映了问题的难度。这使专家系统反映了问题的难度。这使专家系统适应各种实际问题的能力很强。适应各种实际问题的能力很强。二、推理方法二、推理方法 1.正向推理正向推理 从已知数据信息出发,正向使用规则(让
32、规则的前提从已知数据信息出发,正向使用规则(让规则的前提与数据库匹配),求解待解的问题。它要求用户首先与数据库匹配),求解待解的问题。它要求用户首先输入有关当前问题的信息作为数据库中的事实。输入有关当前问题的信息作为数据库中的事实。2.逆(反)向推理逆(反)向推理 从目标开始从目标开始,寻找以此目标寻找以此目标为结论的规则为结论的规则,并对该规并对该规则的前提进行判断。若该规则的前提中某个子项是另则的前提进行判断。若该规则的前提中某个子项是另一规则的结论一规则的结论,再找此结论的规则再找此结论的规则,重复以上过程重复以上过程,直直到对某个规则的前提能够进行判断。按此规则前提判到对某个规则的前提
33、能够进行判断。按此规则前提判断断(是是 或或 否否)得出结论的判断得出结论的判断,由此回溯到上一个由此回溯到上一个规则的推理规则的推理,一直回溯到目标的判断。一直回溯到目标的判断。3.混合推理混合推理三、推理树三、推理树 按逆向推理思想把规则库所含的总目标按逆向推理思想把规则库所含的总目标(它是某些规它是某些规则的结论则的结论)作为根结点作为根结点,按规则的前提和结论展开成一按规则的前提和结论展开成一棵树的形式。这棵树一般称为推理树或知识树棵树的形式。这棵树一般称为推理树或知识树,它把规它把规则库中的所有规则都连结起来。由于连结时有则库中的所有规则都连结起来。由于连结时有 与与 关关系和系和
34、或或 关系关系,从而构成了从而构成了 与与,或或 推理树。推理树。例:若有规则集为:例:若有规则集为:A(B C)G (I J)K A XF J L B L B M E C WZ M P PQ EQ E 规则集的逆向推理树规则集的逆向推理树注:图中两斜线中间有弧线表示注:图中两斜线中间有弧线表示“与与”关系,关系,无弧线表示无弧线表示“或或”关系关系GAIJKXFBLCMEWZPQ 该该“与、或与、或”推理树的特点是:推理树的特点是:(1)每条规则对应的结点分枝有与每条规则对应的结点分枝有与(AND)关系、或关系、或(OR)关系。关系。(2)树的根结点是推理树的总目标。树的根结点是推理树的总目
35、标。(3)相邻两层之间有一条或多条规则连接。相邻两层之间有一条或多条规则连接。(4)(4)每个结点可以是单值每个结点可以是单值,也可以是多值。若结点是多值也可以是多值。若结点是多值,各值对应的规则将不同。各值对应的规则将不同。(5)(5)所有的叶结点都安排向用户提问所有的叶结点都安排向用户提问,或者把它的值直接或者把它的值直接放在事实数据库中。放在事实数据库中。逆向推理树的一般形式逆向推理树的一般形式 四、推理树的搜索四、推理树的搜索 基本搜索方法基本搜索方法(1)广度优先搜索法广度优先搜索法n(2)深度优先搜索法深度优先搜索法(一)推理树的深度优先搜索(一)推理树的深度优先搜索 逆向推理的搜
36、索过程逆向推理的搜索过程 在计算机中实现时在计算机中实现时,并不把规则连成推理树并不把规则连成推理树,而是利用而是利用规则规则栈栈来完成。当调用此规则时来完成。当调用此规则时,把它压入栈内把它压入栈内(相当于对树的相当于对树的搜索搜索),),当此规则的结论已求出当此规则的结论已求出(yesyes或或no)no)时时,需要将此规需要将此规则退栈则退栈(相当于对树的回溯相当于对树的回溯)。利用规则栈的压入和退出的。利用规则栈的压入和退出的过程过程,相当于完成了推理相当于完成了推理树的深度优先搜索和回溯过程。树的深度优先搜索和回溯过程。规则号规则号前提表前提表结论结论I3I,JA1AG规则栈规则栈(
37、二)结点的否定(二)结点的否定 从上例可见从上例可见,每个结点有两种可能每个结点有两种可能,即即yesyes和和no,no,叶结点为叶结点为nono是由用户回答形成的。中间结点为是由用户回答形成的。中间结点为nono是由叶结点为是由叶结点为no,no,回回溯时引起该结点为溯时引起该结点为nono。对中间结点的否定需要注意的是对中间结点的否定需要注意的是,当该结点还有其它当该结点还有其它“或条件或条件”分枝时分枝时,不能立即确定该结不能立即确定该结点为点为no,no,必须再搜索另一分枝必须再搜索另一分枝,当另一分枝回溯为当另一分枝回溯为yesyes时时,该该结点仍为结点仍为yesyes。中间结点
38、只有所有中间结点只有所有“或或”分枝的回溯值均分枝的回溯值均为为nono时,才能最后确定该中间结点为时,才能最后确定该中间结点为nono。五、不确定性推理五、不确定性推理(一)事实的不确定性(一)事实的不确定性 事实有时称为证据。它有不确定性因素事实有时称为证据。它有不确定性因素,如含糊性如含糊性(事实的意事实的意义不明确或有歧义义不明确或有歧义,需要上下文才能确定需要上下文才能确定)、不完全性、不完全性(如变如变化的市场化的市场,获得完整的信息是不可能的获得完整的信息是不可能的)、不正确性与不精确、不正确性与不精确性性(事实的观测结果与真实情况有差别事实的观测结果与真实情况有差别)、随机性、
39、模糊性等。、随机性、模糊性等。事实的不确定性一般用可信度事实的不确定性一般用可信度 CF(certainty factor)值表示值表示,它的取值范围为:它的取值范围为:0CFl 或或 0CF100 例如:例如:肺炎肺炎 CF=0.8CF=0.8表示某病人患肺炎的可信度为表示某病人患肺炎的可信度为0.8(80%)0.8(80%)。(二二)规则的不确定性规则的不确定性 规则反映了客观事物的规律性。大量的实际问题中规则反映了客观事物的规律性。大量的实际问题中,专家专家掌握的规则大多是经验性的掌握的规则大多是经验性的,不是精确的。精确规则主要不是精确的。精确规则主要是公式、公理、定律、定理等。经验性
40、规则是不确定性的。是公式、公理、定律、定理等。经验性规则是不确定性的。规则的不确定性也用可信度规则的不确定性也用可信度CFCF值来表示。值来表示。例如:例如:“如果如果 听诊听诊=干鸣音干鸣音 则则 诊断诊断=肺炎肺炎 CF=0.5CF=0.5”表示对病人的听诊是干鸣音而诊断病人患肺炎的可信度只表示对病人的听诊是干鸣音而诊断病人患肺炎的可信度只有有0.5(50%)0.5(50%)。(三三)推理的不确定性推理的不确定性 规则中事实规则中事实(证据证据)之间的连接有两种形式之间的连接有两种形式,即即“与与(AND)AND)”连接和连接和“或或(OR)OR)”连接。连接。1.前提中前提中AND(AN
41、D(与与)连接时结论的可信度计算公式连接时结论的可信度计算公式 规则形式规则形式:IF E IF E1 1EE2 2EEn n THEN H CF(R)THEN H CF(R)结论结论H H的可信度为的可信度为:CF(H)=CF(R)MINCF(E E1 1),CF(E E2 2)CF(E En n)该公式表示该公式表示,由于每个证据由于每个证据Ek的不确定性的不确定性,可信度可信度为为CF(E Ek k),k=1,2,n,以及规则不确定性以及规则不确定性,可信度为可信度为CF(R)CF(R),利用该规则的推理利用该规则的推理,得到结论得到结论H的不确定性的不确定性,可信度为可信度为 CF(H
42、)CF(H)。结论结论H H的可信度等于规则可信的可信度等于规则可信度乘以所有证据可信度的最小者度乘以所有证据可信度的最小者。2.2.前提中前提中OR(OR(或或)连接时结论的可信度计算公式连接时结论的可信度计算公式 规则形式规则形式:IF EIF E1 1 OR E OR E2 2 THEN H CF(R)THEN H CF(R)需要把它转化成等价的两条规则需要把它转化成等价的两条规则,即即 IF E IF E1 1 THEN H CF(R)THEN H CF(R)IF E IF E2 2 THEN H CF(R)THEN H CF(R)如果最初就是单独两条规则如果最初就是单独两条规则,而且
43、有不同的可信度而且有不同的可信度,如:如:IF E IF E1 1 THEN H CF(R THEN H CF(R1 1)IF E IF E2 2 THEN H CF(R THEN H CF(R2 2)则它们不能合并成一条则它们不能合并成一条规规则则(用用OROR连接连接),),因为可信度不能合并因为可信度不能合并成一个。成一个。对于这个更一般的情况对于这个更一般的情况,结论结论H H的可信度分别有:的可信度分别有:CFCF1(1(H)=CF(RH)=CF(Rl l)CF(ECF(E1 1)CFCF2(2(H)=CF(RH)=CF(R2 2)CF(ECF(E2 2)合并为合并为:CF(H)=C
44、Fl(H)+CF2(H)-CFl(H)CF(H)=CFl(H)+CF2(H)-CFl(H)CF2(H)CF2(H)对于三条规则对于三条规则,如:如:IF E IF E1 1 THEN H CF(R THEN H CF(R1 1)IF E IF E2 2 THEN H CF(R THEN H CF(R2 2)IF E IF E3 3 THEN H CF(R THEN H CF(R3 3)先按两条规则合并方法计算出先按两条规则合并方法计算出:CF12(H)=CF1(H)+CF2(H)-CF1(H)CF12(H)=CF1(H)+CF2(H)-CF1(H)CF2(H)CF2(H)再将它和第三条规则合并
45、再将它和第三条规则合并:CF(H)=CF12(H)+CF3(H)-CF12(H)CF(H)=CF12(H)+CF3(H)-CF12(H)CF3(H)CF3(H)其中其中CF3(H)=CF(RCF3(H)=CF(R3 3)CF(ECF(E3 3)对多于三条规则对多于三条规则,类似于上面方法逐步合并直到包含所有规类似于上面方法逐步合并直到包含所有规则则(即所有规则中前提不相同而结论相同即所有规则中前提不相同而结论相同)。这些规则有不同。这些规则有不同的可信度的可信度,如果这些规则有相同的可信度如果这些规则有相同的可信度,它们可合并它们可合并成一条成一条以以 OR(OR(或或)连接的复合规则。连接的
46、复合规则。(四)确定性推理与(四)确定性推理与 不确定性推理的区别不确定性推理的区别 区别:区别:可信度(可信度(CF)的差别的差别 确定性推理确定性推理CF=1;不确定性推理不确定性推理0CF1 推理过程的差别推理过程的差别 相同结论具有多个规则的情况相同结论具有多个规则的情况:对于确定性推理,只要搜索出对于确定性推理,只要搜索出其中一条满足要求的规则(即该规则可推得结论)其中一条满足要求的规则(即该规则可推得结论),其他规则其他规则就不再搜索。就不再搜索。对于不确定性推理对于不确定性推理,当某个结论的可信度不为当某个结论的可信度不为1 1时时(即即CFCF1),1),对于相同结论的其它规则
47、仍然要进行推理对于相同结论的其它规则仍然要进行推理,求结论求结论的可信度的可信度,并和已计算出该结论的可信度进行合并。并和已计算出该结论的可信度进行合并。例如例如,有两条相同结论的规则有两条相同结论的规则R R1 1:AG:AG R R2 2:BCG:BCG 确定性推理过程为确定性推理过程为:先引用规则先引用规则R R1 1,提问提问A?A?当回答为当回答为yesyes时时,推得结论推得结论G G成立成立,即即yes,yes,这样就不再搜索这样就不再搜索R R2 2对结论对结论G G进行推理。进行推理。对于不确定性推理对于不确定性推理,该两规则均含可信度。该两规则均含可信度。R R1 1:AG
48、 CF(0.8):AG CF(0.8)R R2 2:BCG CF(0.9):BCG CF(0.9)推理时推理时,先引用规则先引用规则R R1 1,提问提问A?A?当回答为当回答为yesyes时时,还还需给定需给定A A的可信度的可信度,设为设为CF(0.7),CF(0.7),按按公式求得公式求得G G的的可信度为可信度为:CF1(G)=0.8CF1(G)=0.80.7=0.560.7=0.56 由于由于G G的可信度不为的可信度不为1,1,还必须对结论还必须对结论G G的其它规则的其它规则进行推理。再引用规进行推理。再引用规则则R R2 2,提问提问B B和和C C。设回答设回答B B为为ye
49、s,CF(0.7),yes,CF(0.7),回答回答C C为为yes,CF(0.yes,CF(0.8)8),计计算算G G的可信度为的可信度为:CF2(G)=0.9CF2(G)=0.9min(0.7,0.8)=0.63min(0.7,0.8)=0.63 合并合并G G的可信度为的可信度为:CF(G)=CF1(G)+CF2(G)-CF1(G)CF(G)=CF1(G)+CF2(G)-CF1(G)CF2(G)CF2(G)=0.56+0.63-=0.56+0.63-0.560.560.63=0.840.63=0.84 要说明一点,当某个证据用户回答为要说明一点,当某个证据用户回答为no时时,不用不用给
50、可信度给可信度,它的可信度它的可信度 CF=0。应用举例:应用举例:有如下规则集和可信度:有如下规则集和可信度:R1:ABCG CF(0.8)R1:ABCG CF(0.8)R2:DEA CF(0.7)R2:DEA CF(0.7)R3:J R3:JKB CF(0.8)B CF(0.8)R4:PQC CF(0.9)R4:PQC CF(0.9)R5:F(R R5:F(RS)D CF(0.6)D CF(0.6)已知事实及可信度:已知事实及可信度:F(0.4),R(0.5),S(0.6),E(n),J(0.4),K(0.6),P(n),Q(0.4)F(0.4),R(0.5),S(0.6),E(n),J(