[图解]不变式的构造和化简

1
00:00:02,420 --> 00:00:03,380
下面这个,我们来看

2
00:00:03,390 --> 00:00:09,940
X→select(Y),用Y这个条件来筛选

3
00:00:09,950 --> 00:00:11,340
之后得到的集合

4
00:00:12,400 --> 00:00:14,390
forAll这个意思是什么

5
00:00:14,400 --> 00:00:17,950
集合里面所有的元素都符合这个条件

6
00:00:18,540 --> 00:00:22,470
这不是筛选,是符合这个条件的意思

7
00:00:24,060 --> 00:00:25,820
就是Y筛选过之后

8
00:00:26,170 --> 00:00:28,990
得到的所有的元素都符合这个条件

9
00:00:29,850 --> 00:00:31,560
实际上就等价于什么

10
00:00:32,840 --> 00:00:34,960
对X里面的所有元素

11
00:00:36,040 --> 00:00:40,700
如果Y,那么就符合Z

12
00:00:40,710 --> 00:00:43,140
如果Y,那么Z,实际上就是一个蕴含的关系

13
00:00:48,530 --> 00:00:51,840
这些我们之前讲过的,后面这两个没讲

14
00:00:51,930 --> 00:00:54,670
前面讲过的,这些表达式我们都可以

15
00:00:55,850 --> 00:00:57,730
这些公式我们都可以用来

16
00:00:59,050 --> 00:01:04,590
作为我们简化或者推导不变式

17
00:01:05,910 --> 00:01:12,090
或者其他的表达式的一个工具

18
00:01:13,430 --> 00:01:17,000
比如说,还是这个员工部门

19
00:01:17,410 --> 00:01:20,050
员工,部门

20
00:01:21,980 --> 00:01:24,650
员工有姓名、年龄、薪水

21
00:01:24,940 --> 00:01:27,690
部门有名称,有最低薪水、高档薪水

22
00:01:28,770 --> 00:01:29,640
假设有这样一个

23
00:01:29,650 --> 00:01:32,260
如果员工年龄未达35岁的话

24
00:01:32,580 --> 00:01:35,550
那么薪水不得超过部门高档薪水

25
00:01:39,500 --> 00:01:40,990
如果我们针对部门做不变式

26
00:01:41,000 --> 00:01:45,600
可能一开始

27
00:01:45,610 --> 00:01:48,770
会得到这样一个

28
00:01:49,040 --> 00:01:51,120
员工,然后给一个条件

29
00:01:52,020 --> 00:01:55,710
小于35岁的员工的集合里面

30
00:01:59,000 --> 00:02:01,870
存在薪水大于高档薪水的

31
00:02:01,880 --> 00:02:03,910
这样一个人是不行的

32
00:02:04,460 --> 00:02:07,830
就是说,不允许集合里面

33
00:02:08,280 --> 00:02:11,260
存在这样的人

34
00:02:12,730 --> 00:02:16,590
存在符合这个条件的元素

35
00:02:18,260 --> 00:02:19,970
这个看起来就比较复杂了

36
00:02:20,610 --> 00:02:25,320
我们可以用前面的公式先把存在去除掉

37
00:02:25,330 --> 00:02:26,400


38
00:02:27,600 --> 00:02:29,280
这个存在我们就可以说

39
00:02:31,360 --> 00:02:32,950
对所有人来说都不符合这个

40
00:02:33,820 --> 00:02:34,380


41
00:02:34,390 --> 00:02:37,630
对所有来说不符合这个

42
00:02:38,830 --> 00:02:40,110
我们就可以这样

43
00:02:41,310 --> 00:02:43,020
前面不变,这个就变成什么

44
00:02:43,030 --> 00:02:48,800
就变成员工

45
00:02:49,420 --> 00:02:53,010
然后所有的员工都符合这个条件

46
00:02:55,830 --> 00:02:58,390
员工的薪水

47
00:02:58,910 --> 00:03:00,230
不得大于高档薪水

48
00:03:09,510 --> 00:03:11,780
你看,select之后就符合这个条件

49
00:03:12,170 --> 00:03:13,560
我们可以就把它变成

50
00:03:13,570 --> 00:03:14,950
把这个挪过来

51
00:03:15,080 --> 00:03:16,190
针对所有员工

