以下是关于《人工智能:一种现代方法》命题逻辑和一阶逻辑篇章的知识点索引:

------------------------------------CHAPTER 7 命题逻辑------------------------------------------------

基本语法

蕴含与推理

真值表枚举推理算法

逻辑表达式变换法则

推理模式

归结算法

定义

算法

[*]关于使用归结算法进行推理的理解:

“归结”算法对于输入的“析取式组成的合取式串”(全称“合取范式”CNF)的每个子部分(析取式)进行循环合并处理,

每当一轮的运行下来出现新的子部分则重复运行算法直到无新的子部分出现,或者出现了NULL子部分

一旦出现NULL子部分,说明输入式所表达的逻辑不可能存在实例(不存在式子得到满足的情况)

那么,对于 K |= A 是否成立的判断可采用验证“归结”的方式进行,

因为如果“蕴含”关系成立,那么必然有 (K ∧ ~A)无法得到满足为NULL,

也就是对(K ∧ ~A)运行归结算法会得到NULL的结果

回到Wumpus世界,当想要判断P[2,3]是否为true时 KB |= P[2,3],

可以对 (K ∧ ~P[2,3])运行归结算法然后看是否存在NULL即可,

若是,则P[2,3] = true是基于当前KB可100%确定的

否则,不确定,甚至P[2,3] = false (当然,P[2,3] = false 可以运行另一次归结算法进行验证)

前向链接

反向链接

对比与前向链接,反向链接由结论倒推至初始条件

------------------------------------CHAPTER 8 一阶逻辑------------------------------------------------

一阶逻辑基本概念 --- chapter 8.2

所谓“对象”是具体的,可以指出的,在区域中独一无二的

(比方说,“左腿”不是独一无二的,但是“查理的左腿”就是了,查理真的只有一条左腿,那只章鱼叫“保罗”....)

基本的符号和解释 --- chapter 8.2.2

从习题8.5可知,不是对于一个域中的每一个对象(项)都有一个常量符号

(似乎通俗的做法是以少数的常量对象通过函数来表示其他对象,比如用“X的梦想”代表那个“梦想”一样)

一个完整的解释-模型则要求有确定的常量符号/谓词符号/函数符号而且已经得到完全的推导,也就是求得了域的完整的闭包[详见习题8.5]

题目:已知一个域共有D个项,有C个常量符号(用来标注少数几个项),对于每个元数k,有个pk个输入k元组的谓词符号和fk个函数符号,k的范围是[1,A]并且认为存在nil的函数输出情形,问粗略估计所有的解释-模型数目

1)每个模型只有一个固定k时

                   D^c*[E(k,1,A)2^(D^k)]*[E(k,1,A)(D+1)^(D^k)]        // 可以看出谓词输入只有true/false两种情况,而函数输出有(D+1)种包括了nil

2)每个模型可有所有k时

                   D^c*[2^(D^1)*...*2^(D^A)]*[(D+1)^(D^1)*....*(D+1)^(D^A)]

谓词关系与函数虽然都以term作为输入,但是表达的输出不同

谓词输出的关系是输入的term之间的关系(true&&false),

而函数输出的则是基于函数内定规则与输入term所关联到的term

全称量词与存在量词 --- chapter 8.2.6

一阶逻辑的等价表示(x=y) --- chapter 8.2.7

一阶逻辑的断言 --- chapter 8.3.1

关于定理和公理与知识库的关系 --- chapter 8.3.2

一阶逻辑集合域 --- chapter 8.3.3

所谓“列表”不同于集合,列表的元素是有顺序关系的,而且允许重复元素以及nil空元素(同上一章节)[习题8.14]

一阶逻辑的同步规则与诊断规则 --- chapter 8.3

知识工程基本步骤 --- chapter 8.4.1