【集合论】二元关系 ( 定义域 | 值域 | 域 | 逆运算 | 逆序合成运算 | 限制 | 像 | 单根 | 单值 | 合成运算的性质 )
文章目录
- 一、关系的定义域、值域、域
- 二、关系的定义域、值域、域 示例
- 三、关系的逆运算
- 四、关系的逆序合成运算
- 五、关系的限制
- 六、关系的象
- 七、单根
- 八、单值
- 九、合成运算的性质
一、关系的定义域、值域、域
RRR 是一个任意集合
定义域 ( Domain ) : domR={x∣∃y(xRy)}dom R = \{ x | \exist y (xRy) \}domR={x∣∃y(xRy)}
存在 yyy , xxx 与 yyy 有 RRR 关系 , RRR 关系是一个集合 , 集合中的元素是有序对 , xRyxRyxRy 是 <x,y><x,y><x,y> 有序对 ;
RRR 中的有序对 , 第一个元素是 xxx , 第二个元素是 yyy , 那么可以将该 xxx 放入定义域中 ;
RRR 关系中所有的有序对的第一个元素拿出 , 构成一个定义域 ;
值域 ( Range ) : ranR={y∣∃y(xRy)}ran R = \{ y | \exist y (xRy) \}ranR={y∣∃y(xRy)}
RRR 关系中所有的有序对的第一个元素拿出 , 构成值域 ;
域 ( Field ) : fldR=domR∪ranRfld R = dom R \cup ran RfldR=domR∪ranR
域 是 定义域 和 值域的并集 ;
二、关系的定义域、值域、域 示例
1. R1={a,b}R_1 = \{a, b\}R1={a,b}
R1R_1R1 中没有有序对 , 因此其 定义域 , 值域为空 , 进而其 域 也为空 ;
domR1=∅dom R_1 = \varnothingdomR1=∅
ranR1=∅ran R_1 = \varnothingranR1=∅
fldR1=∅fld R_1 = \varnothingfldR1=∅
2. R2={a,b,<c,d>,<e,f>}R_2 = \{ a, b, <c, d> , <e,f> \}R2={a,b,<c,d>,<e,f>}
domR2={c,e}dom R_2 = \{ c, e \}domR2={c,e}
ranR2={d,f}ran R_2 = \{ d, f \}ranR2={d,f}
fldR2={c,d,e,f}fld R_2 = \{ c, d, e , f\}fldR2={c,d,e,f}
3. R3={<1,2>,<3,4>,<5,6>}R_3 = \{ <1,2>, <3, 4> , <5,6> \}R3={<1,2>,<3,4>,<5,6>}
domR3={1,3,5}dom R_3 = \{ 1, 3, 5 \}domR3={1,3,5}
ranR3={2,4,6}ran R_3 = \{ 2, 4, 6 \}ranR3={2,4,6}
fldR3={1,2,3,4,5,6}fld R_3 = \{ 1, 2, 3, 4,5, 6\}fldR3={1,2,3,4,5,6}
三、关系的逆运算
任意集合 F,GF , GF,G , 这里两个集合是关系 , 集合中的元素是有序对
逆运算 ( Inverse ) :
F−1={<x,y>∣yFx}F^{-1} = \{ <x, y> | yFx \}F−1={<x,y>∣yFx}
将 FFF 关系中的所有有序对中的元素 , 前后调换方向 , 有序对中第一个元素变为第二个元素 , 第二个元素变为第一个元素 ;
如 : 将 yFxyFxyFx , 是 <y,x><y, x><y,x> 有序对 , 变成 <x,y><x, y><x,y> 有序对 ;
四、关系的逆序合成运算
逆序合成 ( Composite ) :
FoG={<x,y>∣∃z(xGz∧zFy)}FoG = \{ <x, y> | \exist z ( xGz \land zFy ) \}FoG={<x,y>∣∃z(xGz∧zFy)}
如果 关系 GGG 中有 <x,z><x,z><x,z> 有序对 , 关系 FFF 中有 <z,y><z, y><z,y> 有序对 , 就可以得到一个新的有序对 <x,y><x,y><x,y> , 该新的有序对在 关系 FFF 和 关系 GGG 的合成 运算结果中 ;
这种合成是 逆序合成 , 先用 FoGFoGFoG 中的后面的 GGG 关系的有序对 , 然后再用 前者 FFF 中的有序对 ;
逆序合成 与之对应的是顺序合成 , 一般情况下使用逆序合成 , 其性质使用方便 ;
五、关系的限制
对于任意集合 F,AF, AF,A , 可以定义
FFF 集合在 AAA 集合上的 限制 ( Restriction ) :
F↾A={<x,y>∣xFy∧x∈A}F \upharpoonright A = \{ <x, y> | xFy \land x \in A \}F↾A={<x,y>∣xFy∧x∈A}
解析 :
FFF 集合是一个关系 , 其元素是 有序对
AAA 集合是普通集合 , 其元素就是单纯的单个元素 ;
FFF 集合中的 有序对 元素中 , 如果 有序对的 第一个元素 在 AAA 集合中, 那么将这个有序对挑出来 , 放到一个新的集合中 , 这个新集合就称为 FFF 集合在 AAA 集合上的 限制 , 记作 F↾AF \upharpoonright AF↾A ;
上述 限制 ( Restriction ) 是限制 有序对中的第一个元素 ;
如果想要 限制第二个元素 , 将 FFF 集合中的有序对中的 第二个元素属于 AAA 的集合的有序对挑出来 , 可以将 FFF 关系进行逆运算 , 然后 求 F−1F^{-1}F−1 的限制 ;
限制的结果仍然是一个关系 , 其集合中的元素是有序对 ;
六、关系的象
对于任意集合 F,AF, AF,A , 可以定义
FFF 集合在 AAA 集合上的 像 ( Image ) :
F(A)=ran(F↾A)F(A) = ran(F \upharpoonright A)F(A)=ran(F↾A)
即 , FFF 在 AAA 集合上的 限制 ( Restriction ) 的值域 ;
另一种表示方式 : F[A]={y∣∃x(x∈A)∧xFy}F [A] = \{ y | \exist x ( x \in A ) \land xFy \}F[A]={y∣∃x(x∈A)∧xFy}
将 FFF 中的 有序对 挑出来 , 然后挑出有序对中第一个元素在 AAA 集合中的有序对 , 将上述 有序对的第二个元素挑出来 , 放入新的集合中 , 这个集合就 是 FFF 在 AAA 集合上的 像 ;
像 的结果不是一个关系 , 而是 符合特定要求的 有序对集合 中的有序对的第二个元素组成的集合 ;
七、单根
任意集合 FFF , 单根 ( Single Rooted ) 定义 :
FFF 是单根的
⇔\Leftrightarrow⇔
∀y(y∈ranF→∃!x(x∈domF∧xFy))\forall y ( y \in ran F \to \exist ! x( x \in domF \land xFy ) )∀y(y∈ranF→∃!x(x∈domF∧xFy))
⇔\Leftrightarrow⇔
(∀y∈ranF)(∃!x∈domF)(xFy)( \forall y \in ran F )( \exist ! x \in domF )(xFy)(∀y∈ranF)(∃!x∈domF)(xFy)
任何一个 yyy , yyy是有序对中的值域中的元素 , 有序对中与 yyy 对应的值 xxx 元素 , 即 <x,y><x, y><x,y> 构成一个有序对 , 该 xxx 存在并且唯一 ;
有序对 <x,y><x, y><x,y> 中每个 yyy 都对应着不同的 xxx
一些谓词公式说明 :
∃!\exist !∃! 表示 唯一存在 ;
∀x((x∈A→B(x))\forall x ( (x \in A \to B(x) )∀x((x∈A→B(x)) 可以缩写为 (∀x∈A)B(x)(\forall x \in A)B(x)(∀x∈A)B(x)
∃x(x∈A∧B(x))\exist x ( x \in A \land B(x) )∃x(x∈A∧B(x)) 可以缩写为 (∃x∈A)B(x)(\exist x \in A)B(x)(∃x∈A)B(x)
八、单值
任意集合 FFF , 单值 ( Single Value ) 定义 :
FFF 是单值的
⇔\Leftrightarrow⇔
∀x(x∈domF→∃!y(y∈ranF∧xFy))\forall x ( x \in dom F \to \exist ! y( y \in ranF \land xFy ) )∀x(x∈domF→∃!y(y∈ranF∧xFy))
⇔\Leftrightarrow⇔
(∀x∈domF)(∃!y∈ranF)(xFy)( \forall x \in dom F )( \exist ! y \in ranF )(xFy)(∀x∈domF)(∃!y∈ranF)(xFy)
任何一个 xxx , xxx是有序对中的定义域域中的元素 , 有序对中与 xxx 对应的值 yyy 元素 , 即 <x,y><x, y><x,y> 构成一个有序对 , 该 yyy 存在并且唯一 ;
有序对 <x,y><x, y><x,y> 中每个 xxx 都对应着不同的 yyy
九、合成运算的性质
R1,R2,R3R_1, R_2, R_3R1,R2,R3 是三个集合 , 则有以下性质 :
(R1oR2)oR3=(R1o(R2oR3))(R_1 o R_2) o R_3 = (R_1 o ( R_2 o R_3 ))(R1oR2)oR3=(R1o(R2oR3))
F,GF, GF,G 是两集合 , 有以下性质 :
(FoG)−1=G−1oF−1(F o G)^{-1} = G^{-1} o F^{-1}(FoG)−1=G−1oF−1
合成运算的逆 等于 两个集合逆的合成 ;
【集合论】二元关系 ( 定义域 | 值域 | 域 | 逆运算 | 逆序合成运算 | 限制 | 像 | 单根 | 单值 | 合成运算的性质 )相关推荐
- c语言将一个已知头结点的单链表逆序_C语言数据结构实现链表逆序并输出
C语言数据结构实现链表逆序并输出 将一个链表逆序并输出.我用了两种方法来实现,第一种是借助了一个新的空链表:第二种是在原来链表的基础上直接实现逆序. 实例代码: 头文件: #include #incl ...
- c语言实现链表的逆序输出,C语言数据结构实现链表逆序并输出
C语言数据结构实现链表逆序并输出 将一个链表逆序并输出.我用了两种方法来实现,第一种是借助了一个新的空链表:第二种是在原来链表的基础上直接实现逆序. 实例代码: 头文件: #include #incl ...
- C语言的单链表逆序和指定范围逆序
文章目录 前言 逆序 指定范围逆序 源码实现 前言 关于链表的逆置,是考察对链表指针的理解.知道了如何不实用额外空间,同时使用O(n)复杂度对链表进行逆序之后将会对链表有好理解. 同时关于如何在指定范 ...
- 【数据结构】单链表的逆序输出(两种方法)
第一种方法:转换指针方向 即:将一个已经创建好的单链表进行指针域的改变 今天突然被问到单链表逆序的问题,弄了好久才看出别人的程序有啥问题,就重新写了一遍. 今天才在CSDN客户端上看到美团的面试题是冒 ...
- 单链表之无头和有头--逆序
在介绍单链表逆序操作之前,首先好好地介绍下有头与无头单链表的区别: 一.概念辨析 线性表的插入删除需要移动大量的元素,因此引入链表(本文讨论单链表)的概念,链表元素之间通过"链"来 ...
- 通用版!完整代码,单链表SingleLinkedList增删改查,反转,逆序,有效数据等Java实现
文章目录 节点类 链表类(主要) 测试类 小结 节点类 可以根据需要,对节点属性进行修改.注意重写toString()方法,以便后续的输出操作. //节点类 class Node {public in ...
- 链表逆序(JAVA实现)
题目:将一个有链表头的单向单链表逆序 分析: 链表为空或只有一个元素直接返回: 设置两个前后相邻的指针p,q,使得p指向的节点为q指向的节点的后继: 重复步骤2,直到q为空: 调整链表头和链表尾: 图 ...
- 大厂面试算法系列-如何实现链表的逆序(一)-原地逆序
题目描述 给定一个带有头节点的单向列表,将这个链表进行逆序.例如head->1->3->4->2,逆序之后变成head->2->4->3->1 题目 ...
- 单链表实现一元多项式相加_python面试系列 01如何实现单链表的逆序
题目介绍 来源:腾讯笔试 难度系数:★★★☆☆ 考察频率:★★★★☆ 题目描述: 给定一个带头结点的单链表,请将其逆序 ...
最新文章
- 网站建设教程:新手如何建设自己的网站?
- PAT甲级1126 Eulerian Path:[C++题解] 欧拉路径、并查集,测试点4有问题请进来
- mysql 变量set
- python_day02 上节课知识点回顾
- 如何浅显得理解风控模型中的特征筛选|附实操细节(全)
- js中innerHTML与innerText的用法与区别【转自http://blog.sina.com.cn/johnpu】
- zeptojs库解读1之整体框架
- python画柱状图-Python 使用 matplotlib 画柱状图教程
- JavaSE学习脑图
- 计算机科普小知识大全,电脑小白知识科普 10个Win10实用技巧科普
- Photoshop插件-HDR(二)-脚本开发-PS插件
- 中英文电子书免费下载网站大全
- 五一南京-无丝竹无案牍
- 下载安装了zotero,为什么word没显示zotero的加载项
- Linux nodejs 安装以及配置环境
- RouterOS 常用命令、用法及官方资料
- 身为程序员还看不懂UML类图? 一文带你零基础学会看UML类图!
- python 英语翻译_python中英文翻译
- 新世纪的群众性幻想与癫狂
- 7月火影忍者服务器维护,7月12日停机更新公告