人工智能导论-第3章-知识点与学习笔记
- 参考教材3.2节的内容,介绍什么是自然演绎推理;解释“肯定后件”与“否定前件”两类错误的演绎推理是什么意义,给出具体例子加以阐述。
- 参考教材3.3节的内容,介绍什么是文字(literal);介绍什么是子句集。
- 参考教材3.3节的内容,详细阐述谓词公式化为子句集的方法和步骤。需要给出具体的例子加以详细的说明。(电子版文档中,谓词公式必须是Word文档插入的可编辑的公式,直接截图的作业报告,需要重新提交)
- 参考教材3.4节的内容,名词解释“消解原理”及其意义。
- 参考教材3.4节的内容,从谓词公式转化为子句集的角度,阐述你对鲁宾孙归结原理的理解。
- 认真学习教材第72页3.4节的定义3.1,谈谈你对定义3.1的理解,该定义中提及的“文字”及文字互补具体是指代什么含义。
- 认真学习教材第76页3.5节的内容,从归结原理、子句集不可满足性的角度,谈谈你对归结反演的理解。
- 参考教材32页的定义2.5,介绍什么是谓词公式不可满足性。再参考定义2.5,谈谈你对定理3.1的理解(教材第72页)。
- 参考教材33页的定义2.7,介绍什么是谓词公式永真蕴含。再参考定义2.7,谈谈你对定理3.2的理解(教材第73页)。
- 应用归结原理求解下面的问题
(1)已知如下信息如下:
F1:王(Wang)先生是小李(Li)的老师。
F2: 小李与小张(Zhang)是同班同学。
F3: 如果x与y是同班同学,则,x的老师也是y的老师。
求小张的老师是谁?
(2) 设TONY、MIKE和JOHN属于ALPINE俱乐部,ALPINE俱乐部的成员不是滑雪运动员就是登山运动员。登山运动员不喜欢雨,而且任何不喜欢雪的人不是滑雪运动员。MIKE讨厌TONY所喜欢的一切东西,而喜欢TONY所讨厌的一切东西。TONY喜欢雨和雪。试用谓词公式的集合表示这段知识,用归结原理回答问题:“谁是ALPINE俱乐部的一个成员?他是一个登山运动员但不是一个滑雪运动员。”
解答:
自然演绎推理是从已知为真的事实出发,直接运用经典逻辑的推理规则来推导出结论的过程。这种推理过程遵循逻辑规则,包括P规则、T规则、假言推理、拒取式推理等。其中,假言推理的一般形式为P、P→Q⇒Q,表示当条件P成立且条件P蕴含条件Q时,可以推出结论Q为真。而拒取式推理的一般形式是,当条件P蕴含条件Q为真且结论Q为假时,可以推出条件P为假。
肯定后件和否定前件。肯定后件是指,当已知条件P→Q为真时,试图通过观察到后件Q为真来推断前件P为真,这种推理是不正确的。否定前件是指,当已知条件P→Q为真时,试图通过观察到前件P为假来推断后件Q为假,这种推理也是不正确的。
举例
如果今天下雨,那么地面会湿润。
今天地面是湿润的(肯定后件)。
所以,今天下雨了。
这种推理是不正确的,因为地面湿润可能是由于其他原因,比如使用水管浇水,而不一定是因为下雨。
另一个例子是:
如果今天下雨,那么地面会湿润。
今天没有下雨(否定前件)。
所以,今天地面不会湿润。
这个推理也是错误的,因为即使没有下雨,也可能有其他原因导致地面湿润,比如有人洒水
文字:在谓词逻辑中,原子谓词公式及其否定称为文字。一个文字是一个不能再分解的命题,它可以是一个原子谓词,也可以是一个原子谓词的否定。比如,如果我们有一个原子谓词P,那么P和¬P(P的否定)都是文字,其中P称为正文字,¬P称为负文字。正文字和负文字互为补充,因为它们是同一个原子谓词的肯定和否定。
子句集:在谓词逻辑中,由文字构成的析取式称为子句。而由多个子句构成的集合称为子句集。子句集可以包含单个子句,也可以包含多个子句。空子句是一种特殊的子句,它不包含任何文字,表示为NIL。空子句是永假的、不可满足的,因为它不包含任何文字,无法被满足。子句集的目的是用来描述问题或命题中的多个条件,通过对子句集的处理和推理,可以得到对问题的解答或结论。
步骤一:消去蕴含符号和等价符号
首先,我们需要消去谓词公式中的蕴含符号和等价符号,将其转化为否定和合取的形式,以便后续的处理。利用等价关系将蕴含符号和等价符号转化为合适的形式。
步骤二:移动否定符号
接下来,将否定符号移动到紧靠谓词的位置上,以减少否定符号的辖域,利用德摩根律等关系将否定符号移动到合适的位置。
步骤三:变量标准化
进行变量标准化,重新命名变元,使每个量词采用不同的变元,从而确保不同量词的约束变元有不同的名字。这样做是为了避免命名冲突和混淆,确保逻辑推理的准确性。
步骤四:消去存在量词
分两种情况进行处理:一种是存在量词不出现在全称量词的辖域内,另一种是存在量词出现在全称量词的辖域内。针对不同情况,采取不同的方式消去存在量词,通常使用Skolem函数进行替换。
步骤五:化为前束形
将所有的全称量词移到公式的前面,使每个量词的辖域都包括公式后的整个部分,从而形成前束形式。
步骤六:化为Skolem标准形
利用合取和析取的性质,将谓词公式化为Skolem标准形,即将其转化为一组子句的合取式形式。
步骤七:略去全称量词
由于所有的变量都是全称量词量化的变量,因此可以省略全称量词,子句中的变量仍然认为是全称量词量化的变量。
步骤八:子句变量标准化,即使每个子句中的变量的符号不同
例:
(∀x)|P(x)→|(∀y)[P(y)→ P(f(x, y))]∧¬ (∀y[Q(x,y)+ P(y)]
(1)消去蕴涵符号
(∀x){¬ P(x) V |( ∀y)[¬ P(y) V Pf(x,y))] ∧ ¬(∀y)[¬ Q(x,y) V P(y)]}
(2)把否定符号移到每个谓词前面
(∀x){¬P(x) V {( ∀y)[¬P(y) V P(f(x,y))]∧(∃y){¬[¬Q(x,y) VP(y)]}}}
(∀x)|¬ P(*) V {( ∀y)[¬ P(y)V P(f(x,y))] ∧(∃y)[Q(x,y)∧¬ P(y)]}}
(3)变量标准化
(∀x){¬P(x) V{(∀y)[¬P(y)VP(f(x,y))] ∧(∃w)[Q(x,w)∧P(w)]}
(4)消去存在量词
设 w的 Skolem 函数是 g(x),则
(∀x){¬P(x) V [(∀y)[¬P(y) V P((x,y))]^[Q(x,g(x)) ∧¬P(g(x))]]}
消解原理又称为归结原理,是由逻辑学家鲁宾孙在1965年提出的一种证明子句集不可满足性的理论及方法。这个原理是机器定理证明的基础之一,在人工智能、自动推理等领域有广泛的应用。
转化为子句集:首先,将给定的谓词逻辑公式转化为子句集。这个转化过程中,需要将逻辑连接词转化为子句间的关系,通常是合取关系。这样,一个谓词逻辑公式就可以表示为多个子句的集合。
子句集的不可满足性判定:为了判断子句集的不可满足性,需要对子句集中的每个子句进行判定。如果存在一个子句是不可满足的,那么整个子句集也是不可满足的。这是因为在合取关系下,只要有一个子句是假的,整个合取式就为假。
归结过程:如果子句集中不包含空子句,就需要应用归结规则来尝试导出空子句。归结规则的基本形式是对两个子句进行归结,如果其中一个子句包含一个文字,而另一个子句包含该文字的否定,则可以通过消解得到一个新的子句。这个新的子句可以被添加到子句集中,然后再次检查是否存在空子句。重复这个过程直到得到一个空子句或者无法再应用归结规则为止。
x判断结果:如果得到了一个空子句,就说明原始的子句集是不可满足的。这是因为如果子句集是可满足的,那么根据归结规则的应用,就不可能导出一个空子句。如果无法得到空子句,则说明原始子句集是可满足的。
在命题逻辑中,"文字"是指命题变量或其否定形式。具体来说,如果一个文字是一个命题变量或者其否定形式,那么它就是一个文字。例如,在命题逻辑中,如果P是一个命题变量,则P和¬P都是文字。
而"文字互补"指的是两个文字之间的关系,其中一个文字是另一个文字的否定形式。在命题逻辑中,如果有两个文字,一个是某个命题变量,另一个是该变量的否定形式,则它们被称为互补文字。例如,如果有两个文字分别是P和¬P,那么它们就是互补文字,因为P是¬P的否定形式,反之亦然。
在归结原理中,利用互补文字的性质,可以通过消解(归结)两个含有互补文字的子句来得到新的子句,从而进行推理和证明过程。
归结反演是一种利用归结原理证明定理的过程。它通过将已知前提和待证结论转化为谓词公式,然后将其转化为子句集,并应用归结原理进行归结操作,直到出现空子句或无法再进行归结为止。如果最终得到了空子句,那么就证明了待证结论是真的。
从归结原理和子句集不可满足性的角度来看,归结反演的理解可以总结如下:
转化为子句集: 首先,将已知前提和待证结论分别表示为谓词公式,并将其转化为子句集。这样做的目的是为了能够应用归结原理,因为归结原理是针对子句集的。
归结操作: 对于子句集中的子句,不断地应用归结原理进行归结操作。归结操作的目标是尝试消解含有互补文字的子句,从而得到新的子句,并将其加入到子句集中。这个过程会一直进行下去,直到出现空子句(表示矛盾)或者无法再进行归结为止。
判断结果: 如果最终得到了空子句,则说明待证结论是真的,因为在命题逻辑中,如果可以从已知前提中推导出矛盾,那么待证结论就是真的。如果无法得到空子句,则说明无法证明待证结论。
谓词公式P的不可满足性指的是不存在任何解释,使得公式P在该解释下的真值为真。换句话说,当无论如何选择谓词公式P中的各个谓词及其参数的赋值,都无法使得整个公式为真时,该谓词公式就是不可满足的。
以谓词逻辑为例,谓词公式通常包含谓词、变量和量词,并且有关系符号和逻辑连接词连接起来。不可满足性意味着无法找到一组解释(变量的赋值),使得公式中的每个子句都可以为真。这表示公式中的子句之间存在矛盾,或者说无法满足所有的限制条件。
选择互补文字的子句: 在子句集中选择两个子句,这两个子句中分别包含相互否定的文字(互补文字)。
应用归结原理: 对于选定的两个子句,从中消去互补文字,然后将剩余部分合取(取并集),形成一个新的子句,称为归结式。
验证结果: 如果得到的归结式是空子句(NIL),即不包含任何文字,那么表示这两个原始子句之间存在矛盾。如果未能得到空子句,则表明归结未成功,可能需要尝试其他的归结。
对于谓词公式p与q,若p->q永真,则称p永真蕴含q,记作P=>Q,且称p为q的逻辑结论,p为q的前提。C1与C2为真,则C12为真。
(1)
(2)
成员(x):x是ALPINE俱乐部的一个成员。
登山运动员(x):x是一个登山运动员。
滑雪运动员(x):x是一个滑雪运动员。
喜欢(x, y):x喜欢y。
讨厌(x, y):x讨厌y。
雨(y):y是雨。
雪(y):y是雪。
推理:
1成员(TONY)。
2成员(MIKE)。
3成员(JOHN)。
4登山运动员(TONY)。
5登山运动员(MIKE)。
6登山运动员(JOHN)。
7非滑雪运动员(TONY)。
8非滑雪运动员(MIKE)。
9非滑雪运动员(JOHN)。
10雨和雪(TONY)。
11不喜欢(TONY, MIKE)。
12喜欢(MIKE, TONY)。
假设一个人x,是ALPINE俱乐部的一个成员,是一个登山运动员但不是一个滑雪运动员。
可得出
成员(x)。
登山运动员(x)。
非滑雪运动员(x)。
归结步骤如下:
归结1和3,得到非滑雪运动员(x)。
归结2和非滑雪运动员(x),得到矛盾。
相关文章:

人工智能导论-第3章-知识点与学习笔记
参考教材3.2节的内容,介绍什么是自然演绎推理;解释“肯定后件”与“否定前件”两类错误的演绎推理是什么意义,给出具体例子加以阐述。参考教材3.3节的内容,介绍什么是文字(literal);介绍什么是子…...

游戏引擎 Unity - Unity 下载与安装
Unity Unity 首次发布于 2005 年,属于 Unity Technologies Unity 使用的开发技术有:C# Unity 的适用平台:PC、主机、移动设备、VR / AR、Web 等 Unity 的适用领域:开发中等画质中小型项目 Unity 适合初学者或需要快速上手的开…...

鼠标拖尾特效
文章目录 鼠标拖尾特效一、引言二、实现原理1、监听鼠标移动事件2、生成拖尾元素3、控制元素生命周期 三、代码实现四、使用示例五、总结 鼠标拖尾特效 一、引言 鼠标拖尾特效是一种非常酷炫的前端交互效果,能够为网页增添独特的视觉体验。它通常通过JavaScript和C…...
4 前置技术(下):git使用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 前言...

从零开始:用Qt开发一个功能强大的文本编辑器——WPS项目全解析
文章目录 引言项目功能介绍1. **文件操作**2. **文本编辑功能**3. **撤销与重做**4. **剪切、复制与粘贴**5. **文本查找与替换**6. **打印功能**7. **打印预览**8. **设置字体颜色**9. **设置字号**10. **设置字体**11. **左对齐**12. **右对齐**13. **居中对齐**14. **两侧对…...
解决国内服务器 npm install 卡住的问题
在使用国内云服务器时,经常会遇到 npm install 命令执行卡住的情况。本文将分享一个典型案例以及常见的解决方案。 问题描述 在执行以下命令时: mkdir test-npm cd test-npm npm init -y npm install lodash --verbose安装过程会卡在这个状态…...

DeepSeek 的含金量还在上升
大家好啊,我是董董灿。 最近 DeepSeek 越来越火了。 网上有很多针对 DeepSeek 的推理测评,除此之外,也有很多人从技术的角度来探讨 DeepSeek 带给行业的影响。 比如今天就看到了一篇文章,探讨 DeepSeek 在使用 GPU 进行模型训练…...
使用 Docker(Podman) 部署 MongoDB 数据库及使用详解
在现代开发环境中,容器化技术(如 Docker 和 Podman)已成为部署和管理应用程序的标准方式。本文将详细介绍如何使用 Podman/Docker 部署 MongoDB 数据库,并确保其他应用程序容器能够通过 Docker 网络成功连接到 MongoDB。我们将逐步…...

大模型训练(6):张量并行
0 英文缩写 Pipeline Parallelism(PP)流水线并行Tensor Parallel(TP)张量并行Data Parallelism(DP)数据并行Distributed Data Parallelism(DDP)分布式数据并行Zero Redundancy Opti…...

【力扣】238.除自身以外数组的乘积
AC截图 题目 思路 前缀积 前缀积指的是对于一个给定的数组arr,构建一个新的数组prefixProduct,其中prefixProduct[i]表示原数组从第一个元素到第i个元素(包括i)的所有元素的乘积。形式化来说: prefixProduct[0] ar…...

Nacos 的介绍和使用
1. Nacos 的介绍和安装 与 Eureka 一样,Nacos 也提供服务注册和服务发现的功能,Nacos 还支持更多元数据的管理, 同时具备配置管理功能,功能更丰富。 1.1. windows 下的安装和启动方式 下载地址:Release 2.2.3 (May …...

DeepSeek最新图像模型Janus-Pro论文阅读
目录 论文总结 摘要 1. 引言 2. 方法 2.1 架构 2.2 优化的训练策略 2.4 模型扩展 3. 实验 3.1 实施细节 3.2 评估设置 3.3 与最新技术的比较 3.4 定性结果 4. 结论 论文总结 Janus-Pro是DeepSeek最新开源的图像理解生成模型,Janus-Pro在多模态理解和文…...

【仿12306项目】基于SpringCloud,使用Sentinal对抢票业务进行限流
文章目录 一. 常见的限流算法1. 静态窗口限流2. 动态窗口限流3. 漏桶限流4. 令牌桶限流5. 令牌大闸 二. Sentinal简介三. 代码演示0. 限流场景1. 引入依赖2. 定义资源3. 定义规则4. 启动测试 四. 使用Sentinel控台监控流量1. Sentinel控台1.8.6版本下载地址2. 文档说明…...

【赵渝强老师】Spark RDD的依赖关系和任务阶段
Spark RDD彼此之间会存在一定的依赖关系。依赖关系有两种不同的类型:窄依赖和宽依赖。 窄依赖:如果父RDD的每一个分区最多只被一个子RDD的分区使用,这样的依赖关系就是窄依赖;宽依赖:如果父RDD的每一个分区被多个子RD…...

【B站保姆级视频教程:Jetson配置YOLOv11环境(六)PyTorchTorchvision安装】
Jetson配置YOLOv11环境(6)PyTorch&Torchvision安装 文章目录 1. 安装PyTorch1.1安装依赖项1.2 下载torch wheel 安装包1.3 安装 2. 安装torchvisiion2.1 安装依赖2.2 编译安装torchvision2.2.1 Torchvisiion版本选择2.2.2 下载torchvisiion到Downloa…...

Verilog语言学习总结
Verilog语言学习! 目录 文章目录 前言 一、Verilog语言是什么? 1.1 Verilog简介 1.2 Verilog 和 C 的区别 1.3 Verilog 学习 二、Verilog基础知识 2.1 Verilog 的逻辑值 2.2 数字进制 2.3 Verilog标识符 2.4 Verilog 的数据类型 2.4.1 寄存器类型 2.4.2 …...

【阅读笔记】LED显示屏非均匀度校正
一、背景 发光二极管(LED)显示屏具有色彩鲜艳、图像清晰、亮度高、驱动电压低、功耗小、耐震动、价格低廉和使用寿命长等优势。LED显示图像的非均匀度是衡量LED显示屏显示质量的指标,非均匀度过高,会导致LED显示图像出现明暗不均…...
【Java异步编程】CompletableFuture基础(1):创建不同线程的子任务、子任务链式调用与异常处理
文章目录 1. 三种实现接口2. 链式调用:保证链的顺序性与异步性3. CompletableFuture创建CompletionStage子任务4. 处理异常a. 创建回调钩子b. 调用handle()方法统一处理异常和结果 5. 如何选择线程池:不同的业务选择不同的线程池 CompletableFuture是JDK…...
ESXI虚拟机中部署docker会降低服务器性能
在 8 核 16GB 的 ESXi 虚拟机中部署 Docker 的性能影响分析 在 ESXi 虚拟机中运行 Docker 容器时,性能影响主要来自以下几个方面: 虚拟化开销:ESXi 虚拟化层和 Docker 容器化层的叠加。资源竞争:虚拟机与容器之间对 CPU、内存、…...

ASP.NET Core与配置系统的集成
目录 配置系统 默认添加的配置提供者 加载命令行中的配置。 运行环境 读取方法 User Secrets 注意事项 Zack.AnyDBConfigProvider 案例 配置系统 默认添加的配置提供者 加载现有的IConfiguration。加载项目根目录下的appsettings.json。加载项目根目录下的appsettin…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...

html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...

mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
在 Kubernetes 集群中,如何在保障应用高可用的同时有效地管理资源,一直是运维人员和开发者关注的重点。随着微服务架构的普及,集群内各个服务的负载波动日趋明显,传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...
TJCTF 2025
还以为是天津的。这个比较容易,虽然绕了点弯,可还是把CP AK了,不过我会的别人也会,还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...
深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙
WebGL:在浏览器中解锁3D世界的魔法钥匙 引言:网页的边界正在消失 在数字化浪潮的推动下,网页早已不再是静态信息的展示窗口。如今,我们可以在浏览器中体验逼真的3D游戏、交互式数据可视化、虚拟实验室,甚至沉浸式的V…...

云原生安全实战:API网关Envoy的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口,负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...