52
00:03:16,930 --> 00:03:18,130
这就是推导关系了

53
00:03:18,140 --> 00:03:19,690
只要你小于35岁

54
00:03:20,300 --> 00:03:23,960
那么这个可以推导到这个

55
00:03:26,580 --> 00:03:30,000
而这个蕴含关系的话

56
00:03:30,010 --> 00:03:34,260
我们用前面那个,P蕴含Q就等于什么

57
00:03:35,210 --> 00:03:38,900
非P或Q

58
00:03:38,910 --> 00:03:40,500
那就把它变成

59
00:03:40,510 --> 00:03:45,720
变成非P或Q,然后再用什么

60
00:03:45,730 --> 00:03:51,510
再用德摩根把它解开

61
00:03:51,770 --> 00:03:52,480
把它解开

62
00:03:53,550 --> 00:03:58,000
把这个not移除掉

63
00:03:58,010 --> 00:04:00,610
变成:所有的员工都符合这个条件

64
00:04:00,700 --> 00:04:02,890
要么年龄大于35岁

65
00:04:04,060 --> 00:04:05,970
要么薪水小于高档薪水

66
00:04:06,100 --> 00:04:07,450
这个就简单多了

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

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

相关文章

SD-WAN介绍,为何成为主推。

1、SD-WAN(Software Defined Wide Area Network, 软件定义的广域网) 将企业的分支、总部和多云之间互联起来,应用在不同混合链路(MPLS,Internet,5G,LTE等)之间选择最优的…

EmotionBench—— 基于 LLM 情绪的量化框架

介绍 大型语言模型(LLM)在近年来取得了显著的进展,这在计算机科学领域被视为一个重要的里程碑。像ChatGPT和Claude这样的综合性软件已经不再仅仅是用于句子校正、文本翻译和编程的工具,它们已经演进成为类似于人类的助手。因此&a…

Linux 操作系统IPC

目录 1、IPC简介 1.1、共享内存 1.1.1 创建/访问共享内存 1.1.2 映射 1.1.3 解除映射 1.1.4 删除/修改共享内存 1.2 信号量集 1.2.1 创建信号量集合 1.2.2 信号量的初始化 1.2.3 信号量的还原和消耗 1.3 消息队列 1.3.1 概念 1.3.3 添加消息队列 1.3.4 读取消息…

Linux 系统下的一些常用命令和用法

keywords: Linux 类 Unix 系统下的一些常用命令和用法。 实用命令 fuser 查看文件被谁占用。 fuser -u .linux.md.swpid 查看当前用户、组 id。 lsof 查看打开的文件列表。 An open file may be a regular file, a directory, a block special file, a character speci…

Spring Cloud Gateway的部署

不要将 Spring Cloud Gateway 部署到 Tomcat 可以将Spring Cloud Gateway打成jar包&#xff0c;并通过jar包部署&#xff0c;步骤&#xff1a; 1. 修改构建配置 确保你的pom.xml文件中的打包方式为jar。 <packaging>jar</packaging> 2 打包项目 mvn clean pack…

社区养老服务|基于Springboot+vue的社区养老服务平台设计与实现(源码+数据库+文档)

社区养老服务平台 目录 基于Java的社区养老服务平台设计与实现 一、前言 二、系统设计 三、系统功能设计 1用户信息管理 2 服务信息管理 3服务申请管理 4公告信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#…

【Linux系统化学习】网络套接字(编写简单的UDP服务端和客户端)

目录 理解源IP地址和目的IP地址 认识端口号 端口号和进程ID的区别 源端口号和目的端口号 认识TCP和UDP协议 TCP协议 UDP协议 网络字节序 socket编程接口 socket常见API sockaddr结构 简单的UDP网络程序 UDP服务端 创建套接字 填充本地网络信息 绑定 收取消息 …

Amine-PEG-Amine,956496-54-1在生物成像、生物传感器等领域具有广泛的应用

【试剂详情】 英文名称 Amine-PEG-Amine&#xff0c;NH2-PEG-NH2 中文名称 氨基-聚乙二醇-氨基&#xff0c;氨基PEG氨基&#xff0c; 双端氨基聚乙二醇 CAS号 956496-54-1 外观性状 由分子量决定&#xff0c;液体或者固体 分子量 0.4k&#xff0c;0.6k&#xff0c;1k&…

