人工智能推理——归结反演,学习记录

自己也是一个在为期末考试加班赶点的大学牲,考试前对归结反演这一部分进行了“复习”(平时学校课程安排的不太好,所以和预习差不多),下面是我在学完以后的个人理解,通过博客的形式让自己巩固加深一下,顺便给更多对归结反演有困难的人一些帮助。如果大佬们觉得有哪些地方不对的希望能在评论区里批评一下。下面是正文:

1.归结反演的原理:

        如果通过多个条件可以推出一个结论是恒对的,那么通过一样的条件一定推不出和正确结论相反的结论。即如果可以推出结论P,那么~P就一定推不出。同时~P如果和之前的条件们一起归结,一定会形成空集\o。(在本文中的归结可以简单理解为将各个条件进行“且\wedge,也可以叫合取”的运算)

        于是我们在证明一个结论的时候就可以选择将条件一起与~P进行归结,通过最后的结果是否为空判断结论P是否正确,是空集,则P正确,反之,P不正确。

2.一些基本公式

        \Leftrightarrow代表等价

人工智能推理——归结反演,学习记录_第1张图片

 还有一个P\rightarrowQ\Leftrightarrow~P\veeQ

3.具体实操

1.将题目中的所有条件转化为子句集(不明白的上百度搜一下即可),如果有”\wedge“的存在,就将该子句化为两个子句;如果有P\veeQ\rightarrowR这样的存在,可以将P,Q分开,写成两个蕴含式。注意:结论也要写成子句的形式,并取“非”,加入子句集中。

2.将子句集互相结合,逐步消解,最终得到一个空集(这个过程是考验个人的悟性的,也需要一定的题量来摸索,只可意会言传不了)。

例题:

某公司招聘工作人员,A、B、C三人应试,经面试后公司表示如下想法:

(1)三人中至少录取一人。

(2)如果录取 A 而不录取 B,则一定录取 C。

(3)如果录取 B,则一定录取 C。

求证:公司一定录取 C。

建议自己按照步骤试一下,第一次肯定无从下手,看完答案可以再试着写一遍,或者看着答案写,自己化简那些子句。其他的题就自行上百度搜索“归结推理”,百度文库有不少PPT

证明:谓词 P(x)表示公司录取 x;将已知条件表示如下:

        P(A) ∨P(B) ∨P(C)

        (P(A) ∧ P(B) ) P(C)

        P(B) → P(C)

        结论的否定式表示如下:

        ~ P(C)

        将上述 4 个公式化为子句集:

        1. P(A) ∨P(B) ∨P(C)

        2. ~ P(A) ∨P(B) ∨P(C)

        3. ~ P(B) ∨P(C)

        4. ~ P(C)

应用归结原理进行归结:

        5. P(B) ∨P(C) 1、2 归结

        6. P(C) 3、5 归结

        7. \varnothing  4、6 归结

        大佬们如果觉得哪里不对或者不好的地方,以及读者的疑问,欢迎评论区留言。

 

你可能感兴趣的:(人工智能,经验分享)