第九章 逻辑推理系统

温柔似野鬼°
745次浏览
2020年12月31日 10:44
最佳经验
本文由作者推荐

这一代人-顾村公园樱花节门票

2020年12月31日发(作者:曹思明)


第九章 逻辑推理系统
逻辑推理系统是知识获取最终应用的体现,即将在知识获取过程
中得到的知识应用于实际处理之中:根据对现实的观察,利用知识进
行推理,得到所需要的结论 ,如判定结果、控制策略等。

本章将讨论基于规则知识集的逻辑推理方法,以及相应的推理 控
制策略,并针对知识系统不一致性问题对不一致推理问题进行系统研
究。
9.1 逻辑推理方法
虽然知识是人类(或系统)求解问题的基础,知识的多寡决定了
一个人(或系统 )处理问题水平的高低,但使用知识进行推理的能力
对于一个人(或系统)来说同样是不可缺少的。人类 的推理有演绎推
理、类比推理、归纳推理等多种形式。
在这里,我们主要讨论演绎推理。演绎 推理是用判断性知识由已
知信息得出新信息的推理。调度、使用知识的方法称为控制策略。控
制 策略的好坏决定着系统求解问题的速度和质量。一个控制策略由两
部分组成:推理方法---- 按什么方式推理及如何评价结论的可靠性;搜
索策略----如何构造一条花费较少的推理路线。 按推理所得结论的可靠性不同,可以将推理分为精确推理和非精
确推理。在大多数实际应用系统中, 由于现实世界的不确定性,需要
在逻辑推理的过程中同时处理不确定性问题;
按照推理过程进 行的方式,可以将推理方法分为正向推理、反向
推理和混合推理。下面分别进行介绍。

9.1.1 正向推理
正向推理是一种数据驱动的推理方式,其基本思想是:从基本事
实出发,引用规则库中的规则,若某些规则的前提被满足,则执行这
132


些规则的结论部分(或者得到规则结论部分的结论);若这些规则的结论
部分形成新的事实,则再用同样 的方法,以这些新事实和原有的事实
为基础进行正向推理。
从上面的论述可以看到,正向推理 是一个递归过程,在程序实现
时要用递归程序设计思想。另外,如果规则库中的规则出现了循环推
理链,则推理过程难于结束。如有下面三条规则:
AB,
BC,
CA,
及一个基本事实A,根据正向推理的思想,由第一条规则可形成
新的事实B,再由B及第二条规 则可形成事实C,再由C及第三条规
则可形成事实A,„„。如果每产生一个事实(不管它是否已经存在 ),
都要搜索规则库中的规则,并激活条件成立的规则,那么很有可能会
使推理永无止尽。如上 面三条规则在生成逻辑结果A后又要进行相同
路线的推理,这在大多数应用中是不合理的。为此,既要解 决推理中
出现的循环推理链问题,又要使推理过程正确,就必须提供一种推理
控制机制,以控制 推理进程的扩展和结束。但由于应用领域中的要求
不同,提供一种通用的控制机制似乎不大可能。下面是 几种有用的控
制策略:
1.规定每一条规则只能成功地引用一次
当一条规则的前提 全为真时,说明该规则的结论部分可被执行(即
成功地引用),此时立即把该规则从规则库中删去。这样 ,无论产生的
事实性质怎样,都不会形成循环推理链。
2.始终利用正向推理的方法,直到没有新事实产生为止
一条规则的前提全为真时,就执行该 规则的结论部分。若结论中
产生了事实,先判断它(们)是否已经存在于事实库中,若不是,则
可在这些新事实的基础上继续推理;否则不能在这些事实驱动下进行
推理。
在这种方法中,用 事实驱动推理时,规则库的每一条规则都被检
查过,且被成功引用的规则都不从规则库中删除。其实,这 种方法并
不能保证不形成循环推理链,只是在较大程度上可使推理过程结束。
3.限制推理扩展深度
形成循环推理链的根本原因是允许推理过程的无限扩展,所以若
能在推理过程中限制扩展深度,一旦推理深度超过了限制,立即断开
推理链,并返回到上一层推理,就 避免了循环推理链。
如上面由三条规则形成的推理中,若规定推理深度为2,则当引用
133


