基于李磊老师的讲课和ppt
1,推理: 由事实推出结论的过程
2,推理中的基本问题:
推理的方法:解决结论和前提的逻辑关系,确定性传递
推理的控制策略:解决推理方向,冲突消解策略
3,推理的分类
按推理的逻辑顺序:演绎推理(一般到具体),归纳推理(具体抽象为一般,又可分为完全归纳推理和不完全归纳推理,区别在于是否满足全部的样例个体),缺省推理(默认某些常识性条件为真,事实上也非常可能为真的情况下进行推理,因为是假设,因此可能有错,因此需要不断按情况修正)
按推理的确定性分类:确定性推理(推理的证据,结论和知识都是确定的,比较简单,也是课程主要学的),非确定性推理(与之相反)
按推理的单调性:单调推理,非单调推理(产生的结论可能与知识库中的知识不相容,前面的归纳,缺省,不确定性推理都是非单调推理)
按是否使用启发式信息:启发式推理,非启发式推理
4,推理的控制策略:
搜索策略,上篇已讲,这里不再啰嗦
推理策略:
》方向控制:正向,逆向,混合
》推理冲突:推理过程中一个事实匹配到知识库中多个知识(正向情况下,逆向与之相反)而不能抉择选用哪条知识作为策略,虽然可以一一匹配找到最优的知识,但是在问题很复杂的时候容易造成组合爆炸或者浪费了太多时间
》置换合一:
>置换:t/x 用t置换x,但是t和x不能相同,置换的目的是为了改变集合的表示,因此不能出现循环置换,如{t/x,x/t},意为先进行t/x置6362,再进行x/t置换,最后t没变因此整体不是一个置换,置换的元素可以是谓词或者谓词公式
>合一:合一是寻找置换使得两个谓词或者谓词公式一致
>合一算法;寻找mgu(最一般合一者),简单来说是就是找出两个谓词公式或谓词的不同之处,通过一一置换,使得他们一致,在这个置换过程中的步骤就是寻找差异集合的步骤,也就是我们需要的合一算法。
5,推理的逻辑基础
》命题公式的解释:可以视为是谓词的结果集,根据命题公式的解释,就可以判定该命题公式的真值
谓词公式的永真性和可满足性:
永真性:在所有解释下真值均为真
可满足性:至少存在一个解释下真值为真
永假性:与永真相对
》(一些常见的永真蕴含式,来自李老师的ppt,可以不用记住,什么时候用临时查就好)
常用的永真蕴含式(P->Q永真则称P蕴含Q,记作P => Q)如下:
(1) 化简式 P∧Q ⇒ P, P∧Q ⇒ Q
(2) 附加式 P ⇒ P∨Q, Q ⇒ P∨Q
(3) 析取三段论 ﹁ P ∧(P∨Q) ⇒ Q
(4) 假言推理 P ∧(P→Q) ⇒ Q
(5) 拒取式 ¬Q∧(P→Q) ⇒ ﹁ P
(6) 假言三段论 (P→Q)∧(Q→R) ⇒P→R
(7) 二难推理 (P∨Q)∧(P→R) ∧(Q→R) ⇒ R
(8) 全称固化 (∀x)P(x) ⇒ P(y)
其中,y是个体域中的任一个体,依此可消去谓词公式中的全称量词。
(9) 存在固化 (∃x)P(x) ⇒ P(y)
其中,y是个体域中某一个可以使P(y)为真的个体,依此可消去谓词公式中的存在量词
》范式(谓词公式的标准形式)
>前束范式: 如果其中的所有量词均非否定地出现在公式的最前面,且它们的辖域为整个公式,则称F为前束范式,如(∀x) (∀y) (∃z)(P(x)∧Q(y,z)∨R(x,z))
>Skolem范式 : 如果前束范式中所有的存在量词都在全称量词之前,则称这种形式的谓词公式为Skolem范式,如(∃x) (∃z) (∀y)(P(x)∨Q(y,z)∧R(x,z))
任一谓词公式均可化为其相应的前束范式或者Skolem范式再进行化简。
》自然演绎推理(三段论):假言推理,拒取式,链式规则
一般解题步骤;定义谓词,将问题中的逻辑转化为谓词公式,推理
优点:简单 缺点:易产生知识爆炸
》归结推理(基于鲁滨逊归结原理(消解原理))
文字->子句(单个文字或者文字的析取式(并集))->子句集
>化为子句集的一般步骤:消去蕴含符号(常用的公式为p->q ó ~p并q)->缩小否定符号的辖域(双重否定,德摩根,量词转换)->变换变量名字->Skolem化(消去存在量词)->化为前束范式->消去全称量词->化为合取范式->将公式用子句集表示(化为子句集的步骤较为繁琐,去网上找些题目做一下就清楚步骤了)
>子句的不可满足性:在某解释下子句集S中只要有一个子句为假则S为假,空子句是不可满足的(合取式),因此含有空子句的子句集是不满足的,此外我们要证明一个谓词公式是不满足的,只要证明其子句集是不满足的即可
>归结式,消去两个谓词公式中相逆的部分后组成的新式子称为归结式,如C1 =PÚL,C2 =Q Ú ØL,消去两个子句中的互补对( L 和ØL ),两个子句剩下部分组成一个新的子句C12 =PÚQ,称子句C12 =PÚQ为C1和C2的归结式(消解式)(老师ppt上的例子)
>鲁滨逊归结原理:设子句C1、C2的归结式为C12,则归结式C12是C1、C2的逻辑结论。
即: 如果C1、C2同时为真, C12一定为真,表示为:C1,C2 => C12
n 归结反演证明:用一个老师ppt上的例子展示,比较简单
证明子句集S={AÚB, ﹁AÚB,AÚ﹁B,﹁AÚ﹁B}是不可满足的。
n 证明:
原有子句:
ª ①AÚB
ª ②﹁AÚB
ª ③AÚ﹁B
ª ④﹁AÚ﹁B
进行归结处理,归结式加入子句集:
ª ⑤B -- 归结①、②。
ª ⑥﹁B -- 归结③、④。
ª ⑦NIL -- 归结⑤、⑥。
出现空子句,S不可满足。
6,产生式推理系统:工作数据库<->推理机->规则库
主要工作是按照策略(正向,逆向,混合),从规则库中找到知识一一匹配推理,找到全部符合推理后得到的结果为结论,期间可能产生冲突,这样就需要用到冲突消解,有的时候找不到匹配的知识,那么就需要补充知识或者判定推理失败。
上面即为我所学的推理的内容,自己都感觉条理乱七八糟的,因为我学的时候有时乱开小差的,学的不怎么扎实,好多知识当时没听到,事后再回忆就感觉无从下手,因此一定要学而时习之,学完赶紧复习 *_*.