① 离散数学r的自反闭包,传递闭包和对称闭包该怎么算
自反闭包,是在原关系基础上,加上所有自反关系。
类似地,传递闭包,是在原关系基础上,补充符合传递性要求的关系。
对称闭包,是在原关系基础上,补充符合对称性要求的关系。
② 关于数据库闭包的问题
已知 关系模式E<U,F>,其中U={A,B,C,D,E};F={AB→C,B→D ,C→E,EC→B,AC→B}。
求(AB)F+
解:设X(0)=AB
计算X(1);逐一的扫描F集合中各个函数的一览,找左部位A,B和AB的函数依赖。得到两个AB→C,B→D。于是X(1)=AB∪CD=ABCD.
因为X(0)≠X(1),所以再找出左部位ABCD子集的那些函数依赖 又得到,C→E,AC→B
于是X(2)=X(1)∪BE=ABCDE.
因为X(2)已等于全部属性集合,所以(AB)F+=ABCDE
③ 闭包的离散数学中
“关系”的闭包(Closure)
离散数学中,一个关系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)。
④ 数据库闭包怎么算的
闭包就是由一个属性直接或间接推导出的所有属性的集合,例如: f={a->b,b->c,a->d,e->f} ,由a可直接得到b和d,间接得到c,则a的闭包就是{a,b,c,d}。
例:设关系R(A,B,C, D,E, G)有函数依赖集F={AB→C, BC→AD,D→E, CG→B},求AB的闭包。
解:首先从AB出发,令X={A,B},由于函数依赖AB→C左边的所有属性都在X中,所以可以把右边的C添加到X中,这时X={A, B,C},其次考虑函数依赖BC→AD,左边B,C均在X中,右边D不在X中,将其添加到X中,此时X={A,B,C,D}。
再考虑函数依赖D→E,同理可将E添加到X中,此时x={A,B,C,D,E}。上述方法再不能向X中添加属性,所以得到{A,B} +={A,B,C,D, E}。
使用闭包的注意点
1,由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。
2,闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。
⑤ 离散数学中传递闭包怎么求 通俗一点
方法:warshall法,即运行n次,每次使得MR[n][i],MR[i][n]都为1时使得MR[i][j]为1,否则还是为MR[i][j]。
传递闭包的计算过程一般可以用Warshell算法描述:
For每个节点iDo
For每个节点jDo
Ifj能到iThen
For每个节点kDo
a[j,k]:=a[j,k]Or(a[j,i]Anda[i,k])
其中a数组为布尔数组,用来描述两个节点是否相连,可以看做一个无权图的邻接矩阵。算法过程跟Floyd很相似,三重循环,枚举每个中间节点。不过传递闭包只需要求出两个节点是否相连,而不用求其间的最短路径长。
传递性:对于一个节点i,如果j能到i,i能到k,那么j就能到k。求传递闭包,就是把图中所有满足这样传递性的节点都弄出来,计算完成后,就知道任意两个节点之间是否相连。
传递闭包的定义:R’是R(不具有传递性质)变动最少的步骤得到的具有传递性质的关系。
⑥ 离散数学关系闭包运算问题 设R是集合A上的关系,那么t。s。r(R)是什么意思啊怎么复合运算这种闭包关系啊
先求自反闭包r(R),再求r(R)的对称闭包s(r(R)),最后求s(r(R))的传递闭包t(s(r(R))),按次序求就好