了第二条规则并得到了事实C后,就不会再进行更深入的推理。
4.循环标志法
这种方法的核心是对每一次被驱动的事实,都记录其推理入口点。
在 同一个推理链中,若出现相同的推理入口点,则说明将要形成循环
推理链,返回到上层推理中。这种方法 与第三种方法有些类似,但它
对推理深度没有限制,只是动态地检查是否形成循环推理链。如有如
下规则库:
(1)AB,
(2)BC,
(3)CA,
(4)CD,
及基本事实A、E。方法4进行的一个推理链形成过程如表9.1-1
所示。

推理链 驱动事实 事实库
A
开始 A、B、E
B
A、B、C、E
C
A、B、C、E
A
A、B、C、E
C
A、B、C、D、E
D
终止 A、B、C、D、E
< br>当第二次用A作为驱动的事实时,其推理入口点在本次推理链中
已经出现过,所以不再进入推理入 口点(1),而是返回到上层推理(即
以C为驱动事实的推理)。

以上四种方法有各自的特点,读者可根据不同的需要作相应的选
择,或定义新的控制策略。 < br>这四种方法都假定:对驱动事实的选取采用“深度优先”的策略,
即新产生的事实先进行数据驱动 (实际上是堆栈方法)。对驱动事实的
选取当然还可采用“宽度优先”的策略,即:先产生的事实先被驱 动
(实际上是一种队列方法)。

表9.1-1 推理链
被引用规则 推理入口点
(1)
AB
(2)
BC
(3)
CA
 
(4)
CD
无 返回
134


9.1.2 逆向推理
逆向推理是一种目标驱动的推理方法,其基本思想是: 从要求解
的目标出发,寻找可得出有关该目标结论的规则,判断规则中的前提
是否满足,若满足 则该目标得到了证明。显然,没有一条这样的规则,
该目标就得不到证明。在引用规则时,若规则前提中 出现了没有得到
证明的新的日标,那么先要用相同的方法验证该子目标是否成立。所
以,逆向推 理总是按如下的方式展开推理进程:
目标建立子目标„„解决子目标解决目标。
在 推理过程中,最终的子目标实际上是一些基本事实,对这些基
本事实的证明并不需要用规则,它们可以是 事先设定的,也可以是在
推理过程中由用户实时地输入的,所以推理总是能够终止的。
但是,与正向推理一样,逆向推理也会产生循环推理链,如有三
条规则:
(1) AB,
(2) BC,
(3) CA。
现在把C作为顶层目标,并假设当 前的事实库是空的。为了得到
有关C的证明,就要用规则(2);而在引用规则(2)时,由于没有有关 前
提(B)的事实,所以要引用能得出关于B结论的规则(1);同样,在
引用规则(1)时, 没有有关A的事实,故要引用规则(3),在规则(3)的前
提中又出现了目标C。所以形成了如下的循 环推理链:
CBACB

(2)(1)(3)(2)
如果没有相应的推理控制机制,该推理链无法终止。下面是几种
有用的推理控制策略,可以保证 推理链在-定的条件下终止:
1.事先设置事实库
对于一些已经知道的基本事实,先放入到 事实库中,这样可以在
一定程度上避免出现循环推理链。如在上例中,若把A作为基本事实
先放 入到事实库中,则在引用规则(1)时,由于前提中需要的事实已
经存在而不必再引用规则(3)。
2.循环标志法
即在每一个推理链的开始,记录每个推理结点的入口处,在同一
推理 链中一旦出现两个相同的推理入口地址,就中断本次推理过程。
如上例中,推理链中第二次出现C时就可中断推理而不引用规则
135


