目录

表示语言

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

一阶逻辑的模型

量词与连接词

数据库语义

命题推理与一阶推理

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

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

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

前向链接

高效的前向链接

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

增量前向链接

避免产生无关的事实


表示语言

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

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

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

一阶逻辑的模型

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

量词与连接词

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

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

归结策略:

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

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

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

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

人工智能第8章 一阶逻辑FOL相关推荐

  1. 人工智能原理——第一章 绪论

    人工智能原理--第一章 绪论 文章目录 人工智能原理--第一章 绪论 1.1 人工智能的发展 人工智能的发展 – 孕育期 人工智能的发展 – 摇篮期 人工智能的发展 – 发展期(1970-1979) ...

  2. 人工智能期末——第二章知识的表示

    第二章 知识的表示 知识表示是建立在符号主义的基础上的 符号主义:人类的智能活动主要是获得并运用知识,知识是智能的基础 为了使计算机具有智能.模拟人类的智能行为,就必须使它具有知识 知识需要用适当的模 ...

  3. 人工智能:第九章 Agent (艾真体)

    第九章 Agent (艾真体) 教学内容:介绍Agent的基本概念,使读者对Agent有个初步了解. 教学重点:艾真体及其要素 教学难点:艾真体的BDI(信念.愿望和意图)模型.艾真体的结构分类 教学 ...

  4. 人工智能:第二章 知识表示方法

    第二章 知识表示方法 教学内容:本章讨论知识表示的各种方法,是人工智能课程三大内容(知识表示.知识推理.知识应用)之一,也是学习人工智能其他内容的基础. 教学重点:状态空间法.问题归约法.谓词逻辑法. ...

  5. 人工智能:第一章 绪 论

    第一章 绪 论 教学内容:本章首先介绍人工智能的定义.发展概况及相关学派和他们的认知观,接着讨论人工智能的研究和应用领域,最后简介本书的主要内容和编排. 教学重点: 1.从不同科学或学科出发对人工智能 ...

  6. 人工智能作业——搜索树博弈树一阶逻辑表达式CNF范式

    1. 人工智能定义 1. 简述什么是人工智能   人工智能可分为两个维度:一个维度是从思维推理过程到行为结果(过程与结果);另一个维度是与人类表现的逼真度到数学与工程结合后的精确性(主观与客观). 像 ...

  7. 第二章 一阶逻辑 2.2 一阶逻辑合式公式及解释

    2.2 一阶逻辑合式公式及解释 本节类比第一章给了我们几个新的概念,这里给大家梳理一下. 通过这些定义我们可以看出其和之前在命题公式中的定义是类似的,通过有限次的运用这些联结词将原子公式连接起来组成合 ...

  8. 人工智能第2章 智能 Agent

    第2章 智能 Agent Agent通过传感器感知环境并通过执行器执行动作反馈到环境. ​​​​​​ AI的任务是设计Agent程序,实现把感知信息映射到行动的Agent函数. Agent就是能够行动 ...

  9. 第二章一阶逻辑 2.1 一阶逻辑基本概念

    2.1 一阶逻辑基本概念 在第一章中我们学习了命题逻辑,其可以对某些问题进行推理判断但具有局限性.例如: 很显然这是一个真命题,但是在命题逻辑中我们无法证明其是永真式.这是因为他没有把一句话中的各种元 ...

最新文章

  1. 用python实现计算器功能_使用python实现计算器功能
  2. 西安交通大学17年9月课程考试计算机应用基础,西安交通大学17年9月课程考试《计算机应用基础》作业考核试题 (含主观题)...
  3. options模块介绍
  4. css 样式三元运算_CSS扩展语言——Sass入门指南
  5. 桌面计算机打开不了怎么办,电脑桌面上的所有东西都打不开了 怎么处理
  6. golang 项目设置后台运行
  7. 【转】QT中使用MYSQL中文乱码解决方法
  8. OpenNETCF Smart Device Framework 2.1 发布
  9. Atitit 音频技术实践 艾提拉著 目录 1. 常用的通用技术 2 1.1. Nlp 云识别 api 爬虫技术 2 1.2. Html解析 2 1.3. ffmpege 2 1.4. jfug
  10. atitit.导出excel的设计----查询结果 导出为excel的实现java .net php 总结
  11. c语言实现按键的抖动与消除,7.3 按键消抖
  12. linux下通过inode删除文件
  13. 计算机视觉 图像形成 几何图形和变换
  14. 数据分析报告,就该这么写
  15. 问题 B: 栈的操作问题
  16. Reso | mysql、SQLServer、Oracle的区别
  17. golang GC垃圾回收机制
  18. 如何提高本地文件上传至百度云的速度_【软件推荐】满速下载软件,说出来你可能不信最高速度达到150m/s...
  19. 01组团队项目-Alpha冲刺-1/6
  20. java就业前景,成都java培训,传智播客java培训

热门文章

  1. postman之get请求方法讲解
  2. 瑞利信道下基于判决反馈的16QAM信道均衡(matlab源码)
  3. dubbo学习之源码
  4. 【JavaScript】JS取余及取商(一)
  5. Google Earth Engine(GEE)——山西省生物量计算
  6. 概率论之 -- 边缘分布
  7. 软件产品登记申报需要的材料
  8. c14运行库 php_phpStudy启动失败时的解决方法 提示缺vc9运行库
  9. 修改 VS 注释快捷键不生效
  10. 编码前准备——Cmder学习