参考链接: 人工智能中的一阶逻辑
摘要
本文旨在讲明: 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 高阶逻辑
图3.3.1 高阶逻辑
总结
待补充。