【高级人工智能】国科大《高级人工智能》符号主义笔记

news2024/10/5 20:20:51

国科大《高级人工智能》罗老师部分——符号主义笔记

  • 罗老师上课很有意思,但是这部分内容还是挺难理解的,需要仔细思考
  • 今年考试题目这部分跟往年不一样,老师讲的重点(A搜索+归结原理)也没考😅

文章目录

  • 几个概念
  • 一、语义 Entailment 蕴含
    • 1.定义
    • 2.命题逻辑:语法与语义
    • 3.命题逻辑中的知识库KB
    • 4.什么是valid和satisfiable
  • 二、形式推演 Deduction
    • 1.定义:
    • 2.归结原理(Resolution)
  • 三、Inference over Horn and Definite Clauses
    • 1.一些概念
    • 2.肯定式推理Modus Ponens
  • 四、一阶谓词逻辑
    • 1.基本形式
    • 2.实例化
    • 3.合一化(理解为某种替代)
    • 4.一阶谓词逻辑的归结原理(重要)
    • 5.逻辑编程:Prolog
  • 五、模糊逻辑
    • 1.定义
    • 2.模糊集的表示
  • 六、考试题目整理
    • 1.选择题
    • 2.简答题
    • 3.综合应用题

几个概念

  • 逻辑:表示信息以便得出结论的形式语言
  • 语法:定义语言中的句子
  • 语义:定义句子的意思
  • 逻辑研究的内容:研究形式化定义的 sentences 之间的关系
  • 两个角度:
    • 语义:entailment 蕴含,逻辑推导
    • 语法:inference 演绎,形式推演
      在这里插入图片描述

一、语义 Entailment 蕴含

1.定义

是基于语义的句子(即句法)之间的一种关系
K B ⊨ α KB\models\alpha KBα
知识库KB蕴涵句子 α \alpha α,当且仅当 α \alpha α在KB为真的所有世界(代指 Model)中为真
(这个定义要记住)

Model:使sentence为真的assignment(真值指派),即为model

重点:当且仅当 M ( K B ) ⊆ M ( α ) M(KB)\subseteq M(\alpha) M(KB)M(α)时, K B ⊨ α KB\models\alpha KBα(证 ⊨ \models ,找Model)

在这里插入图片描述

2.命题逻辑:语法与语义

语法(Syntax):定义语言中的句子;
命题(Proposition):一个陈述句,要么是对的,要么是错的;
原子命题(Atomic propositions):最小的命题;
文字(Literals):原子命题或它们的否定;
语义(Semantics):每个模型指定每个命题符号的真/假。
在这里插入图片描述
注: ⊨ \models 不是命题的合法句子

证明:
在这里插入图片描述
语义等价转换
在这里插入图片描述

3.命题逻辑中的知识库KB

KB:满足命题逻辑语法的 sentence 的集合;
假设:这组 sentence 中,一共有n个原子命题;
真值指派(truth assignment):对每个原子命题赋值;
一共有2^n种真值指派,其中:使得KB中的每个sentence都为真的真值指派,就是KB的model;
在此基础上,在命题逻辑中,我们可以明确的定义:
K B ⊨ α KB\models\alpha KBα

  • Entailment ( ⊨ \models ):逻辑上的概念,刻画两组sentence之间的关系;
  • Implication (¬,∧,∨,⟹,⟺):Proposition(命题)之间的一种运算子,用真值表刻画语义。

4.什么是valid和satisfiable

  • 一个句子是valid,如果他在所有模型都是 true
  • 一个句子是satisfiable,如果他在存在true的模型
    在这里插入图片描述
    在这里插入图片描述
    几个证明题:
    在这里插入图片描述
    (之前考过)
    在这里插入图片描述
    5.总结:蕴含的三个等价条件:
    在这里插入图片描述

二、形式推演 Deduction

1.定义:

在这里插入图片描述
有两种:11条规则 + 1条规则(归结原理)
Inference:可靠性证明+完备性证明(见上图)

2.归结原理(Resolution)

