关系是集合元素之间存在的某种关联性。
5.1 关系及关系的性质
定义5.1 设A,B两个集合,的子集R称为从A到B的二元关系。特别地,当A=B时,称R为A上的关系。如果,可记作,称x与y有关系R;
如果,则记作;称x与y没有关系R。
显然A到B的二元关系也是有序对集合。但是它与笛卡儿积是不同的;关系可能仅在两个集合的部分元素之间有定义,没有定义的元素之间不存在关系。而笛卡儿积是两个集合全部元素之间都有定义。
笛卡儿积可以理解是一种非常特殊的关系。它的定义域是集合A,值域是集合B。
二元关系中有几个特殊的关系:
- 空关系
- 全域关系(全关系)
- 恒等关系
定义5.2 对任意集合A,
称 为A上的全域关系或者全关系; # 特殊的笛卡儿积
称 为A上的恒等关系;
若A上的关系,称为A上的空关系。
例5.1 求和。
解:
例5.3 设求A上的小于等于关系和A上的整除关系 。
解:
,因此:
,因此:
定义5.3 设R是集合A上的二元关系:
(1)R中所有有序对的第一个元素构成的集合称为R的定义域(Domain);记作,表示为: 。
(2)R中所有有序对的第二个元素构成的集合称为R的值域(Range);记作,表示为:
。
(3)R的定义域和值域的并集称为R的域,记作,表示为:
。
5.1.1 关系的表示
表示关系除了有序对集合外,还可以使用关系矩阵和关系图。
关系矩阵
设给定两个集合(有限集):,R为X到Y的二元关系,称矩阵为对应R的关系矩阵,其中:
直观地说当元素和有关系时,关系矩阵的第行第列处的值时;当元素和没有关系时,关系矩阵的第行第列处的值时。若R是含n个元素集合A上的关系,则关系矩阵为的方阵。关系矩阵也称为布尔矩阵。关系矩阵中值为1 的元素个数与R中的有序对个数相等。
例5.5 设试以关系矩阵来表示和。
解:
的关系矩阵:
的关系矩阵:
关系R中的二元组和关系矩阵可以互相转化。
例:设,的关系矩阵如下:
写出关系R的二元组。
解:
X为行,Y为列
关系图
关系图试一种直观的表示关系的方法;使用点代表集合元素,有向边代表源到目标的关系。
R中的一个有序对对应一个有向边。
例如:,之间的关系可以表示为:
因此;关系可以是:
- 一对多
- 多对一
- 无关系
例5.7 设试画出的关系图。
解:关系图如下所示:
5.1.2 关系的性质
定义5.4 设R是集合A上的二元关系:
(1)若对,必有,则称关系R在A上是自反的。 # 一个也不能少,可以多 (代表R的自反关系)
(2)若对,必有,则称关系R在A上是反自反的。 # 一个也不能有
(3)若对,若时必有,则称关系R在A上是对称的。 # 一个也不能少,可以多
(4)若对,若且时必有,则称关系R在A上是反对称的。 # 只在a=b时对称
(5)若对,若且时必有,则称关系R在A上是传递的。 # a、b符合关系R,b、c符合关系R;若a、c也符合关系R则这种关系就是传递的。
关系R可以不是自反也不是反自反的。但是R是自反的,那么它肯定不是反自反的;反之同样。
关系R可以不是对称也不是反对称的。但是R是对称的,那么它肯定不是反自反的;反之同样【特别注意:恒等关系和空关系除外】。
一些常见关系的性质:
关系 | 自反性 | 反自反性 | 对称性 | 反对称性 | 传递性 |
全域关系 | |||||
恒等关系 | |||||
空关系 | |||||
小于等于关系 | |||||
小于关系 | |||||
整除关系 |
5.2 关系运算
5.2.1 关系的常规运算
关系是由二元组构成的集合,所以对集合的运算可以应用在关系上。
定理5.1 若Z和S是从集合X到Y的两个关系,则Z和S的交、并、补、差仍然是X到Y的关系。
定义5.5 设R是X到Y的二元关系,若将R中的每一个二元组中的元素顺序互换,所得到的集合称为R的逆关系,简称R的逆;记作:或,即。
定理5.2 若都是从A到B的二元关系,则:
①
②
③
④ # 整个仔细琢磨下;代表R的自反关系
⑤
⑥
⑦若,则
⑧
⑨
5.2.2 复合关系
定义5.6 设R为A到B的关系,S为B到C的关系,则R \circ S称为R和S的复合关系,表示为: ;这样定义的复合关系称为右复合(运算次序从左到右,即先进行R运算,再进行S运算)。反之,称作左复合。
例5.11 设,从A到B的关系及从B到C的关系为:
求从A到C的复合关系。
解:
从A到C的复合关系:
定理5.3 设F是X到Y的关系,G是Y到Z的关系,H是Z到W的关系,则:
(1)
(2) # 这里特别注意不要写反了;
定义5.7 设R是集合A上的关系,幂递归地定义为:。
例5.12 设,求。
解:由已知得:
,
,
,
对于均有。
5.2.3 关系矩阵的布尔运算
已知关系R的关系矩阵为,则逆关系的关系矩阵为的转置矩阵。
关系矩阵可以表示关系,同样地关系运算也可以通过矩阵的布尔运算体现出来;布尔运算的定义如下:
n个元素的集合A:
则的关系矩阵为;的关系矩阵为。
即:。
例5.13 设集合A上的关系R_1和R_2的关系矩阵如下:
求的关系矩阵。
解:
定理5.4 设。从A到B的关系的关系矩阵是阶的矩阵;从B到C的关系的关系矩阵是阶矩阵;那么和的复合关系是从A到C的关系,其关系矩阵:是阶矩阵,且。
实际上:的结果是2个关系的布尔乘法运算的结果。
例5.14 求例5.13中与的复合关系的关系矩阵。
解:
计算过程逻辑如下:
例5.15 给定集合A={1,2,3,4,5},在集合A上定义两种关系:
R = {<2,1>,<4,3>,<3,2>,<5,1>},
S = {<2,4>,<5,2>,<1,3>,<3,1>}
求和
解:①写出和
[扩展部分]
②写出R和S的矩阵和
③计算并写出的关系矩阵
即:
④计算并写出的关系矩阵
即 :
5.2.4 关系的闭包
在原关系R中添加新的二元组形成的新的关系;仅添加必要的二元组,使得新关系具有我们想要的性质。得到的新关系称为原关系的闭包。
定义5.8 设R是非空集合A上的二元关系,若满足下列条件:
(1) 是自反的(或者对称的或者传递的)
(2)
(3) 对于A上的任何包含R的自反的(或者对称的或者传递的)关系,有;称为的自反(或者对称或者传递)闭包,记作(或者或者)。
定理5.5 设R为非空有穷集合A上的二元关系,则:
①
②
③ (n是集合A中的元素个数)
例5.16 设,求r(R),s(R)和t(R)
解:
;
;
;
;
# 与R^2相同
例5.17 画出例5.16中R、r(R)、s(R)、t(R)的关系图。
解:
例5.18 写出例5.16中R、r(R)、s(R)、t(R)的关系矩阵。
解:
①关系R的关系矩阵
②r(R)的关系矩阵
对应位置做析取运算即可。
③s(R)的关系矩阵
对应位置做析取运算即可。
④t(R)的关系矩阵