离散数学_九章:关系(4)

news2024/9/30 9:36:00

9.4 关系的闭包

  • 1、闭包(closure)的定义
  • 2、不同类型的闭包
    • 1. 自反闭包(reflexive closure)
    • 2. 对称闭包(symmetric closure)
    • 3. 传递闭包(transitive closure)
  • 3、闭包的几个定理
    • 定理1
    • 定理2
    • 定理3 - R1∪R2
    • 定理4
    • 定理5
    • 📘例题:
  • 4、有向图中的路径
  • 5、传递闭包
    • 1. 连通性关系
    • 2. 传递闭包的构造:

闭包是一个新的关系,这个新的关系是由旧关系构造的

1、闭包(closure)的定义

包含一些给定对象,具有指定性质的最小集合

定义: 设R是集合 A 上的关系,若存在关系 R 的具有性质 P 的闭包,则此闭包是集合 A 上包含R的具有性质 P 的关系 S,并且 S 是每一个包含R的具有性质 P 的 A×A 的子集

简单来说,求 R 的具有性质P的闭包就是把R 与满足性质 P 的关系的集合取并(∪)

2、不同类型的闭包

1. 自反闭包(reflexive closure)

自反闭包: 包含给定关系R的最小自反关系,称为R的自反闭包。记作 r ( R )

(1) R ⊆ r( R )
(2) r( R )是自反的
(3) ∀S( (R⊆S ∧ S自反) → r( R )⊆S )

在这里插入图片描述
! 加上自己到自己的环

📘例:
整数集上的关系R={ (a,b) l a < b } 的自反闭包是什么?

解:
R的自反闭包是 { (a,b) l a < b } U { (a,a) l a∈Z } = { (a,b) l a ≤ b }

2. 对称闭包(symmetric closure)

对称闭包: 包含给定关系R的最小对称关系,称为R的对称闭包。记作s( R )

(1) R ⊆ s( R )
(2) s( R )是对称的
(3) ∀S( (R⊆S ∧ S对称) → s( R )⊆S )

在这里插入图片描述

! 每条边有回路

3. 传递闭包(transitive closure)

传递闭包: 包含给定关系R的最小传递关系,称为R的传递闭包。记作t( R )

(1) R ⊆ t( R )
(2) t ( R )是传递的
(3) ∀S( (R⊆S ∧ S传递) → t( R )⊆S )

在这里插入图片描述

3、闭包的几个定理

定理1

设 R ⊆ A × A 且 A ≠ ∅,则

(1) R自反 ⇔ r( R ) = R
(2) R对称 ⇔ s( R ) = R
(3) R传递 ⇔ t( R ) = R

证明:
(1) R ⊆ R ∧ R自反 ⇒ r( R ) ⊆ R
又 R ⊆ r( R )
∴ r( R ) = R

(2)(3) 完全类似

定理2

设 R1⊆R2⊆A×A 且 A≠∅, 则

(1) r( R1 ) ⊆ r( R2 )
(2) s( R1 ) ⊆ s( R2 )
(3) t( R1 ) ⊆ t( R2 )

证明:
(1) R1⊆R2 ⊆ r( R2 )自反,
∴ r( R1 ) ⊆ r( R2 )

(2)(3) 类似

定理3 - R1∪R2

设 R1,R2⊆A×A 且 A≠∅, 则

(1) r( R1∪R2) = r( R1 )∪r( R2 )
(2) s( R1∪R2 ) = s( R1 )∪s( R2)

(3) t( R1∪R2) ⊇ t( R1 )∪t( R2 )

证明(1):
(1) r( R1∪R2) = r( R1 )∪r( R2 )

利用定理2,
r( R1∪R2) ⊇ r( R1)∪r(R2)
r( R1)∪r(R2)自反且包含 R1∪R2
∴ r( R1∪R2) ⊆ r( R1)∪r(R2)
∴ r( R1∪R2) = r( R1 )∪r( R2 )

证明(2):
(2) s( R1∪R2 ) = s( R1 )∪s( R2)

