关系的闭包
- 格式:ppt
- 大小:263.50 KB
- 文档页数:6
关系的闭包运算
关系的闭包运算是关系上的一元运算,它把给出的关系R扩充成一新关系R’,使R’具有一定的性质,且所进行的扩充又是最“节约”的。
比如自反闭包,相当于把关系R对角线上的元素全改成1,其他元素不变,这样得到的R’是自反的,且是改动次数最少的,即是最“节约”的。
一个关系R的闭包,是指加上最小数目的有序偶而形成的具有自反性,对称性或传递性的新的有序偶集,此集就是关系R的闭包。
设R是集合A上的二元关系,R的自反(对称、传递)闭包是满足以下条件的关系R':
(i)R'是自反的(对称的、传递的);
(ii)R'⊇R;
(iii)对于A上的任何自反(对称、传递)关系R",若R"⊇R,则有R"⊇R'。
R的自反、对称、传递闭包分别记为r(R)、s(R) 和t(R)。
性质1
集合A上的二元关系R的闭包运算可以复合,例如:
ts(R)=t(s(R))
表示R的对称闭包的传递闭包,通常简称为R的对称传递闭包。
而tsr(R)则表示R的自反对称传递闭包。
性质2
设R是集合A上的二元关系,则有
(a)如果R是自反的,那么s(R)和t(R)也是自反的;
(b)如果R是对称的,那么r(R)和t(R)也是对称的;
(c)如果R是传递的,那么r(R)也是传递的。
性质3
设R是集合A上的二元关系,则有
(a)rs(R)=sr(R);
(b)rt(R)=tr(R);(c)ts(R)⊇ st(R)。
3.8 关系的闭包运算关系作为集合, 在其上已经定义了并、交、差、补、复合及逆运算。
现在再来考虑一种新的关系运算-关系的闭包运算,它是由已知关系,通过增加最少的序偶生成满足某种指定性质的关系的运算。
例如, 设{,,}A a b c =,A 上的二元关系{,,,,,,,}R a a a b b c c c =,则A 上含R 且最小的自反关系是:(){,}r R R b b = ;A 上含R 且最小的对称关系是:(){,,,}s R R b a c b= ; A 上含R 且最小的传递关系是:(){,}t R R a c = 。
定义3.8.1 设R 是X 上的二元关系,如果有另一个X 上的关系'R 满足: (1)'R 是自反的(对称的,传递的); (2)'R R ⊇;(3)对于任何X 上的自反的(对称的,传递的)关系R '',若R R ''⊇,就有'R R ''⊇。
则称关系'R 为R 的自反(对称,传递) 闭包(Reflexive (Symmetric ,Transitive) Closure),记作()()()(),r R s R t R 。
显然,自反(对称,传递)闭包是包含R 的最小自反(对称,传递)关系。
定理3.8.1 设R 是X 上的二元关系,那么 (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 R =,根据闭包定义,R 必是自反的。
(2)、(3)的证明完全类似。
下面讨论由给定关系R ,求取'R 的方法。
定理3.8.2 设R 是集合X 上的二元关系,则 (1)()X r R R I = ; (2)()1s R R R -=(3)()1i i t R R ∞== ,()t R 通常也记作R +。
9.4关系的闭包9.4 关系的闭包闭包的定义:>关系R对于性质P的闭包,是加⼊最⼩数量的序偶,使得R恰好符合性质P所得到的集合 >R的闭包R1具有如下3个特点: >①. R1包含 R >②. R1具有性质P >③. 如果R2具有性质P且R2包含R,那么R2包含R1就R的有向图⽽⾔:1. 找其⾃反闭包(reflexive closure)添加循环/闭环2. 找其对称闭包(symmetric closure)沿相反⽅向添加弧线(箭头)3. 找其传递闭包(transitive closure)如果a到b连通,那么就添加从a到b的弧线(箭头)⾃反闭包(reflexive closure)定理:R是定义在A上的关系,那么R的⾃反闭包r(R) = R∪△如何获得?①. 在R的有向图的所有顶点上添加闭环②. 令R的邻接矩阵的对⾓线上全为1对称闭包(symmetric closure)定理①:R是定义在A上的关系,那么R的对称闭包s(R) = R∪R-1NOTE: R-1 = {(b, a) | (a, b) ∈ R}NOTE: R-1的邻接矩阵是R的邻接矩阵的转置,即: M R T = M R-1定理②:R是对称的,当且仅当 R = R-1NOTE:在对称关系的有向图中,⽤⽆向的边来代替弧线(箭头)路径(Paths)假设R为定义在A上的关系,则R从a到b,长度为n的路径可表⽰为以a为起始点,b为终点的⼀个有限序列π:a, x1, x2, ..., x n-1, b;其中,满⾜:a R x1, x1 R x2, ..., x n-1 R b例:⼀些重要定义:环(cycle):⼀条起始点和终点为相同顶点的路径称为:环(cycle)R n:x R n y表⽰,在R中存在⼀条或多条从x到y的路径连通关系(connectivity relation) R*R*包含的序偶对(a, b),其中在R中⾄少存在⼀条从a到b的路径例:⼀些重要定理:1. 如果R是定义在A上的关系,那么有:其中,⊙表⽰矩阵布尔乘法证明:2. 当n>=2时,有:证明:科学归纳法(略)连通关系(The connectivity relation)准备路径的合成令:π1: a, x1, x2, … , x n-1, bπ2: b, y1, y2, … , y m-1, c则π1与π2合成后的路径为:π2 o π1:a, x1, x2, … , x n-1, b, y1, y2, … , y m-, cNOTE THE ORDER(注意顺序)传递闭包(Transitive closure)①. 关系R的传递闭包是包含R的最⼩的传递关系。
关系的闭包实例在计算机科学中,关系是指集合之间的一种特殊联系。
一个关系可以用有序对的集合来表示,其中每个有序对由两个元素组成,分别来自两个不同的集合。
在关系理论中,闭包是指对于一个关系R,通过一系列操作得到的包含R中所有满足特定条件的元素对的集合。
关系的闭包在实际应用中有着广泛的用途。
本文将通过几个具体的实例来展示关系的闭包的应用。
1. 传递闭包(Transitive Closure)传递闭包是关系闭包中最重要的一种。
在一个关系R中,如果存在元素a和b,且存在元素c使得(a, c)和(c, b)都属于R,那么就称R 是传递的。
传递闭包就是在一个关系R的基础上,添加任何使得R 成为传递的元素对,直到无法再添加为止。
传递闭包在图论中有着重要的应用,可以用来求解最短路径、网络流等问题。
2. 自反闭包(Reflexive Closure)自反闭包是指在一个关系R的基础上,添加所有未包含在R中的形如(a, a)的元素对。
自反关系在实际应用中很常见,比如在数据库中,可以用自反闭包来表示一个实体与自身之间的关系。
3. 对称闭包(Symmetric Closure)对称闭包是指在一个关系R的基础上,添加所有未包含在R中的形如(b, a)的元素对,使得(a, b)和(b, a)都属于R。
对称闭包在社交网络中有着重要的应用,可以用来判断两个用户之间是否存在朋友关系。
4. 传递自反闭包(Transitive Reflextive Closure)传递自反闭包是指在一个关系R的基础上,同时添加传递闭包和自反闭包。
这种闭包在关系数据库中经常使用,可以用来表示一个实体与自身以及与其他实体之间的传递关系。
以上这些闭包只是关系闭包中的几个常见示例,实际应用中还有许多其他种类的闭包。
关系的闭包可以通过算法来计算,比如使用Warshall算法计算传递闭包,使用Floyd算法计算最短路径等。
总结起来,关系的闭包是在一个关系的基础上,通过添加满足特定条件的元素对来得到的扩展集合。