(3),此时可以由用户输入关于A的事实,从而可确定规则(2)的前
提是否被满足,进一步确定规 则(2)的结论B是否成立,这样可确定
顶层目标C是否成立。

在逆向推理中,一 般不使用对推理深度的限制,因为从建立目标
到解决目标的过程中,到底要形成多少子目标事先无法预料 ,所以若
限制了推理深度,可能会得不到正确的推理结果。对逆向推理控制策
略的设计,读者还 可根据实际的领域特性加以修改。
9.1.3 混合推理
正向推理和反向推理是两种极端的 推理方法。正向推理可以充分
利用用户已知信息,但它有漫无目的地进行推理的趋势,与之相反,
反向推理的目的性较强,却不能充分利用用户已知信息。
混合推理可以扬长避短,它既能充分利用现 有信息,又能有目的
地进行推理。这种推理方法是人们处理问题时常用的推理方法。医生
诊断疾 病的过程就是一个非常典型的混合推理的例子。在诊断疾病时,
医生首先根据患者的各种症状形成患者有 某种疾病的假设(正向推
理),为了证实他的假设,医生确定出下步采集哪些信息对于验证假设
是有用的(反向推理);为获得这些信息,他可能安排患者去做某些化
验(相当于反向推理中要求用户提 供信息),当化验结果出来之后,医
生可以根据这些信息判断他的假设是否成立;如果化验结果不能证实
他的假设,医生又根据已知信息形成新的假设(正向推理)并为此寻
找有用的信息(反向推理) ,如此下去直至推断出患者的疾病。因此可
以把混合推理看成是“正向推理----反向推理”的循环。
除了能较好地避免盲目推理之外,混合推理可以避免盲目采集数
据,这对采集数据需要较高代价 的应用领域来说是很重要的。在医疗
诊断领域中,有些化验项目是需要很高代价的,它们不仅需要较高的
经济花费,而且对患者的身体有较大损害。因此除非有比较充分的证
据表明确有这种需要,否则 应尽量避免让患者做这些化验。

混合推理收集数据(要求用户输入数据)是根据正向推理结 果而
进行的。这意味着它是充分考虑现有信息,然后选择对验证假设最有
意义的数据去问用户, 所以它能较有效地避免采集无用数据。

136


9.2 知识表示系统的不一致性
由于现实世界中的信息往往是不确定的,而且人们认识事物的过
程也 是不断发展变化的,各人还有不同的主观观点,对事物的观察也
会有一定的偏差,甚至在有的情况下,还 不得不采用估计和猜测的方
法,,因此,我们的知识表达系统中往往存在一定程度上的不确
定性。在Rough集理论采用的决策表知识表达系统中,这种不确定性
主要表现在几个方面,例如我们 在第六章中讨论的,信息表中可能存
在遗失数据,我们需要对之进行补齐(或完整化),这显然是对现实 事
物(数据)的猜测;在离散化处理过程中,显然降低了数据的表示精
度;而且,由于一些观察 失误或者观察不足,还可能导致信息之间的
冲突。本节中,我们将对冲突信息进行分析讨论,为不一致性 的处理
提供思路。
通过对决策表的仔细研究,我们发现,在决策表中可能会存在如
下3种不一致信息:
1) 决策表中包含冲突(矛盾)样本,即两个样本的条件属性取值完
全相同,而决策(分类)属性的取 值不同。这种不一致性的产生,主要
有三种可能性:
◆一是条件属性不充分,根据所 采用的条件属性不能对样本进行
正确分类,必须增加额外的条件属性才能够正确区分样本;
◆二是样本属性值的测量或记录不准确;
◆三是在得到决策表的预处理过程中产生了冲突(如 在离散化过
程中可能将一些本来可以区分的样本变得不能区分了)。


