第3章 确定性推理方法
前面讨论了把知识用某种模式表示出来存储到计算机中去。但是,为使计算机具有智能,还必须使它具有思维能力。推理是求解问题的一种重要方法。
3.1 推理的基本概念
3.1.1 推理的定义
推理:已知事实(证据)
知识 某种策略
结论
3.1.2 推理方式及其分类
1.演绎推理、归纳推理、默认推理
(1)演绎推理 (deductive reasoning):一般 个别
三段论式(三段论法)
- 足球运动员的身体都是强壮的 ;( 大前提 )
- 高波是一名足球运动员; ( 小前提 )
- 所以,高波的身体是强壮的。( 结 论 )
(2)归纳推理(inductive reasoning):个别 一般
完全归纳推理(必然性推理)
不完全归纳推理(非必然性推理)
完全归纳推理:检查全部产品合格
该厂产品合格。
不完全归纳推理:检查全部样品合格该厂产品合格
(3)默认推理(default reasoning,缺省推理)
知识不完全的情况下假设某些条件已经具备所进行的推理。
A 成立
B 成立? 结论
(默认B成立)
2.确定性推理、不确定性推理
(1)确定性推理:推理时所用的知识与证据都是确定的,推出的结论也是确定的,其真值或者为真或者为假。
(2)不确定性推理:推理时所用的知识与证据不都是确定的,推出的结论也是不确定的。
不确定性推理:似然推理(概率论)、近似推理或模糊推理(模糊逻辑)
3.单调推理、非单调推理
(1)单调推理:随着推理向前推进及新知识的加入,推出的结论越来越接近最终目标。(基于经典逻辑的演绎推理)
(2)非单调推理:由于新知识的加入,不仅没有加强已推出的结论,反而要否定它,使推理退回到前面的某一步,重新开始。(默认推理是非单调推理)
4.启发式推理、非启发式推理
启发性知识:与问题有关且能加快推理过程、提高搜索效率的知识。
3.1.3 推理的方向
推理方向:正向推理、逆向(反向)推理、混合推理、双向推理
1.正向推理
正向推理(事实驱动推理): 已知事实 结论
基本思想:
(1)从初始已知事实出发,在知识库KB中找出当前可适用的知识,构成可适用知识集KS。
(2)按某种冲突消解策略从KS中选出一条知识进行推理,并将推出的新事实加入到数据库DB中作为下一步推理的已知事实,再在KB中选取可适用知识构成KS 。
(3)重复(2),直到求得问题的解或KB中再无可适用的知识。

实现正向推理需要解决的问题:
- 确定匹配(知识与已知事实)的方法。
- 按什么策略搜索知识库。
- 冲突消解策略。
正向推理简单,易实现,但目的性不强,效率低。
2.逆向推理
逆向推理需要解决的问题:
- 如何判断一个假设是否是证据?
- 当导出假设的知识有多条时,如何确定先选哪一条?
- 一条知识的运用条件一般都有多个,当其中的一个经验证成立后,如何自动地换为对另一个的验证?
...
逆向推理:目的性强,利于向用户提供解释,但选择初始目标时具有盲目性,比正向推理复杂。
3.混合推理
正向推理:盲目、效率低。
逆向推理: 若提出的假设目标不符合实际,会降低效率。
正反向混合推理:
(1)先正向后逆向:先进行正向推理,帮助选择某个目标,即从已知事实演绎出部分结果,然后再用逆向推理证实该目标或提高其可信度;
(2)先逆向后正向:先假设一个目标进行逆向推理,然后再利用逆向推理中得到的信息进行正向推理,以推出更多的结论。


4.双向推理
双向推理:正向推理与逆向推理同时进行,且在推理过程中的某一步骤上“碰头”的一种推理。