利用定理2,
s(R1∪R2 ) ⊇ s(R1 )∪s(R2 )
s(R1)∪s(R2 )对称且包含R1∪R2
∴ s(R1∪R2 ) ⊆ s(R1)∪s(R2)
∴ s( R1∪R2 ) = s(R1 )∪s( R2 )

证明(3):
(3) t( R1∪R2) ⊇ t( R1 )∪t( R2 )
利用定理2
t(R1∪R2 )⊇t(R1 )∪t(R2 ).
反例: t(R1∪R2 )⊃t(R1 )∪t(R2 )
简单来说,R1并R2后,有可能边增加了,自然传递关系会增加

定理4

设 R ⊆ A×A 且 A≠∅, 则

(1) r( R ) = R∪IA (IA是A的自反关系)
(2) s( R ) = R∪R-1
(3) t( R ) = R∪R2∪R3∪…

(3)的推论:设 R⊆A×A 且 0<|A|<∞(A是有穷集), 则∃l ∈N, 使
得 t( R ) = R∪R2∪R3∪…∪Rl ;

对比:
R自反 ⇔ IA⊆R
R对称 ⇔ R=R-1
R传递 ⇔ R2⊆R

定理5

设R⊆A×A且A≠∅,则

(1) R自反 ⇒ s( R )和t( R )自反
(2) R对称 ⇒ r( R )和t( R )对称
(3) R传递 ⇒ r( R )传递

📘例题:

设 A = { a,b,c,d },R = { <a,b>,<b,a>,<b,c>,<c,d> }
求 r( R ), s( R ), t( R )

解:
在这里插入图片描述
在这里插入图片描述求传递闭包:
在这里插入图片描述在这里插入图片描述

4、有向图中的路径

路径:设R是集合A上的关系。从a到b存在一条长为n(n为正整数)的路径,当且仅当(a,b)∈Rn

回路:开始和结束于同一顶点

在这里插入图片描述

下面哪些是图1中的有向图中的路径?

①a,b,e,d
②a,e,c,d,b
③b,a,c,b,a,a,b
④d,c
⑤c,b,a
⑥e,b,a,b,a,b,e
这些路径的长度是多少?
哪些路径是回路?

解:
因为(a,b)、(b,e)和(e,d)都是边,所以①a,b,e,d是长为3的路径。

因为(c,d)不是边,所以②a,e,c,d,b 不是路径。

因为(b,a)、(a,c)、(c,b)、(b,a)、(a,a)和(a,b)都是边,所以③b,a,c,b,a,a,b 是长为6的路径

同理,因为(d,c)是边,所以④d,c是长为1的路径。

(c,b)和(b,a)是边,所以⑤c,b,a是长为2的路径。

(e,b)、(b,a)、(a,b)、(b,a)、(a,b)、(b,e)都是边,因此⑥e,b,a,b,a,b,e是长为6的路径。

只有两条路径
③b,a,c,b,a,a,b和⑥e,b,a,b,a,b,e是回路,因为它们开始和结束于同一顶点

5、传递闭包

1. 连通性关系

设R是集合A上的关系。连通性关系 R* 由形如 (a,b) 的有序对构成,使得在关系R中,从顶点 a 到 b 之间存在一条长度至少为1的路径

因为 Rn 由有序对(a,b)构成,使得存在一条从顶点a到b的长为 n 的路径,所以 R*是所有Rn的并集

R* = R1 U R2U…… U Rn ( n次传递 )

传递性就是传递图关系中的连通性

引理1: 设A是含有n个元素的集合,R是集合A上的关系。如果R中存在一条从a到b的长度至少为1的路径,那么这两点间存在一条长度不超过n的路径。此外,当 a≠b 时,如果在R中存在一条从a到b的长度至少为1的路径,那么这两点间存在一条长度不超过n-1的路径。

2. 传递闭包的构造:

关系R的传递闭包等于连通性关系R*

由引理1可知 R*=R1 U R2 U …… U Rn

设MR是定义在n个元素集合上的关系R的0-1矩阵,那么传递闭包R*的0-1矩阵:
MR* = MR v MR [2] v …… v MR [n]
( MR [x]是关系矩阵的x次乘积)

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

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