1)合取范式Conjunctive Normal Form (CNF—universal)
目的是将一些列命题用∧和∨连起来,具体步骤如下:
在这里插入图片描述
2)归结
在这里插入图片描述

3)证明归结原理的可靠性与完备性:
可靠性(Sound):If K B ⊢ α KB\vdash\alpha KBα,that K B ⊨ α KB\models\alpha KBα
sound的证明方法很简单,只要check一次resolution的过程是正确的(利用真值表),实际上就是去证明这个子句合取第二个子句可以蕴含下面那个子句。【用真值指派的方法】

完备性:If K B ⊨ α KB\models\alpha KBα,that K B ⊢ α KB\vdash\alpha KBα
在这里插入图片描述
在这里插入图片描述
4)归结原理+A*搜索

  • A*搜索:要设计好一个启发式函数,可以通过原问题的松弛问题的解来进行求解
  • 初始状态:{KB,!a}
  • 目标:goal(goal包含空集)
  • 每次的动作:选一个可以归结的原子命题进行归结。
  • 启发函数:所有包含a的句子里找一个最短的,假定这个最短的句子是有k个原子命题。现在已经有!a了,那至少也要做k次归结才能归结出空集,那启发函数就是h()=k。这个估计耗散一定小于等于真实耗散,它是可采纳的。
  • 例外的情况:KB推不出a,那就不会有包含空集的goal,那就如果找不到可以归结的原子命题,那搜索就停止。

三、Inference over Horn and Definite Clauses

1.一些概念

“负文字”(negative literal):文字包含否定符号(¬);否则称为“正文字”(positive literal)。
Definite clause:有且只有一个正文字
Horn clause:最多只有一个正文字

2.肯定式推理Modus Ponens

在这里插入图片描述
可靠性证明:If K B ⊢ α KB\vdash\alpha KBα,that K B ⊨ α KB\models\alpha KBα

与归结原理一样,用真值表,即证明:
在这里插入图片描述

完备性证明:If K B ⊨ α KB\models\alpha KBα,that K B ⊢ α KB\vdash\alpha KBα
在这里插入图片描述
注:p是包含变量的句子,p-theta就是按theta赋值,所以p也是蕴含p-theta的

四、一阶谓词逻辑

1.基本形式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
全称-存在转化:
在这里插入图片描述

2.实例化

在这里插入图片描述

3.合一化(理解为某种替代)

理解为某种替换(合一的算子)
在这里插入图片描述

4.一阶谓词逻辑的归结原理(重要)

1)归结原理(-替换)
在这里插入图片描述

2)合取范式
①去掉存在量词及其修饰的变量使每个都使全称量词修饰的变量
②消去biconditionals( ⇔ \Leftrightarrow )和implications( ⇒ \Rightarrow
③把 ⌝ \urcorner 放到里面去
④标准化变量(有些变量不是同一个object,要用不同的变量表示)
⑤Skolemize:用关于x的函数表示依赖于x的变量
⑥通用的全称量词删掉
⑦展开在析取上的合取
Eg:
在这里插入图片描述
在这里插入图片描述
3)归结策略
在这里插入图片描述

删除策略:删除纯文字、删除重言式
限制策略:支持集策略、单文字子句策略、祖先过滤策略

4)GMP的可靠性证明
在这里插入图片描述

5.逻辑编程:Prolog

