人工智能第8章 一阶逻辑FOL

目录

表示语言

一阶逻辑和命题逻辑的本体论约定(关于世界本质的假设)不同:

一阶逻辑的模型

量词与连接词

数据库语义

命题推理与一阶推理

 全称量词实例化推理规则(UI规则)

 存在量词实例化推理规则(EI规则)skolem化

在全称量词辖域内的存在量词

前向链接

高效的前向链接

规则前提与已知事实进行匹配:合取排序

增量前向链接

避免产生无关的事实


表示语言

程序 表示的是计算 过程 ,程序中的 数据结构 可以表示 事实 。程序设计语言 缺少 从事实推导出
其他事实的 通用 机制,数据结构的每次更新都需要特定领域的 专门 过程完成。
命题逻辑 描述性 语言,知识和推理是 分开的 ,推理完全 独立 于领域。命题逻辑的缺点是无
法描述有很多 对象 的环境。 命题逻辑难以表示 部分 全部 对象
阶逻辑语言 结合形式语言和自然语言 的优势 ,围绕对象和关系建立,可以表示关于部分或
全部对象的事实。

一阶逻辑和命题逻辑的本体论约定(关于世界本质的假设)不同:

命题逻辑假定 世界中的事实要么成立要么不成立
每个事实只能处于真或假两种状态之一,每个模型对每个命题符号赋值true false
一阶逻辑假设 世界由对象构成,对象之间的某种关系或者成立或者不成立

一阶逻辑的模型

包含一个非空对象集合以及一个解释。解释将常量符号映射到对象 谓词符号映射到对象之间的关系函词映射到对象上的函数

量词与连接词

一阶逻辑描述“有的病人喜欢所有的医生,但是没人喜欢庸医。”

F1:(∃x)(P(x)∧(∀y)(D(y)=>L(x,y)))

F2:(∀x)(P(x)=>(∀y)(Q(y) =>┓L(x,y)))

等词:两个项指代同一个对象

数据库语义

关键字假设: 坚持每个常量符号指代一个不同的对象
论域闭包: 每个模型只包括常量符号指代的对象。
封闭世界假设: 假设我们不知道的所有原子语句事实上都为假。
数据库语义 区分于标准的 阶逻辑语义

 

命题推理与阶推理

全称量词实例化推理规则(UI规则)

全称量化的语句可以推理出用 没有变量的项(基项) 代换全称量化变量得到的语句。

存在量词实例化推理规则(EI规则)skolem化

存在量化的语句可以推理出 skolem常量 代换存在量化变量得到的语句

 

g在知识库里;而k没有在知识库的其他地方出现过,是一个新的名称。

全称量词实例化可以多次应用获得不同的结果;

存在量词实例化只能应用一次,然后在量化的语句就可以被抛弃。

在全称量词辖域内的存在量词

利用谓词逻辑表示下列知识(包括已知和结论),然后化成子句集:
(1)凡是清洁的东西就有人喜欢;
(2)人们都不喜欢苍蝇
求证:苍蝇是不清洁的。
证:现定义如下谓词 L(x,y)------某人 x 喜欢某物 y; P(y)------ 某物 y 是清洁的东西

当知识库中包含函词时, 基项置换集 可能是无限的,因为 可以构造无限多个嵌套项
如果某个语句被原始的一阶知识库蕴涵,则存在一个 只涉及命题化知识库的有限 子集。
阶逻辑的蕴涵问题是 可判定的—— 存在算法能够证明被蕴涵的语句,不存在算法否定不被蕴涵的语句。

前向链接

限定子句 :正好只有一个正文字的子句。
它可以是原子语句; 或是蕴含语句,蕴含语句的前提是正文字的合取, 结论是单个正文字。
命题逻辑中,建立在限定子句上的 前向链接算 从知识库中的原子语句出发,在前向推理
中应用 假言推理规则 ,增加新的原子语句,直到不能进行任何推理。
阶限定子句 中,假设变量是全称量化的,书写时省略全称量词
有些知识库可写成限定子句的集合,但并非每 个知识库都可写为限定子句的集合( 单一正文字的限制过于严格)
  数据日志类知识库不包含函词。数据日志是一种受限于没有函词的一阶限定语句的语言。没有函词的推理更容易。 数据日志可以表示由关系数据库生成的语句类型
前向链接是可靠的,完备的。

从统计可能添加的事实开始,该数值决定了迭代的最大次数。令k表示谓词的最大元数(参数的个数),p表示谓词的数量,n表示常量符号的数量。显然,不重复的基本事实不会多于p n^k个,所以经过多次迭代后,算法一定能到达某个不动点。

高效的前向链接

规则前提与已知事实进行匹配:合取排序

合取排序问题 :对规则前提的合取项进行排序 ,使总成本最小。
寻求最优排序是 NP 难题但有好的启发式可用。例如CSP 最少剩余值( MRV 启发式建议

增量前向链接

避免重复匹配 ;逐步完成不完全匹配
增量前向链接 必须使用前一 次迭代中得到的事实 进行本次迭代的推理得到新的事实
改进: 保留 并逐步完成不完整匹配 ,而不是舍弃。
命题逻辑的前向链接使用 count 实现了不完整匹配。

避免产生无关的事实

利用目标信息重写规则集 ,从而在前向推理过程中只考虑相关的变量绑定—— 魔法集

后向链接算法
后向链接是一种深度优先搜索算法
一旦合取式中的某个子目标得以成功实现,它的置换要用于后续子目标。
一类与或搜索:
或:目标查询可以被知识库的规则证明
与:子句中的合取项列表必须被证实

归结

转换成CNF步骤:
1. 删除蕴含词:  D(y)=>L(x,y)        ┓D(y)∨L(x,y)

2. ┓否定内移,量词转换

3. 标准化变量:去重用的变量  

4.  Skolem化  (∃x)(P(x)  P(a)

5. 将所有量词移到左边

6. 删除全称量词

7. 利用分配律∨内移,∧外移

将以下语句转化为合取范式:

(∃x)(P(x)∧(∀y)(D(y)=>L(x,y)))     

(∃x)(P(x)∧(∀y)(┓D(y)∨L(x,y)))     

P(a)∧(∀y)(┓D(y)∨L(a,y))     

(∀y)(P(a)∧(┓D(y)∨L(a,y)))     

P(a), ┓D(y)∨L(a,y) 

归结推理:

用归结导出 KB为空:

归结步骤:问题转化为FOL,再转化为CNF,加上询问句a的反,使用规则导出空,从而证明了a

归结策略:

单元优先:优先对包含一个单文字(也称单元子句)的语句进行归结

最佳优先搜索:权重(与规模和难度相关)小的优先执行

支撑集:归结的每一步都须涉及至少一个特殊子句集(支撑集)的元素,支撑集的错误选择将会使得算法不完备

输入归结/包容法:清除所有被知识库中的已有语句包容(比该语句更特例)的语句

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值