§1.2关系
1.2.1关系的基本概念及其性质
定义1.2.1.设A 1 ,A 2 ,⋯,A n 是n个集合,集合A 1 ×A 2 ×⋯A n 的一个子集F称为A 1 ,A 2 ,⋯,A n 上的一个n元关系。特别地,集合A×B中的一个子集R,称为集合A与B上的一个二元关系,简称为关系。对于x∈A,y∈B,若(x,y)∈R则称x,y有关系R,记为xRy;若(x,y)∉R,则称x,y没有关系R。若B=A,则称R为A上的二元关系。
关系的特点:(1)A×A的任一子集都是A上的一个关系。(2)若|A|=n,则A上的关系有2 n 2 个。(3)A上的三个特殊关系,即空关系ϕ;区域关系E A =A×A;相等关系I A ={(x,x)|x∈A}。(4)R ¯ ¯ ¯ =A×A−R。序偶(a,b)=(c,d)的充要条件是a=c,b=d。
例1.2.1.设A={a,b,c,d,e,f}为学生集合,B={α,β,γ,δ}为选修课程集合,C={2,3,4,5}为学习成绩集合,学生与课程之间存在着一种关系,即“选修关系”;学生、课程和成绩之间也存在着一种叫做“学习成绩关系”。设用R表示选修关系,S表示学习成绩关系,那么R为A与B上的二元关系,S为A,B和C上的三元关系。
R={(a,α),(a,δ),(b,β),(b,δ),(c,β),(c,δ),(e,α),(f,γ)}
表示学生a选修课程α,δ;学生b选修课程β,δ;学生c选修课程β,γ;学生e选修课程α;学生f选修课程γ;而学生d没有选修任何课程。
S={(a,α,5),(a,δ,5),(b,δ,3),(c,β,4),(f,γ,2)}
表示学生a所选的两门课程成绩都是5分;学生b所选δ课程的成绩是3分;学生c所选β课程的成绩是4分;学生f所选γ课程的成绩是2分.
既然关系是集合,因此有时用处理集合的方法处理关系是方便的。因而有子关系,关系的并、交、差、余等运算.
如R,S是集合A上的两个关系,若R⊆S,则称R为S的子关系;对任意x,y∈A,有
x(R∪S)y当且仅当xRy或者xSy
x(R∩S)y当且仅当xRy并且xSy
x(R−S)y当且仅当xRy并且(x,y)∉S
xR ¯ ¯ ¯ y当且仅当(x,y)∉R
当然,集合的并、交、差、余运算各性质对关系运算也成立。需要注意,作为关系时,余运算是对全域关系而言的。即A×B作为全集E.
定义1.2.2.设R是集合A上的一个关系。令
R −1 ={(y,x)|x∈A,y∈A,并且有xRy}
则称关系R −1 为关系R的逆。
例如,小于关系的逆关系是大于关系,大于关系的逆是小于关系,等于关系的逆关系仍然是等于关系
定义1.2.3.集合A上的关系R称为自反的(反身的),如果对每个x∈A,都有xRx。对于自反性有下列三个命题是等价的:(1)R是自反的;(2)I A ⊆R;(3)R −1 是自反的.
定义1.2.4.集合A上的关系R称为对称的,如果xRy,则yRx。其中x∈A,y∈A。对于对称性有下面两个命题是等价的:(1)R是对称的;(2)R −1 =R。
定义1.2.5.集合A上的关系R称为有反对称性,如果xRy,yRx,则必有x=y。其中x∈A,y∈A。对于反对称性有下列两个命题是等价的:(1)R是反对称的,(2)R∩R −1 ⊆I A .
定义1.2.6.集合A上的关系R称为有传递性,如果xRy,yRz,则xRz。其中x∈A,y∈A,z∈A。
例如:数之间的相等关系,具有自反性,对称性,传递性,反对称性。小于关系和大于关系没有自反性,父子关系既无自反性,也无对称性又无传递性,但是具有反对称性.
定义1.2.7.集合A上的关系R称为反自反的,如果对任意的x∈A,xRx均不成立。对于反自反性又下列两个命题是等价的:(1)R是反自反的,(2)I A ∩R=ϕ.
定义1.2.8.设R、S是集合A上的两个关系,令R∙S={(x,y)|x∈A,y∈A并且有一个z∈A使得xRz,zSy}。称关系R∙S为关系R和S的乘积或合成。
例如:兄弟关系和父子关系的乘积是叔侄关系,而姐妹关系和母子关系的乘积是姨与外甥关系
我们可以来证明关系的乘法满足结合律。设R,S和T是集合A上的三个关系,任取x,y∈A,若x(R∙S)∙Ty,则由关系乘积的定义知,存在z∈A使得xR∙Sz,zTy,同样对xR∙Sz,必存在z ′ ∈A使得xRz ′ ,z ′ Sz。故由z ′ Sz和zTy知z ′ S∙Ty,再由xRz ′ 得xR∙(S∙T)y,即证得了关系的乘法满足结合律。
乘法关系不满足交换律
我们可以用幂表示集合上同一个关系的乘积,即R n =R∙R∙⋯∙R,规定R 0 =I A 。
定理1.2.1.设R是A上的关系,m,n为任意的自然数,那么(1)R m ∙R n =R m+n ;(2)(R m ) n =R mn .
定理1.2.2.设集合A的元数为n,R是A上二元关系,那么存在自然数i,j(0≤i<j≤2 n 2 )使得R i =R j 。
定理1.2.3.设R是集合A上的关系,若存在自然数i,j(i<j),使得R i =R j ,则有(1)R i+k =R j+k ,k∈N;(2)R i+kp+m =R i+m ,其中k,m∈N,p=j−i。
定理1.2.4.集合A上的关系R具有传递性的充要条件是R∙R⊆R(R∙R可简记为R 2 )。
证:必要性。若R具有传递性,任取(x,y)∈R 2 ,于是存在z∈A,使得xRz,zRy,因为R是传递的,所以有xRy,即(x,y)∈R。故R 2 ⊆R。充分性。若R 2 ⊆R,如果xRy,yRz,则xR 2 z。故xRz。所以R是传递性的。
一般来说,设A是一个集合,A上的关系R不一定具有上面讨论的某些关系,如自反性,对称性,传递性。最小的包含R的关系R ′ ,使得R ′ 具有所要求性质,就是关系的闭包。
定义1.2.9.设A是为非空集合,R是A上的二元关系。R的自反闭包(对称闭包,传递闭包)R ′ 满足如下条件:(1)R ′ 是自反的(对称的、传递的);(2)R⊆R ′ ;(3)对A上任意自反的(对称的,传递的)关系R ′′ ,且R⊆R ′′ ,必有R ′ ⊆R ′′ 。
R的自反闭包、对称闭包和传递闭包分别记为r(R),s(R),t(R),也称r,s,t为闭包运算,它们作用于关系R后,产生包含R的最小的自反、对称、传递的关系。这三个闭包也可以依据下述定理来计算。
定理1.2.5.设R是集合A上的关系,那么(1)r(R)=I A ∪R;(2)s(R)=R∪R −1 ;(3)t(R)=⋃ i ∞ R i
当R是有限集合A上的二元关系时,若A的元数为n,则有t(R)=R∪R 2 ∪⋯∪R n
设集合A={1,2,3,4},R是集合A上的关系,R={(1,2),(2,1),(2,3),(3,4)},求r(R),s(R),t(R)
解:I A ={(1,1),(2,2),(3,3),(4,4)}R −1 ={(2,1),(1,2),(3,2),(4,3)}R 2 ={(1,1),(1,3),(2,2),(2,4)}R 3 ={(1,2),(1,4),(2,1),(2,3)}R 4 ={(1,1),(1,3),(2,2,),(2,4)}r(R)=R∪I A ={(1,1),(1,2),(2,1),(2,2),(2,3),(3,3),(3,4),(4,4)}s(R)=R∪R −1 ={(1,2),(2,1),(2,3),(3,2),(3,4),(4,3)}t(R)=R∪R 2 ∪R 3 ∪R 4 ={(1,1),(1,2),(1,3),(1,4),(2,1),(2,2),(2,3),(2,4),(3,4)}
1.2.2.等价关系
定义1.2.10.设A是一个非空集合,R是A上一个关系。如果R具有自反性,对称性,传递性,则称R是一个等价关系.此时R通常记为≅。
注意:当R是A上的一个等价关系时,并不是说A中任意两个元素都有R关系,而是有些元素做成一个等价类组,有些元素做成另一个等价类组,即将A中各元素按R等价关系分成若干类,每一类就是A的一个子集,也就是等价类。
定义1.2.11.设A是一个非空集合,≅是A的等价关系。A的一个非空子集M叫做一个等价类,如果1)若a∈M,b∈M,则a≅b。2)若a∈M,b∉M,则(a,b)∉≅;或者若a∈M,a≅b,则b∈M。
即,如果M中任意两个元素等价,而M中任意元素与M外任意元素不等价,则M就是一个等价类。
例如:设A={1,2,3},R={(1,1),(2,2),(3,3),(1,2),(2,1)},则R是等价关系,存在两个等价类M 1 ={1,2},M 2 ={3}。
定理1.2.6.设≅是集合A上的等价关系,于是等价类是存在的。
证:任取a∈A,令M={x|x∈A并且x≅a}因为a∈M,所以M非空。任取x 1 ∈M,x 2 ∈M,由于x 1 ≅a,x 2 ≅a,而≅具有对称性,传递性,所以x 1 ≅x 2 。任取x 1 ∈M,若x 1 ≅y,则由于x 1 ≅a,所以y≅a,故y∈M。因此,M是一个等价类。
定理1.2.7.设≅是集合A上的等价关系,M 1 ,M 2 ,⋯,是A中所有等价类。于是A=M 1 ∪M 2 ∪⋯,并且M i ∩M j =ϕ(i≠j)。亦即,集合A上的等价关系把A分成了互不相交的等价类。
证:任取M i ,M j ,i≠j。若有x∈M i ∩M j ,则任取a∈M i ,b∈M j ,都有a≅x,b≅x,故M i =M j 矛盾。任取a∈A,令M={x|x∈A并且x≅a}由定理1.2.6知,M是等价类,故有k,使得M=M k ,因为a∈M,所以a∈M 1 ∪M 2 ∪⋯∪M k ∪⋯。即A⊆M 1 ∪M 2 ∪⋯,另外,显然有M 1 ∪M 2 ∪⋯⊆A。故A=M 1 ∪M 2 ∪⋯。
定义1.2.12.当集合A的子集族C满族下列条件时,C称为A的划分:(1)若B∈C,则B≠ϕ;(2)∪B=A;(3)对任意的B,B ′ ∈C,若B≠B ′ ,则B∩B ′ =ϕ。
我们规定A=ϕ时只有划分ϕ,称C中元素为划分块。
如:A={1,2,3,4,5},则C={{1,2,3},{4,5}}是一个划分。
定义1.2.13.设R是非空集合A上的等价关系,以R的所有不同等价类为元素作成的集合称为A的商集,记作A/R。由等价类的定义我们能够知道A/R的任何两个元素的交集为空,且∪A/R=A。
例1.2.2.设A={1,2,3,4,5,8},R={(x,y)|x,y∈A并且x≡y(mod3)},A/R={[1],[2],[3]}={{1,4},{2,5,8},{3}}。
其中x≡y(mod3)表示x与y满足各自除以3余数相同,[x]表示与x等价的所有元素作成的等价类。
例1.2.3.设A={a 1 ,a 2 ,⋯,a n },n≥1。(1)验证E A ,I A ,R ij =I A ∪{(a i ,a j ),(a j ,a i )}都是A上的等价关系,并求它们对应的商集,其中a i ,a j ∈A,且i≠j。ϕ是A上的等价关系吗?(2)A={a,b,c},试求出A上的全体等价关系及其对应的商集。
解:(1)E A ,I A ,R ij 显然是等价关系。A/I A ={{a 1 },{a 2 },⋯,{a n }},A/E A ={{a 1 ,a 2 ,⋯,a n }},A/R ij ={{a i ,a j },{a k1 },{a k2 },⋯,{a kn−2 }},其中k 1 ,k 2 ,⋯,k n−2 均不等于i或j,共有C 2 n 个。ϕ因为无自反性,所以不是A上的等价关系。(2)A={a,b,c}上有5种不同的等价关系:E A ,其商集为A/E A ={{a,b,c}};I A ,其商集为A/I A ={{a},{b},{c}};R 1 =I A ∪{(a,b),(b,a)},A/R 1 ={{a,b},{c}};R 2 =I A ∪{(a,c),(c,a)},A/R 2 ={{a,c},{b}};R 3 =I A ∪{(b,c),(c,b)},A/R 3 ={{b,c},{a}};
A上还有其余的等价关系码?我们知道,A上共有2 9 =512个不同的二元关系,不能用逐个验证的方法去找等价关系,下面介绍如何用对A的划分来找A上的等价关系。
定理1.2.8.设A为一个非空集合。(1)设R为A上的任意一个等价关系,则对应R的商集A/R为A的一个划分。(2)设C为A的任一划分,令R C ={(x,y)|x,y∈A并且x,y属于C的同一划分块},则R C 为A上的等价关系。
此定理说明,非空集合A上的等价关系与A的划分是1−1对应的,于是A上有多少不同的等价关系,就产生同样个数的不同的划分,反之亦然。
例1.2.4问集合A={a,b,c,d}上有多少不同的等价关系?
解:A上共有2 16 个二元关系,从中找出等价关系太困难,利用定理1.2.8可先求出A上的全部划分,A上的等价关系也就容易求出来了.
这里A的不同的划分个数为15,因而,A上共有15个不同的等价关系。
共有15种:具体等价关系的划分类型:1+1+1+1型共1种{{a},{b},{c},{d}}2+1+1型共6种{{a,b},{c},{d}}{{a,c},{b},{d}}{{a,d},{b},{c}}{{c,b},{a},{d}}{{d,c},{b},{a}}{{b,d},{a},{c}}2+2型共3种{{a,b},{c,d}}{{a,c},{b,d}}{{a,d},{b,c}}3+1型共4种{{a,b,c},{d}}{{b,c,d},{a}}{{c,d,a},{b}}{{d,a,b},{c}}4型共1种{{a,b,c,d}}
定义1.2.14.设C和C ′ 都是集合A的划分,若C的每个划分块都含于C ′ 的某个划分块中,则称C是C ′ 的加细。
C是C ′ 的加细,当且仅当R C ⊆R C ′
例1.2.5.设A={a,b,c},找出A的全部划分及对应的等价关系,以及划分间的加细和关系中的包含关系。
解:A上共有5个划分:C 1 ={{a,b,c}},C 2 ={{a},{b,c}},C 3 ={{b},{a,c}},C 4 ={{c},{a,b}},C 5 ={{a},{b},{c}}。它们对应的等价关系分别为R C1 =E A ,R C2 =I A ∪{(b,c),(c,b)},R C3 =I A ∪{(a,c),(c,a)},R C4 =I A ∪{(a,b),(b,a)},R C5 =I A 。 C 2 ,C 3 ,C 4 ,C 5 都是C 1 的加细,R C2 ,R C3 ,R C4 ,R C5 都是R C1 的子集;C 5 也是C 2 ,C 3 ,C 4 的加细,R C5 也是R C2 ,R C3 ,R C4 的子集。
定义1.2.15.设R是集合A上的一个关系。如果R具有自反性,反对称性,传递性,则称R为一个部分序关系(或称半序关系)。集合A在部分序关系R下作成一个部分序集。
一个部分序集的子集仍为部分序集。例如,集合中的包含关系就是一个部分序关系,由一些集合做元素而作成的集合,在集合的包含关系下是一个部分序集。通常,将部分序关系R写作≤,读作“小于或等于”。
定义1.2.16.一个部分序集A(其部分序关系为≤)说是一个全序集,如果对A中任意两个元素a,b,必有a≤b,或者b≤a,全序集有时也称为链。
显然,全序集的子集仍为全序集。
例如,数的集合在数的大小关系下做成一个全序集。
定义1.2.17.设R是集合A上的一个关系。如果R具有反自反性,传递性,则称R为一个拟序关系。记作<,读作“小于”。
定义1.2.18.设A是一个部分序集,其部分序关系为≤。
(1)如果A中有一个元素a,对于所有x∈A,都有x≤a(a≤x),则称a为集合A的最大(最小)元。
A中元素a是一个极大(极小)元,如果除a之外,A中没有元素x,使得a≤x(x≤a)。
(3)对于A中的子集M,A中元素a称为子集M的一个上界(下界),如果对M中任意元素m,都有m≤a(a≤m)。M的上界(下界)未必在M中,甚至M未必有上界(下界)。
(4)对于A中的子集M,A中元素a称为M的一个最小上界(或上确界),如果a是M的一个上界,并且对M的任意一个上界x,都有a≤x。同理,可定义M的最大下界(或者下确界)。
定理1.2.9.设(A,≤)是一个部分序集,B⊆A。
(1)若b是B的最大元(最小元),则b必为B的最小上界(最大下界)。
(2)若b为B的上(下)界,且b∈B,则b必为B的最大(最小)元。
(3)若B有最大下界(最小上界),则最大下界(最小上界)唯一。
注意:最大元,最小元未必存在,如果存在必唯一,极大元,极小元对有限部分序集必存在,但未必唯一。上下界未必存在,存在时未必唯一,即使有上下界时,最小上界和最大下界也未必存在。
例如:A={2,3,6},其上的部分序关系R是整除关系,则A有最大元6,没有最小元,有极大值6,极小元2和3,A有上界6,没有下界。令B={6},则B有上界6,下界2和3,最小上界为6,没有最大下界。
一个部分序集,可以用所谓Hasse图直观地表示出来。Hasse图的画法如下:以平面上的点代表部分序集中的元素。1)若x≤y,且x≠y,则将x画在y的下面。2)若x≤y,x≠y,并且没有不同于x,y的z,使得x≤y≤z,则在x,y之间用直线连接。
例如,令A={{a},{b},{a,b},{a,b,c},{a,b,c,d},{a,b,c,e}}。A在集合的包含关系下是一个部分序集。A的Hasse图如下
此部分序集中无最大,最小元。但是有极大元,极小元。{a,b,c,d}和{a,b,c,e}是极大元,{a}和{b}是极小元。
对于子集{{a},{b}},{a,b}是其最小上界,但是,此子集无下界,当然更没有最大下界。
定义1.2.19.设(A,≤)是一个部分序集。(1)称(A,≤)是良基的,如果A的任意非空子集都有关于≤的最小元;(2)称(A,≤)是良序集,如果(A,≤)是全序的、良基的。
定理1.2.10.设(A,≤)是有穷的全序集,那么它一定是良序集。
证:设A={a 1 ,a 2 ,a 3 ,⋯,a n },现在假设A不是良序集,那么必存在一个非空子集B⊆A,B中不存在最小元,由于B是有穷的集合,那么一定可以找出两个元素x和y,它们之间没有≤关系,这与(A,≤)是有穷的全序集矛盾。
定义1.2.20.部分序集(A,≤)称为完备的,如果(1)A有最小元,常记为⊥ A 或⊥。(2)A中每一个链K均有最小上界(上确界)。
例如,设B为一个集合,那么(ρ(B),⊆)为一完备的部分序集,其中ϕ为最小元,对每一个链{b 1 ,b 2 ,b 3 ,⋯}=K,∪K⊆B总存在,∪K为K的最小下界。
定理1.2.11.具有最小元,且仅含有穷链的部分序集是完备的。
例1.2.6.在真值集{1,0}中加入元素ω,称为无定义值,并在{1,0,ω}上定义部分序≤:a≤b当且仅当a=ω或a=b。显然,({1,0,ω},≤)是一个完备的部分序集,它在计算机形式语义学中有重要应用。
引理.每一个非空有穷部分序集(A,≤)都有极小元素。
证:选择A的一个元素a 0 ,如果它不是极小元素,那么存在元素a 1 满足a 1 ≤a 0 。如果a 1 不是极小元素,那么存在元素a 2 满足a 2 ≤a 1 。如此下去,使得如果a n 不是极小元素,那么又存在元素a n+1 满足a n+1 ≤a n 。由于此部分序集是有穷的,此过程一定结束,并且具有极小元素a n 。
有了此引理我们就可以构造把部分序集改造为全序集的算法。
算法1:设(A,≤)为一非空有穷部分序集,如下构造(A,≤ ′ ),使之为全序集,且保持对任何a,b∈A有,若a≤b,则a≤ ′ b。(1)置B为A,置A为ϕ。(2)取B中任一极小元x(B≠ϕ时总存在)作为A的一个元素,即置B为B−{x},置A为A∪{x}。(3)若B≠ϕ,转到(2),否则停止。(4)依A中元素进入先后定义部分序关系≤ ′ ,即a≤ ′ b,当且仅当a先于b进入A,或a=b。显然(A,≤ ′ )为一全序集(从而为一良序集)。上述过程常称为拓扑排序算法。利用以上算法可以把任一有穷的部分序集改造为全序集,从而成为一良序集。