5.3作业

这个声明定义了一个名为 s 的数组&#xff0c;数组包含 10 个元素&#xff0c;每个元素都是一个函数指针。(1)C (2)D (3)C (4)DE (5)C8 11 14(1)int IsFull(sequeue *seqn) { return ((seqn->frnt ((seqn->rear 1) % N)) ? 1 : 0); } (2)int IsEmpty(sequ…

C++命令行系统(三)

1 概述 在嵌入式开发中&#xff0c;经常会利用命令行交互系统测试功能&#xff0c;本文描述使用C语言开发的一个命令行交互系统&#xff0c;支持命令注册(C或C格式)&#xff0c;命令分组&#xff0c;执行命令&#xff0c;显示命令提示。 4 实例 4.1 实例代码 extern "C…

千古一帝秦始皇的一生

在中国历史上&#xff0c;秦始皇绝对是最有资格被称之为‘千古一帝’的皇帝。 这不光是因为&#xff0c;他是中国的第一个皇帝&#xff0c;更是因为他奠定了中国两千多年的政治格局&#xff0c;让中国从此有了大一统的意识。 1、赵国生涯 公元前259年&#xff0c;秦始皇嬴政…

软考 系统架构设计师系列知识点之软件可靠性基础知识(10)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之软件可靠性基础知识&#xff08;9&#xff09; 所属章节&#xff1a; 第9章. 软件可靠性基础知识 第2节 软件可靠性建模 9.2.2 软件可靠性模型的建模方法 一个软件可靠性模型通常&#xff08;但不是绝对&#xff09;…

利用PS中Lab颜色模式进行简单调色?

【原图】 详细步骤如下&#xff1a; Step 1 : 打开PS&#xff0c;打开素材&#xff0c;点菜单栏&#xff0c;【图像】-【模式】-【Lab颜色】&#xff0c;效果如下图 Step2&#xff1a;ctrl(或command)m打开曲线工具&#xff0c;选择a通道&#xff0c;效果如下图。 Step3: 把标…

SpringBoot---------Swagger

第一步&#xff1a;引入依赖 <!-- swagger--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId></dependency> 第二步&#xff1a;配置文件 import com.sky.intercept…

深入理解深度学习中的指数移动平均(EMA)

深入理解深度学习中的指数移动平均(EMA) 一、引言 在深度学习的优化过程中,模型权重的更新和优化是提升模型性能的关键步骤。其中,指数移动平均(EMA,Exponential Moving Average)作为一种常用的优化技巧,被广泛应用于提高模型的鲁棒性和测试指标。本文将详细介绍EMA在…

项目管理八大原则

之前我写了一篇文章《敏捷自组织真的存在吗》。我的结论是自组织管理是我们努力追求达成的一个状态&#xff0c;但不应该幻想自组织管理一下就能够达成。因为项目还是一个接着一个&#xff0c;需要我们做好项目管理的工作。项目管理对于一个公司来讲是非常重要的一个管理内容&a…

【GAN】简单的GAN模型搭建 -- 以线性模型和MNIST数据集为例子

文章目录 确定损失函数生成器网络架构 不讲原理&#xff0c;从简单的代码一步步开始&#xff0c;学会怎么用、怎么设计损失函数即可。 确定损失函数 生成器的任务是生成足够以假乱真的数据&#xff0c;判别器的任务是分辨出哪些数据是真实的&#xff0c;哪些数据是假的。因此&…

【刷题】代码随想录算法训练营第二十九天|491、递增子序列,46、全排列,47、全排列II

目录 491、递增子序列46、全排列47、全排列II 491、递增子序列 讲解&#xff1a;https://programmercarl.com/0491.%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97.html class Solution { private:vector<vector<int>> result;vector<int> path;void backt…

pandas读取文件导致jupyter内核崩溃如何解决

读取execl文件出现以下问题: str_name "D:\\cao_use\\2017_2021(new).xlsx" train_df pd.read_excel(str_name, usecols[0])崩溃的指示图如下所示: bug原因:读入的文件太大&#xff0c;所需时间过长&#xff0c;在读取的过程中&#xff0c;使用中断按钮暂停会直…