闭包: 设
是
上的关系,如果
不具有 自反 (对称,传递)性, 我们希望 添加 一些 有序对,构成
具有上述性质,同时我们希望
最小。
数学语言描述:
1. 具有自反(对称,传递)性质
2.
3. 任何包含 的自反(对称,传递)闭包
,都有
闭包的记号:
自反闭包: 对称闭包:
传递闭包:
集合观点:
对于 上的关系,有
1.
2.
3.
矩阵观点:
1.
2. 【
为转置矩阵】
3.
关系图观点:
1. 所有顶点都加上自环
2. 所有的边如果没有反向边,就添加一条反向边
3. 找出所有从 出发 步长为 2,3,4,...,如果没有边,就连接一条边。
传递闭包的计算:
设 , 则
【从这里可知上面不是无穷项,有着一个上限值】
证: 从一个点出发,不含回路的路径至多 只有 步长,所以最大值没有必要超过
。
复杂度:
存在一个更优的求传递闭包的算法: warshall算法。
我们知道中
与
之间存在边,情况分为两种
1.两点在 中就存在边
2.两点在 中没有边,但是
与
,
与
存在边
用公式表达:
注:这里的加 都是逻辑加
复杂度:
如果 是传递的,则
也是传递的,
不一定还具有传递性。
所以 , 需要将传递闭包放在最后,防止对称闭包之后不再具有传递性。