2) 决策表中没有冲突的情况,在决策表化简过程中产生的不一致。
对于本身一致或不一致的决策表,有的化 简算法将导致一些新的不一
致性信息,比如Skowron的缺省规则获取方法。另外,为了使学习得< br>到的规则系统具有更大的适应能力,我们在处理过程中往往还需要有
意的引入一些不确定性。
3) 决策表只包含了所有可能样本(或者样本全集,问题空间)中的
一部份,没有包 括所有可能出现的样本情况,即待识样本和决策表中
的样本冲突。 这其实是一种很平常的冲突情况,因为我们用于获取规
137


则的决策表所包 含的样本是有限的,仅是样本全集中的一个子集(甚至
是一个很小的子集),从决策表中获得的规则,即 使在决策表中没有冲
突,也很可能对待识新样本作出矛盾的判定。
前两种不一致情况 ,是从待处理的决策表中就可以直接发现的,
而第3种不一致性是在规则知识的获取过程中所不能够预料 的,在发
现不一致情况之前,我们不能肯定系统是否包含不一致性。这样,不
一致性问题就成为 了归纳机器学习系统中固有的问题,如何处理这个
问题就是一个关键的问题。不一致性处理的效果如何, 就直接影响到
系统的性能。我们接下来就讨论在不一致条件下的推理策略问题。
9.3 不一致推理策略
不一致情况下的推理,就是要研究在不一致规则的作用下,如何
得到一个合适 的结论,这也可以视为冲突消解问题。
假设在一定前提条件下,多个规则得到满足,而他们的结论又不
相同,这样,我们怎样综合他们的结论,得到一个统一的、合适的结
论呢?人们曾经对此问题进 行了很多研究。下面对这个问题作一个介
绍。
9.3.1 加权综合法
所谓加权综 合法,就是为每条规则赋以一定的权值系数,将每条
规则所得到的不同的结论进行加权求和,得到最终的 结论。这种处理
方法,适用于数值型规则,即最终所得结论为数值。通常,在模糊推
理系统中采 用这种策略。
9.3.2 试探法
试探法的基本思想是,如果发生多条不一致规则同时得到 满足的
情况,就分别对这些规则所得到的不同的结论进行进一步的推理,如
果发现某些规则的后 续规则得不到结果,或者得到的结果不理想,就
可以考虑删除这条规则的结论,最终保留一个合适的结论 。这种方法
的代价就是搜索范围太大,而且,在一些控制系统中,推理过程是一
138


步结束的,无法根据后续规则来选择合适的规则,这种情况下,这种
处理策略就不一定 合适。
9.3.3 高信任度优先法
在不确定推理中,每条规则往往都对应于一定的可信度 ,推理得
到的结论也有一个与之相应的可信度。我们在第五章中介绍了几种不
确定知识的表达处 理方法。根据每条规则所得结论的可信度,我们可
以选择结论可信度最高的规则。
这种策略的 思想是,如果规则结论的可信度高,则系统最终得到
的结论将更可信,这有利于得到用户满意的结论。但 是,这种方法也
有局限性,比如,在几条不一致规则的结论同时具有最大可信度的时
候,无法运 用这一策略来选择合适的规则;另外,当一个规则的结论
可信度最高,而其他很多规则的结论具有稍微小 一点的可信度,这种
情况下也很难说规则结论可信度最高的规则就是最合适的规则。
9.3.4 多数优先原则
每条规则都是归纳问题空间中的一定样本而得到的,每条规则都< br>有一定的代表性,它代表着一定范围的样本。多数优先的规则选择策
略,就是认为覆盖多数样本的 规则(即根据多个样本得到的规则)具
有更大的适应性,具有得到合适结论的更高的概率。
我们采用定义5.4-2定义的不确定决策规则为例来说明多数优先的
规则选择策略。
多数优先推理方法的基本思想是:假设有两条不一致的规则R1和
R2同时与一个待识样本匹配,则:

Max


i
i1,2



1

1


2

2
,则γ=γi,
i



1