3.1.4 冲突消解策略 PPT P28-29
3.2 自然演绎推理
自然演绎推理:从一组已知为真的事实出发,运用经典逻辑的推理规则推出结论的过程。
推理规则:P规则、T规则、假言推理、拒取式推理
假言推理:
“如果x是金属,则x能导电” , “铜是金属” 推出 “铜能导电”
拒取式推理:
“如果下雨,则地下就湿” , “地上不湿” 推出 “没有下雨”
错误:(PPT P32)
否定前件:
肯定后件:
例 已知事实:
(1)凡是容易的课程小王()都喜欢;
(2)班的课程都是容易的;
(3)是
班的一门课程。
求证:小王喜欢这门课程。
证明:
定义谓词:
:
是容易的
:
喜欢
:
是
班的一门课程
已知事实和结论用谓词公式表示:
应用推理规则进行推理:
(全称固化)
所以
(P规则及假言推理)
所以
(T规则及假言推理)
优点:
表达定理证明过程自然,易理解。
拥有丰富的推理规则,推理过程灵活。
便于嵌入领域启发式知识。
缺点:易产生组合爆炸,得到的中间结论一般呈指数形式递增。
归结演绎推理
反证法:,当且仅当
,即
为
的逻辑结论,当且仅当
是不可满足的。
定理:为
的逻辑结论,当且仅当
是不可满足的。
3.3 谓词公式化为子句集的方法
原子(atom)谓词公式: 一个不能再分解的命题。
文字(literal):原子谓词公式及其否定。
:正文字,
:负文字。
子句(clause):任何文字的析取式。任何文字本身也都是子句。()
空子句(NIL):不包含任何文字的子句。空子句是永假的,不可满足的。
子句集:由子句构成的集合。
例 将下列谓词公式化为子句集
步骤:
(1)消去谓词公式中的“ ”和“
”符号
得:
(2)把否定符号 移到紧靠谓词的位置上,使得每个否定符号最多只作用于一个谓词上
双重否定律
德.摩根律
量词转换律
得:
(3)变量标准化,在一个量词的辖域内,把谓词公式中受该量词约束的变元全部用另一个没有出现过的任意变元代替,使不同量词约束的变元有不同的名字。
(4)消去存在量词
分为两种情况:
- 存在量词不出现在全称量词的辖域内。
- 存在量词出现在一个或者多个全称量词的辖域内。
对于一般情况
存在量词的
函数为
Skolem化:用Skolem函数代替每个存在量词量化的变量的过程。
(5)化为前束形
前束形 = (前缀){母式}
(前缀):全称量词串
{母式}:不含量词的谓词公式
(6)化为标准形
(7)略去全称量词
由于母式中的全部变元均受全称量词的约束,并且全称量词的次序已无关紧要,因此可以省掉全称量词。但剩下的母式仍假设其变元是被全称量词量化的。
(8) 消去合取词
在母式中消去所有合取词,把母式用子句集的形式表示出来。
{
}
(9)子句变量标准化
对子句集中的某些变元重新命名,使任意两个子句中不出现相同的变元名。
{
}
3.4 海伯伦定理 PPT 49-53 重点把例子看懂
3.5 鲁滨逊归结原理
子句集中子句之间是合取关系,只要有一个子句不可满足,则子句集就不可满足。
鲁宾逊归结原理(消解原理)的基本思想:
检查子句集中是否包含空子句,若包含,则
不可满足。
若不包含,在中选择合适的子句进行归结,一旦归结出空子句,就说明
是不可满足的。
1.命题逻辑中的归结原理(基子句的归结)
定义(归结):设与
是子句集中的任意两个子句,如果
中的文字
与
中的文字
互补,那么从
和
中分别消去
和
,并将二个子句中余下的部分析取,构成一个新子句
。
例:设

定理:归结式是其亲本子句
与
的逻辑结论。即如果
与
为真,则
为真。
推论1:设与
是子句集
中的两个子句,
是它们的归结式,若用
代替
与
后得到新子句集
,则由
不可满足性可推出原子句集
的不可满足性,即:
的不可满足性
![]()
的不可满足性
推论2:设与
是子句集
中的两个子句,
是它们的归结式,若
加入原子句集
,得到新子句集
,则
与
在不可满足的意义上是等价的,即:
的不可满足性
![]()
的不可满足性
2.谓词逻辑中的归结原理(含有变量的子句的归结)

定义:设是两个没有相同变元的子句,
和
分别是
和
中的文字,若
是
和
的最一般合一,则称
为
和
的二元归结式。
对于谓词逻辑,归结式是其亲本子句的逻辑结论。
对于一阶谓词逻辑,即若子句集是不可满足的,则必存在一个从该子句集到空子句的归结演绎;若从子句集存在一个到空子句的演绎,则该子句集是不可满足的。
如果没有归结出空子句,则既不能说不可满足,也不能说
是可满足的。
3.6 归结反演
应用归结原理证明定理的过程称为归结反演。
用归结反演证明的步骤是:
(1)将已知前提表示为谓词公式。
(2)将待证明的结论表示为谓词公式,并否定得到
。
(3)把谓词公式集{} 化为子句集
。
(4)应用归结原理对子句集中的子句进行归结,并把每次归结得到的归结式都并入到
中。如此反复进行,若出现了空子句,则停止归结,此时就证明了
为真。
3.7 应用归结原理求解问题
应用归结原理求解问题的步骤:
(1)已知前提用谓词公式表示,并化为子句集
;
(2)把待求解的问题用谓词公式表示,并否定
,再与
构成析取式
;
(3)把化为子句集,并入到子句集
中,得到子句集
;
(4)对应用归结原理进行归结;
(5)若得到归结式,则答案就在
中。