主要思想:编知识库KB
(1)语法(https://ruanyifeng.com/blog/2019/01/prolog.html)

①friend(X, Y) :- friend(Y,X).

  • X和Y都是大写,表示这是两个变量;
  • 符号:-表示推理关系,含义是只要右边的表达式friend(Y, X)为true,那么左边的表达式friend(X, Y)也为true。

②onesidelove(X, Y) :- loves(X, Y), + loves(Y,X).

  • 如果一条规则取决于多个条件同时为true,则条件之间使用逗号分隔;
  • 如果一条规则取决于某个条件为false,则在条件之前加上+表示否定。

(2)有时会推出错误的答案(它的实现不sound),有时正确答案也推不出(不complete)【考过】

五、模糊逻辑

(没讲推理)

  • 模糊性:事件发生的程度,而不是是否发生
  • 随机性:事情发生的不确定性

1.定义

在这里插入图片描述

2.模糊集的表示

为了能够表示出论域中的元素与其隶属度之间的对应关系,扎德引入了一种模糊集的表示方式:先为论域中的每个元素都标上其隶属度,然后再用+号把它们连接起来:
在这里插入图片描述
连续论域:
在这里插入图片描述
3.模糊关系的运算
在这里插入图片描述
模糊关系合成:(类似矩阵乘法)
在这里插入图片描述
4.用模糊逻辑表示自然语言
在这里插入图片描述

六、考试题目整理

1.选择题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.简答题

在这里插入图片描述
在这里插入图片描述

3.综合应用题

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/147119.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FFmpeg

介绍 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量&…

Windows 下安装共享文件夹(一步一步带你创建,亲测有效果)

目录1 需求2 实现1 需求 我们想要在自己的Windows电脑上面安装一个共享文件夹,想让其他电脑连我们的共享文件夹,或者我们需要使用代码,连接这个共享文件夹,所以我们必须先在Windows电脑创建一个共享文件夹 2 实现 首先我们创建…

centos7.9安装harbor-offline-installer-v2.4.1.tgz

1.首先下载安装包 可以去github上搜索下载: GitHub: Let’s build from here GitHub 然后选择版本进行下载,一般从githut上下载速度很慢,我已提前下载好,从csdn上下载会比较快: harbor-offline-installer-v2.4.1.tgz: https:…

聊聊跳表?

什么是跳表 跳表(Skip List)是一种类似于链表的数据结构,其查询、插入、删除的时间复杂度都是O(logn)。 在传统的单链表结构中,查找某个元素需要从链表的头部按顺序遍历,直到找到目标元素为止,查找的时间复…

PowerShell木马免杀利器: Invoke-Obfuscation(过火绒)

Invoke-Obfuscation 简介 Invoke-Obfuscation工具下载地址: https://github.com/danielbohannon/Invoke-Obfuscation Invoke-Obfuscation是一款PowerShell混淆工具,可以将PowerShell脚本加密,使得它的检测和分析变得更加困难。该工具包含多种加密方法&…

HTML实现右下角闪烁弹窗

演示 完整HTML <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </head&…

【系列01】java运算符及运算符优先级[附带目录 按需服用]

运算符、三元运算符、位运算符、拓展赋值、运算优先级、自增自减 运算符 java代码优先级多用括号**,多用括号()**不仅方便而且增加可读性 自增自减 a 是先赋值再增加a 是先增加再赋值上面都表示 a a1;自减同理由 public class Demo05 {public static void main(String[] ar…

CSS3 之属性

文章目录calcborderbox-shadowbackground-image垂直渐变水平渐变左上角渐变渐变方向写法组合background-clipbackground-attachmentword-wrap:break-word&#xff1a;允许长单词换行到下一行;word-wrap:word-break&#xff1a;text-shadow3、字体white-space 设置如何处理元素内…

Java设计模式中建造者模式是啥/建造者模式实现细节是什么/工厂模式,抽象工厂与建造者模式之间区别是啥

继续整理记录这段时间来的收获&#xff0c;详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用&#xff01; 4.6 建造者模式 4.6.1 概述 分离部件构造(由Builder来创建)和装配(Director组装)实现构建与装配解耦用户只需指定复杂对象类型就可得到最终对象&#xff0c;不需…

医药行业应用APS生产排产软件的必要性

高级计划与排程APS生产排产软件(advanced planning and scheduling) 是一个立足于整个企业生产活动的计算机系统。利用APS生产排产软件的管理手段和信息&#xff0c;企业可优化其从制定生产产量到管理最终产品的整个生产流程中的各个环节。利用实时、准确的数据&#xff0c;APS…

umi4 多环境配置改变

umi3 多环境我们可以根据脚本配置环境变量&#xff0c;然后配置不同的umirc 或者config 文件&#xff0c;从而达到配置多环境的效果。 问题描述 umi4 发布了&#xff0c;还是按照umi3 的配置了多环境&#xff0c; package.json 配置 了不同环境运行和编译脚本&#xff1a; co…

Netty进阶——粘包与半包(固定长度方式解决粘包问题)

目录一、固定长度方式解决粘包问题&#xff08;代码示例&#xff09;1.1、固定长度方式解决粘包问题的服务端代码示例1.2、固定长度方式解决粘包问题的客户端代码示例1.3、分别启动服务端&#xff0c;客户端&#xff0c;查看服务端结果输出一、固定长度方式解决粘包问题&#x…

一零四六、Spark性能调优

本文分为四个部分&#xff0c;基本涵盖了所有Spark优化的点&#xff0c;面试和实际工作中必备。 《Spark性能优化&#xff1a;开发调优篇》《Spark性能优化&#xff1a;资源调优篇》《Spark性能优化&#xff1a;数据倾斜调优篇》《Spark性能优化&#xff1a;shuffle调优篇》Spa…

如何在C++ 中调用 Python

在一些场景下&#xff0c;C 通过调用脚本语言实现一些功能会比用C实现更加的方便。 这里要介绍的是pybind11&#xff0c;pybind11 借鉴了“前辈”Boost.Python&#xff0c;能够在 C 和 Python 之间自由转换&#xff0c;任意翻译两者的语言要素&#xff0c;比如把 C 的 vector …

0-1背包 完全背包 (模板)

目录 【模板】01背包_牛客题霸_牛客网 描述 输入描述&#xff1a; 输出描述&#xff1a; 【模板】完全背包_牛客题霸_牛客网 描述 输入描述&#xff1a; 输出描述&#xff1a; 【模板】01背包_牛客题霸_牛客网 描述 你有一个背包&#xff0c;最多能容纳的体积…

使用语义分割架构的文档扫描仪 DeepLabV3

0 介绍 地址:https://learnopencv.com/deep-learning-based-document-segmentation-using-semantic-segmentation-deeplabv3-on-custom-dataset/ 文档扫描是一个背景分割问题,可以使用多种方法解决。 它是计算机视觉广泛使用的应用程序之一。 在本文中,我们将文档扫描视为语…

从动态的角度分析DDR的时序结构

从整体上了解了DDR的特性和静态图&#xff0c;包括原理、管脚图等。那么本章就要从动态的角度来分析时序结构&#xff0c;包括read/write的整个过程到数据返回发生了什么。一&#xff0c;DRAM基本组成对于DRAM&#xff0c;其主要由行和列组成&#xff0c;每一个bit中都是由类似…

84、【栈与队列】leetcode ——1047. 删除字符串中的所有相邻重复项:栈+双指针解法(C++版本)

题目描述 原题链接&#xff1a;1047. 删除字符串中的所有相邻重复项 解题思路 一、栈顶匹配重复元素 本题需要删除重复且相邻元素&#xff0c;存入不重复元素。根据相邻特点&#xff0c;可采用栈进行实现。 当栈顶元素和遍历的字符串中的字符相同时&#xff0c;则将其弹栈。…

spring内置验证码kaptcha,baomidou使用详解

引入pom <dependency><groupId>com.baomidou</groupId><artifactId>kaptcha-spring-boot-starter</artifactId><version>1.1.0</version></dependency>application.yml 配置 kaptcha:height: 50width: 200content:length: 5s…

【Linux从入门到放弃】Linux编辑器——vim的使用

&#x1f9d1;‍&#x1f4bb;作者&#xff1a; 情话0.0 &#x1f4dd;专栏&#xff1a;《Linux从入门到放弃》 &#x1f466;个人简介&#xff1a;一名双非编程菜鸟&#xff0c;在这里分享自己的编程学习笔记&#xff0c;欢迎大家的指正与点赞&#xff0c;谢谢&#xff01; L…