1、第第5 5章章 知识推理知识推理重点:领会推理、知识推理的概念 理解演绎推理与归纳推理的区别难点:RBR的推理方式5.1 知识推理概述知识推理概述5.1.1知识推理知识推理的概念的概念知识推理:知识推理:是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的知识进行机器思维和求解问题的过程。推理推理就是按某种策略从已知判断推出另一种判断的思维过程。推理的过程就是问题求解的过程,使问题从初始状态转移到目标状态的方法和途径。5.1.2 5.1.2 知识推理的内容知识推理的内容 智能系统的知识推理过程是通过推理机来完成的,所谓推理机就是智能系统中用来实现推理的程序。推理机的
2、基本任务就是在一定控制策略指导下,搜索知识库中可用的知识,与数据库匹配,产生或论证新的事实。搜索搜索和匹配匹配是推理机的两大基本任务。对于一个性能良好的推理机,应有如下基本要求:(1)高效率的搜索和匹配机制;(2)可控制性;(3)可观测性;(4)启发性。5.1.3 5.1.3 知识推理知识推理的类型的类型从方式上分,可分为演绎推理和归纳推理;从确定性上分,可分为确定性推理和不确定性推理;从单调性上分,可分为单调推理和非单调推理。一、根据知识推理方式分类一、根据知识推理方式分类1)演绎推理 演绎推理演绎推理是从已知的判断出发,通过演绎推出结论,是一种充分置信的推理,是由一般到个别的推理。演绎推理
3、是在已知领域一般性知识的前提下,通过演绎求解一个具体问题或证明一个结论的正确性,所以它所得的结论实际上早就隐含在前提之中,只不过通过演绎将已有的事实揭露出来。因此,一般地说,演绎推理只是一种利用已有知识的推理过程,并不能增加新知识。2)归纳推理 归纳推理归纳推理是由一类事物的大量事例推出该类事物普遍规律的一种推理方法。基本思想是先从已知事实中猜测一个结论,其后对此结论的正确性加以证明,是一种不充分置信的推理,是一种由个别到一般的推理,因此归纳推理可以增加新知识。二、根据知识推理确定性分类二、根据知识推理确定性分类确定性推理确定性推理当领域知识能用必然的因果关系表示,则推理得出的结论要么是肯定的
4、,要么是否定的。不确定性推理不确定性推理领域知识或用户给出的原始证据是不确定性的,推理的结论也只能用一种不确定性来度量。专家系统中主要使用的是不确定性推理。三、根据知识推理单调性分类三、根据知识推理单调性分类1)单调推理单调推理是指在推理过程随着推理向前推进及新知识的加入,推出的理论呈现单调增加的趋势,并且越来越接近最终目标。一个演绎推理的逻辑系统有一个无矛盾的公理系统,新加入的结论必须与公理系统兼容,因此新的结论与已有的知识不发生矛盾,结论总是越来越多,所以演绎推理是单调推理。2)非单调推理 非单调推理是指一些新知识的加入可能使某些原先推出的知识变为假的推理。(非单调推理的处理过程要比单调推
5、理的过程复杂和困难很多。因为当一项知识加入知识库而必须撤销某些以前已经推出的且已存入知识库的知识时,并非简单地把该项过时的知识去掉,而应将那些在证明时曾依赖被撤销知识的一切陈述撤销、或者再用新数据去证明它们。这种“撤销知识”的连锁反应过程需要反复进行直到不再需要进一步撤销时为止。)我们需要非单调推理的主要原因是:(1)由于缺乏完全的知识,只好对部分问题作暂时的假设。而这些假设可能是对的,也可能是错的。但错了以后要能够在某时刻得到修正,这就需要非单调推理。(2)客观世界变化太快,某一时刻的知识不能持久使用,这也需要非单调推理来维护知识库的正确性。四、根据知识推理方法分类四、根据知识推理方法分类1
6、)基于规则的推理(Rule Based Reasoning,RBR)基于产生式规则知识进行问题推理 其核心是演绎推理,从一组前提必然推导出某个结论 目前最广泛的应用,能较好地描述某些建模过程知识 2)基于模型的推理(Model-Based Reasoning,MBR)根据反映事物内部规律的客观世界的模型进行推理,一般采用结构化的深度领域知识求解问题,将问题描述成结构功能行为信息。作为一种深层次的推理方法,其具有较好的通用性,能处理创新问题的解,然后它存在系统维护困难、推理效率低、模型知识获取困难等缺点,在一定范围内限制其应用。3)基于事例的推理(Case-Based Reasoning,CBR
7、)基于事例的推理技术源于20世纪70年代,是人工智能发展过程中涌现出来的区别于RBR和MBR的一种推理模式。CBR是指利用旧的事例或经验来解决问题,评价方案,解释异常情况或理解新情况。CBR基于人的这种认知过程:人们在求解新问题时,常常回忆过去积累下来的类似情况的处理,通过对过去类似情况处理的适当修改来解决新的问题,过去的类似情况及其处理被用来评价新的问题及产生新的问题求解方案。其他方法还包括基于原型的推理、基于框架的推理和模糊推理等等。5.2 基于规则的推理RBR:基于产生式规则知识进行问题推理特点:(1)具有很强的推理能力和较高的推理效率;(2)知识表示形式简单,通常是IF-THEN结构,
8、易于系统实现;(3)知识获取困难,需要靠人工“移植”方式获取专家知识,知识库维护困难;(4)运行效率随Rule Base规模的增大而迅速降低;(5)对于非结构化的知识组织形式,求解复杂问题困难。推理与知识表示方法直接相关,产生式规则表示方产生式规则表示方法提供了最基本的推理模式法提供了最基本的推理模式。他与框架、谓词逻辑等其他表示方法相结合,可提供功能更强、更灵活的推理方法。1.1.产生式系统的组成产生式系统的组成 产生式系统一般由三个基本部分组成:产生式系统一般由三个基本部分组成:规则库、综合数规则库、综合数据库和推理机。据库和推理机。它们之间的关系如下图所示。它们之间的关系如下图所示。20
9、22-7-2919 用于描述某领域内知识的产生式集合,是某用于描述某领域内知识的产生式集合,是某领领域知识域知识(规则规则)的存储器的存储器,其中的规则是以,其中的规则是以产生式形产生式形式式表示的。规则库中包含着将问题从初始状态转换表示的。规则库中包含着将问题从初始状态转换成目标状态成目标状态(或解状态或解状态)的那些变换规则。的那些变换规则。规则库是专家系统的核心规则库是专家系统的核心,也是一般产生式系,也是一般产生式系统赖以进行问题求解的基础,其中知识的完整性和统赖以进行问题求解的基础,其中知识的完整性和一致性、知识表达的准确性和灵活性以及知识组织一致性、知识表达的准确性和灵活性以及知识
10、组织的合理性,都将对产生式系统的性能和运行效率产的合理性,都将对产生式系统的性能和运行效率产生直接的影响。生直接的影响。(1 1)规则库)规则库:2022-7-2920 综合数据库综合数据库又称为又称为事实库事实库,用于存放输入的,用于存放输入的事实、从外部数据库输入的事实以及中间结果事实、从外部数据库输入的事实以及中间结果(事事实实)和最后结果的工作区。当规则库中的某条产生和最后结果的工作区。当规则库中的某条产生式的前提可与综合数据库中的某些已知事实匹配式的前提可与综合数据库中的某些已知事实匹配时,该产生式就被激活,并把用它推出的结论放时,该产生式就被激活,并把用它推出的结论放入综合数据库中
11、,作为后面推理的已知事实。入综合数据库中,作为后面推理的已知事实。显然,显然,综合数据库的内容是在不断变化的综合数据库的内容是在不断变化的,是动态的。是动态的。(2 2)综合数据库)综合数据库:2022-7-2921 推理机是一个或一组程序,推理机是一个或一组程序,用来控制和协调规则库与综合数据库的运行,包含了推理方式和控制策略。控制策略的作用就是确定选用什么规则或如何应用规则。通常从选择规则到执行操作分3步完成:匹配、冲突解决和操作。(3 3)推理机)推理机:1)1)匹配:匹配:匹配就是将当前综合数据库中的事实与规则中的条件进行比较,如果相匹配,则这一规则称为匹配规则。2)2)冲突解决:冲突
12、解决:冲突解决的策略有很多种,其中专一性排序、规则排序、规模排序和就近排序是比较常见的冲突解决策略。3)3)操作:操作:操作就是执行规则的操作部分。经过操作以后,当前的综合数据库将被修改,其他的规则有可能将成为启用规则。因为可能同时有几条规则的前提条件与事实相匹配,究竟选哪一条规则去执行呢?这就是规则冲突解决。通过冲突解决策略选中的在操作部分执行的规则称为启用规则。2022-7-2923产生式系统推理机的推理方式有产生式系统推理机的推理方式有正向推理正向推理、反向推理反向推理和和双向推理双向推理三种。三种。2.2.产生式系统的推理方式产生式系统的推理方式正向推理正向推理是从是从已知事实已知事实
13、出发,通过规则库求得结论。出发,通过规则库求得结论。正向推理方式也被正向推理方式也被称为数据驱动方式称为数据驱动方式或或自底向上的方自底向上的方式式。这种推理方式是由数据到结论,所以也叫数据驱动策略。推理方式如下所示:初始状态 目标状态(事实条件)(结论假设)(1 1)正向推理)正向推理搜索规则(知识)库,逐条检查规则的前提在事实库中是否存在若各子项不全都存在,则放弃该规则;若全都存在,则执行该规则,并把结论放入综合数据库或对综合数据库进行必要的修改。反复执行以上过程,直至推出目标正向推理过程是:正向推理过程是:2022-7-29举例问题根据产生式规则,诊断疾病并提出治疗方案产生式规则R1:毛
14、囊皮根微红肿轻型R2:鼻塞流涕外感风热R3:舌苔薄黄胃纳差胃肠积热R4:眼睑局部明显红肿重型R5:眼睑局部红肿顶尖有脓点重型2022-7-29R6:脓点破溃晚期 R7:轻型外感风热轻风热型R8:重型外感风热重风热型R9:重型胃肠积热重积热型R10:轻型散瘌法R11:晚期外敷药物R12:轻风热型散瘌加罐R13:重风热型挑瘌加罐R14:重积热型放血法2828正向推理循环次数使用规则事实变动情况输入“眼睑局部红肿”“顶尖有脓点”“舌苔薄黄”“胃纳差”1R3加入“胃肠积热”2R5加入“重型”3R9加入“重积热型”4R14加入“放血法”正向推理计算机利用正向推理求解问题时:先将事实数据存入计算机的事实库
15、中,将领域知识表示为规则,存入规则库中。推理时将问题的事实与规则的前提进行匹配。前提可能由条件或子句集合组成,如果规则前提中的所有子句被匹配成功,则执行这条规则。将执行后所得的新事实存入事实库中,再次寻找匹配的规则,直至得出结论。事实库规则库匹配执行正向推理示例交通事故示例:谓词:年龄(x)/表示x的年龄中年人(x)/表示x是中年人老练(x)/表示x很老练细心(x)/表示x很细心有驾驶技术(x)/表示x有驾驶技术不出交通事故(x)/表示x不出交通事故事实F1:年龄(李先生)=43/李先生的年龄是43F2:有驾驶技术(李先生)/李先生有驾驶技术正向推理示例交通事故示例:规则:(正向规则表示)R1
16、、If 年龄(x)小于等于55 and 年龄(x)大于等于35Then 中年人(x)R2、If 中年人(x)Then 老练(x)R3、If 中年人(x)Then 细心(x)R4、If 老练(x)and 细心(x)and 有驾驶技术(x)Then 不出交通事故(x)正向推理示例交通事故示例:目标结论:李先生不出交通事故。推理过程 (用规则的前提匹配事实)R1:年龄(李先生)小于等于55 and 年龄(李先生)大于等于35 中年人(李先生)(F1:年龄43)R2:R2:中年人(李先生)老练(李先生)R3:R3:中年人(李先生)细心(李先生)R4:R4:老练(李先生)and 细心(李先生)and 有
17、驾驶技术(李先生)不出交通事故(李先生)(F2F2)正向推理的冲突解决策略正向推理利用规则的前提匹配事实,那么如果有多条规则匹配当前的事实的情况,就必须应用某种策略决定首先应用哪些规则,这种策略叫做冲突解决策略。正向推理的冲突解决策略选择一条只选择匹配事实的第一条规则。顺序选择按匹配规则的顺序执行,前面建立的新事实可被后面的规则使用。详细规则优先优先选择条件部分最详细的规则。(认为基于较多信息的规则得出的结论是较好的)。可根据条件元素的个数和执行条件部分的成本来决定优先度。正向推理的冲突解决策略重要度优先预先给各规则赋予表示其重要程度的权值,在处理冲突规则时,选择权值最高的规则。最近优先法优先
18、选择与最近加入事实库中的事实相匹配的规则。在这种情况下,各数据元素被赋予时间标志。在以实时控制为目标的事件驱动型推理中,常使用这种策略。正向推理算法正向推理的一般算法:1.扫描规则库,产生可用规则集S,这些规则左边条件均为真,即都被问题的条件事实满足;2.调用解决冲突算法,从S中选出规则R;3.执行规则R右边的结论部分,将产生的新事实加入事实库;4.若目标得证或无新的事实产生,则停止;否则转2。正向推理算法采用顺序选择方法的正向推理算法:1.从规则集合的第一条规则开始,执行:根据问题的条件证明该规则的前提是否成功,若成功,则将该规则的结论加入事实库。检查问题的目标是否被证明,若被证明,则成功,
19、停止推理。2.重复步骤和证明规则集合中的下一条规则,直到规则集合中的所有规则被证明过。反向推理反向推理是从是从目标目标(作为假设)出发,反向使用规则,(作为假设)出发,反向使用规则,求得已知事实。这种推理方式也被称为求得已知事实。这种推理方式也被称为目标驱动方式目标驱动方式或或自顶向下的方式自顶向下的方式。这种推理方法由目标到数据,因此也称为目标驱动策略。推理方式如下所示:初始状态 目标状态(事实 条件)(结论 假设)(2 2)反(逆)向推理)反(逆)向推理反(逆)向推理过程是:从目标开始,寻找以目标为结论的规则,并对该规则的前提进行判断若前提中某子项是另一规则的结论,则找此结论的规则重复以上
20、过程,直到对某规则的前提能够进行判断按对规则前提的判断(“是”或“否”)得出对结论的判断,并回溯到对上一规则的推理,一直回溯到对目标的判断推理树是指按逆向推理把规则库所含总目标作为根结点,按规则的结论和前提展开成的一棵”树”举例R1:AG R2:BCGR3:IJA R4:KAR5:XFJ R6:LBR7:MC R8:ECR9:WZM R10:PQE推理树逆向推理逆向推理示例交通事故示例:谓词年龄(x)/表示x的年龄中年人(x)/表示x是中年人老练(x)/表示x很老练细心(x)/表示x很细心有驾驶技术(x)/表示x有驾驶技术不出交通事故(x)/表示x不出交通事故事实F1:年龄(李先生)=43/李
21、先生的年龄是43F2:有驾驶技术(李先生)/李先生有驾驶技术逆向推理示例交通事故示例:规则:(逆向规则表示法)R1、中年人(x)If 年龄(x)小于等于55 and 年龄(x)大于等于35R2、老练(x)If 中年人(x)R3、细心(x)If 中年人(x)R4、不出交通事故(x)If 老练(x)and 细心(x)and 有驾驶技术(x)逆向推理示例交通事故示例:目标假设:李先生不出交通事故。推理过程(用目标匹配规则的结论)不出交通事故(李先生)(R4)老练(李先生)细心(李先生)有驾驶技术(李先生)(F2)老练(李先生)中年人(李先生)(R2)细心(李先生)中年人(李先生)(R3)中年人(李先
22、生)(R1,F1)年龄(李先生)小于等于55 年龄(李先生)大于等于35 逆向推理算法 设目标为G,逆向推理算法为:(1)扫描事实库,找出与目标G匹配的事实F,若F存在,则成功返回。(2)扫描规则库,找出结论与目标G匹配的规则集S(3)如果S为空:则失败返回。(4)如果S非空且G未知,重复执行以下操作:调用解决冲突算法,从S中选出规则R;将规则R的前提部分作为子目标G,若G未知,递归调用本算法;若G为真,执行R的结论部分,并且从S中删除规则R。47双向推理双向推理是一种既是一种既自顶向下自顶向下又又自底向上自底向上的推理。的推理。推理从两个方向同时进行,直至某个中间界面推理从两个方向同时进行,
23、直至某个中间界面上两方向结果相符便成功结束。上两方向结果相符便成功结束。不难想象,这种双向推理较正向或反向推理所形成的推理网络来得小,从而推理效率更高。(3 3)双向推理)双向推理双向推理正向推理的主要缺点是盲目推理,求解了许多与总目标无关的子目标。逆向推理的主要缺点是盲目选择目标求解了许多可能为假的总目标,双向推理综合利用正向推理和逆向推理的优点,即通过正向推理帮助选择某个目标,再通过逆向推理证明该目标。推理方式如下所示:初始状态 目标状态(事实条件)(结论假设)双向推理算法双向推理的算法是:重复执行以下步骤,直到问题被解决:1.输入事实;2.调用正向推理算法,从已知事实出发演绎出部分结果,形成结论集S;3.调用选择目标算法,从S中选出某个结论作为目标G;4.调用逆向推理算法,确定目标G的真假性。