关系的闭包

闭包\large R^{'}  设 \large R\large A 上的关系,如果 \large R 不具有 自反 (对称,传递)性, 我们希望 添加 一些 有序对,构成 \large R^{'} 具有上述性质,同时我们希望\large R^'最小

 

数学语言描述:

1. \large R^{'}具有自反(对称,传递)性质

2.  \large R\subseteq R^{'}

3. 任何包含 \large R 的自反(对称,传递)闭包 \large R^{''},都有 \large R^{'}\subseteq R^{''}

 

闭包的记号:

自反闭包:\large r(R)      对称闭包:\large s(R)      传递闭包:\large t(R)

 

集合观点:

对于 \large R 上的关系,有

1.  \large r(R)=R\cup R^{0}

2.  \large s(R)=R\cup R^{-1}

3.  \large t(R)=R\cup R^{2} \cup R^{3}\cup...

 矩阵观点:

1.  \large M_{r}=M+E

2. \large M_{s}=M+M^{T}    【\large M^{T}为转置矩阵】

3. \large M_{t}=M+M^{2}+M^{3}+...

关系图观点:

1. 所有顶点都加上自环

2. 所有的边如果没有反向边,就添加一条反向边

3. 找出所有从 \large x_{i} 出发 步长为 2,3,4,...,如果没有边,就连接一条边。

 

传递闭包的计算:

设  \large A=(x_{1},x_{2},x_{3},...,x_{n}),  则 \large M_{t}=M+M^{2}+...+M^{n}    【从这里可知上面不是无穷项,有着一个上限值】

证: 从一个点出发,不含回路的路径至多 只有 \large n 步长,所以最大值没有必要超过 \large n

复杂度:\large n^{3}(1+2+3+...+n)=n^5

 

存在一个更优的求传递闭包的算法: warshall算法

 

我们知道\large t(R)中  \large x_{i}\large x_{j} 之间存在边,情况分为两种

1.两点在 \large R 中就存在边

2.两点在 \large R 中没有边,但是\large x_{i}\large x_{k}\large x_{k}\large x_{j}存在边

 

用公式表达:\large M_{k+1}[i,j]=M_{k}[i,j]+M_{k-1}[i,k] \wedge M_{k-1}[k,j]

注:这里的加 都是逻辑加

复杂度:\large n^{3}*n=n^4

 

 

 

如果 \large R 是传递的,则 \large r(R) 也是传递的,\large s(R)不一定还具有传递性。

所以 \large tsr(R)=t(s(r(R))),  需要将传递闭包放在最后,防止对称闭包之后不再具有传递性。

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值