人工智能第八章——FOL(一阶逻辑)(待补充)

摘要

本文旨在讲明:
1)一阶逻辑(FOL)的语法,语义
2)FOL如何使用
3)Knowledge Engineering in FOL

一、回顾

命题逻辑(propositional logic):缺乏表达能力。

二、FOL

FOL假定世界包含:
1)objects 对象
2)relations 关系
3)functions 函数

模型:A set of objects and an interpretation that maps:
constant symbols -> objects
predicate -> relations on objects
function -> functions on objects

模型枚举在FOL中不可行,因为可能模型数量是无限的。

标准的一阶逻辑语义比自然语言表述累赘得多。在将知识翻译成一阶逻辑的时候直观上也很容易出错。

所以,能否设计一种语义使得逻辑表达更直接呢?

数据库语义:区分于标准的一阶逻辑语义。

三、使用一阶逻辑

Tell(将语句添加到知识库),Ask(向知识库询问问题),Askvars(询问什么样的x使得语句为真)

并非所有公理都是定义
公理还可以是“普通事实”
不是所有关于论域的逻辑语句都是公理

3.2 sets

我们使用集合论的常用词汇形成含糖语法
空集是常量,用{}表示
一元谓词Set判断对象是否为集合

3.3 高阶逻辑

人工智能第八章——FOL(一阶逻辑)(待补充)
图3.3.1 高阶逻辑

总结

待补充。