相关文章

2000-2019年30省研发资本存量(含计算过程和原始数据)

2000-2019年30省份研发资本存量&#xff08;含计算过程和原始数据&#xff09;/2000-2019年30个省市R&D资本存量或研发资本存量数据 1、时间&#xff1a;2000-2019年 2、范围&#xff1a;包括30个省市不含西藏 3、指标&#xff1a;省研发资本存量 4、参考文献&#xff…

家用 NAS 服务器搭建 | 网络 | DNS域名解析

1、前言 使用NAS&#xff0c;一般除了在家里通过局域网访问&#xff0c;还会有外网访问的需求&#xff0c;即在外面通过移动网络或者其他网络访问家中的NAS。 正常情况下在外面是没有办法访问家庭网络的&#xff0c;甚至是nas&#xff0c;因为nas获取的是局域网IP&#xff0c;…

【Python】flask

一、Flask教程 Flask是一个免费的web框架&#xff0c;也是一个年轻、充满活力的小型框架&#xff0c;开发文档齐 全&#xff0c;社区活跃度高&#xff0c;有着众多支持者。 Flask的设计目标是实现一个WSGI的微框架&#xff0c; 其核心代码十分简单。 Flask框架在中小型企业中的…

pwn的kali64虚拟机环境搭建记录

自己记着备用&#xff0c;pwn的环境和工具 虚拟机&#xff1a;VMware Workstation Pro Linux版本&#xff1a;kali64 总参考&#xff1a; pwn 环境搭建&#xff08;wsl/vmware&#xff09; pwn入门之环境搭建 目前就装这些&#xff0c;以后改了再更新&#xff08;但愿 安装ka…

第 4 章 HBase 进阶

第 4 章 HBase 进阶 4.1 Master 架构1&#xff09;Meta 表格介绍&#xff1a;&#xff08;警告&#xff1a;不要去改这个表&#xff09; 4.2 RegionServer 架构1&#xff09;MemStore2&#xff09;WAL&#xff08;预写日志&#xff09;3&#xff09;BlockCache 4.3 写流程2&…

使用kubeadm搭建生产环境的多master节点k8s高可用集群

环境centos 7.9 目录 1.对安装 k8s 的节点进行初始化配置 2 通过 keepalivednginx 实现 k8s apiserver 节点高可用 3、kubeadm 初始化 k8s 集群 4.扩容 k8s 控制节点&#xff0c;把 xuegod62 加入到 k8s 集群 5、扩容 k8s 控制节点&#xff0c;把 xuegod64 加入到 k8s 集群…

06_Uboot顶层Makefile分析_前期所做内容

目录 U-Boot顶层Makefile分析 版本号 MAKEFLAGS变量 命令输出 静默输出 设置编译结果输出目录 代码检查 模块编译 获取主机架构和系统 设置目标架构、交叉编译器和配置文件 调用scripts/Kbuild.include 交叉编译工具变量设置 导出其他变量 U-Boot顶层Makefile分析…

Kafka架构原理(三)

三、Kafka架构原理 3.1 整体架构图 一个典型的kafka集群中包含若干个Producer&#xff0c;若干个Broker&#xff0c;若干个Consumer&#xff0c;以及一个zookeeper集群&#xff1b; kafka通过zookeeper管理集群配置&#xff0c;选举leader&#xff0c;以及在Consumer Group发…

软件多语言文案脚本自动化方案

开发高效提速系列目录 软件多语言文案脚本自动化方案 软件多语言文案脚本自动化方案 背景目标整体方案1. 创建文案资源文件2. python脚本开发3. Python脚本执行与管理4. 人员职责分配 PyCharm使用说明1. PyCharm下载2. PyCharm安装配置3. 异常情况解决 总结 博客创建时间&…

中间件漏洞(一)CVE-2013-4547(文件名逻辑漏洞)