1
< br>
2

2
,则
① 若β1=β2,则γ=γi,

i
Max


i
i1,2


(即在频度一样的情况下选择可信度较大的那条规则的结论。)
② 若

1


2
,则
139


⑴ 若

1


2


1

1


2

2
(出现频度大的规则的可信度
高),则γ=γ1;
⑵ 若

1


2


2

2


1

1
(出现频度大的规则的可信度
低),则选取

Ma x


i

i
i1,2

2

多数优先的规则选择策略,在一些问题中是比较常见的。比如在表决
问题上,我们可以采取“少 数服从多数”的原则。但是,在一些问题
中,可能就不能取得好的结果。可以这样考虑,如果我们采取多 数优
先的策略,则难于得到特例的合适结果。
9.3.5 少数优先原则
基于对特 例的考虑,我们认为,在一些问题中,特例是很重要的,
我们必须予以考虑。这种情况下,我们就需要考 虑采用少数优先的规
则选择策略。

不一致情况下的少数优先推理算法
输入:待识样本所匹配的规则集Ω={Ri|i=1,„,n};
其中,规 则Ri的参数记为(α
i

i
),结论记为γ
i
,并且γ
i

γ
j
(i≠j)。对于有多条结论相同的规则 与待识样本匹配的情况,
取其中可信度最高的一条规则。
输出:待识样本的结论及其可信度。
第一步:确定样本的结论γ:

i< br>
i
i

1,

,n


γ=γ
i
, 若

i

i
Max

2
2
(如果有多个最大的

i
i
,则选择其中可信度最大的一个。)
第二步:确定结论的可信度CF:
CF = Min{α
i
β
i
|i=1,„,n}。
(即结论的可信度取所有匹配规则中最小的一个,相当于规则的合取运
算。)

下面对这种方法的特性作一简单分析。
140
2


假设有两条不一致的规则同时与一个待识样本匹配,则:

Min

< br>i
i1,2



1

1

2

2
,则γ=γi,
i

(即在可信度相同的情况下选择频度小的那条规则的结论。)


1

1


2

2
,则
① 若β1=β2,则γ=γi,

i
Max


i
i1,2


(即在频度一样的情况下选择可信度较大的那条规则的结论。)
② 若

1


2
,则

2

2


1

1
(规则 R2的出现频度小而可信度⑴ 若

1


2

高),则γ=γ2;
⑵ 若

1


2


1
1


2

2
(出现频度大的规则的可信度
高 ),则选取



i
,

i

i
Max


i

i
i1,2

22

1


1
(出。特例:

2

2
b
,现频度大的规则的可信度为1),不妨假设
2


1
a

则如果
ab
,则γ =γ1;否则,如果
a
如果
a
2
2

ab



1
,则γ=γ1;

ab



1
,则γ=γ2;如果
a
2

ab



1
,则γ=γi,


i

i
Max


i

i
i1,2
< br> 表面看来,多数优先策略和少数优先策略似乎是一对矛盾的规则
选择策略。其实,我们并不是说 这两种策略在各种情况下都适用,而
是在不同的情况下使用不同的策略会得到不同的结果,有的情况适用
多数优先策略,有的情况适用少数优先策略。如果在生成规则的时候,
出现频率高的样本和出现 频率低的样本都有相应的规则来反映它们,
那么多数优先策略应该更合适;如果在生成规则的时候,我们 优先生
成对应于出现频率高的样本的规则,这样如果仍然采用多数优先策略,
就将会导致出现频 率低的样本所对应的情况将被完全忽略掉,这显然
是不合适的,因此,在这种情况下,应该选择少数优先 策略。
141

不拘一格用人才-2015北京高考作文


张悬-公关策划方案


普陀山自驾游-从军行


闰月几年一次-工作的压力


人称代词和物主代词-鸟的天堂在哪里


animosity-留言文字


服装商品企划-汽车论文


有趣的谐音笑话-木匠