目录 1. 了解nginx的工作原理 2. 漏洞原理及举例分析 3. 前端php源码分析 4. 注入思路 5. 漏洞复现 5.1 上传文件并抓包分析 5.2 通过访问文件执行php 注意一点 6. 漏洞修复 1. 了解nginx的工作原理 nginx是以PHP语言为主。像Apache一样&#xff0c;Nginx自身是不支持解…

基于黏菌算法的极限学习机(ELM)回归预测-附代码

基于黏菌算法的极限学习机(ELM)回归预测 文章目录 基于黏菌算法的极限学习机(ELM)回归预测1.极限学习机原理概述2.ELM学习算法3.回归问题数据处理4.基于黏菌算法优化的ELM5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;本文利用黏菌算法对极限学习机进行优化&#xff0c;并…

国民技术N32G430开发笔记(15)- IAP升级 树莓派串口发送数据

IAP升级 树莓派串口发送数据 1、树莓派接入usb转串口模块后&#xff0c;会生成/dev/ttyUSB0节点&#xff0c;因为树莓派内核已经编译usb_serial以及各模块的驱动。 我们直接对ttyUSB0节点编程即可。 2、协议同上一节 cmd data_lenght data0 … datax checksum 1、获取版本…

AutoDL-GPU租用平台使用(LLM 备用)

网址&#xff1a;AutoDL-品质GPU租用平台-租GPU就上AutoDL 1 打开网址 查看下显卡型号及价格&#xff1a;A100 ( 80 G 显存) 6.68/小时 、4090&#xff08;24G 显存&#xff09;2.68/小时 2 创建实例 1.注册登录后进入控制台&#xff08;页面右上角&#xff09;&#xff0…

08 KVM虚拟机配置-总体介绍

文章目录 08 KVM虚拟机配置-总体介绍8.1 概述8.2 基本格式8.3 配置流程 08 KVM虚拟机配置-总体介绍 8.1 概述 Libvirt工具采用XML格式的文件描述一个虚拟机特征&#xff0c;包括虚拟机名称、CPU、内存、磁盘、网卡、鼠标、键盘等信息。用户可以通过修改配置文件&#xff0c;对…

【应急响应】日志自动提取分析项目ELKLogkitLogonTracerAnolog等

日志自动提取-七牛Logkit&观星应急工具 1、七牛Logkit&#xff1a;(Windows&Linux&Mac等) https://github.com/qiniu/logkit/ 支持的数据源&#xff08;各类日志&#xff0c;各个系统&#xff0c;各个应用等&#xff09; File: 读取文件中的日志数据&#xff0c;包…

第二章 主机规划与磁盘分区

要安装好一部Linux主机并不是那么简单的事情&#xff0c;你必须要针对distributions的特性、服务器软件的能力、未来的升级需求、硬件扩充性需求等等来考虑&#xff0c;还得要知道磁盘分区、文件系统、Linux操作较频繁的目录等等&#xff0c;都得要有一定程度的了解才行。 2.1…

训练CV模型常用的Tips Tricks

训练CV模型常用的Tips & Tricks主要从以下9个方面进行介绍&#xff1a; 图像增强更好的模型学习率和scheduler优化器正则化手段标签平滑知识蒸馏伪标签错误分析 1. 图像增强 以下列出了许多增强方式&#xff0c;有的甚至没见过&#xff0c;但是也不是每一种增强方式都是…

极化码的入门与探索

文章目录 极化码的基础先验知识二进制输入离散无记忆信道模型(Binary-input Discreten Memoryless Channel, B-DMC)二进制离散输入信道的ML判决和错误率B-DMC相关参数的定义和理解 两信道极化N信道极化的解释信道极化分解的蝶形结构补充&#xff1a;生成矩阵的结构 极化码的基础…

Python算法设计 - 快速排序

目录 一、快速排序二、Python算法实现 一、快速排序 快速排序的概念相信大家都能理解&#xff0c;下面这个算法是基于同样想法的另一种算法&#xff0c;其中利用到了分区。如果实施正确&#xff0c;这是一种非常有效的算法&#xff0c;在预期的O(n.log n) 时间内运行&#xff…

性能测试场景分析并设计?超细案例讲解,看这篇就够了

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 性能测试场景&…