M R = [ 1 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 ] M_R=\begin{bmatrix} 1&0&1&0&0\\ 0&0&1&0&1\\ 0&0&1&0&0\\ 0&0&0&0&1\\ 1&0&0&0&0 \end{bmatrix} MR=⎣⎢⎢⎢⎢⎡1000100000111000000001010⎦⎥⎥⎥⎥⎤
自反闭包r( R)将对角线补齐即可
M r ( R ) = [ 1 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 1 ] M_r(R)=\begin{bmatrix} 1&0&1&0&0\\ 0&1&1&0&1\\ 0&0&1&0&0\\ 0&0&0&1&1\\ 1&0&0&0&1 \end{bmatrix} Mr(R)=⎣⎢⎢⎢⎢⎡1000101000111000001001011⎦⎥⎥⎥⎥⎤
对称闭包s( R)将矩阵沿着对角线补对称
M s ( R ) = [ 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 ] M_s(R)=\begin{bmatrix} 1&0&1&0&1\\ 0&0&1&0&1\\ 1&1&1&0&0\\ 0&0&0&0&1\\ 1&1&0&1&0 \end{bmatrix} Ms(R)=⎣⎢⎢⎢⎢⎡1010100101111000000111010⎦⎥⎥⎥⎥⎤
传递闭包t( R)需要进行关系的复合
M ( R 2 ) = [ 1 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 ] ∘ [ 1 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 ] = [ 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 ] M(R^2)=\begin{bmatrix} 1&0&1&0&0\\ 0&0&1&0&1\\ 0&0&1&0&0\\ 0&0&0&0&1\\ 1&0&0&0&0 \end{bmatrix} \circ \begin{bmatrix} 1&0&1&0&0\\ 0&0&1&0&1\\ 0&0&1&0&0\\ 0&0&0&0&1\\ 1&0&0&0&0 \end{bmatrix}= \begin{bmatrix} 1&0&1&0&0\\ 1&0&1&0&0\\ 0&0&1&0&0\\ 1&0&0&0&0\\ 1&0&1&0&0 \end{bmatrix} M(R2)=⎣⎢⎢⎢⎢⎡1000100000111000000001010⎦⎥⎥⎥⎥⎤∘⎣⎢⎢⎢⎢⎡1000100000111000000001010⎦⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎡1101100000111010000000000⎦⎥⎥⎥⎥⎤
因为2传递的
R ⋃ R 2 = [ 1 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 ] ⋃ [ 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 ] = [ 1 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 ] R\bigcup R^2=\begin{bmatrix} 1&0&1&0&0\\ 0&0&1&0&1\\ 0&0&1&0&0\\ 0&0&0&0&1\\ 1&0&0&0&0 \end{bmatrix} \bigcup \begin{bmatrix} 1&0&1&0&0\\ 1&0&1&0&0\\ 0&0&1&0&0\\ 1&0&0&0&0\\ 1&0&1&0&0 \end{bmatrix}= \begin{bmatrix} 1&0&1&0&0\\ 1&0&1&0&1\\ 0&0&1&0&0\\ 1&0&0&0&1\\ 1&0&1&0&0 \end{bmatrix} R⋃R2=⎣⎢⎢⎢⎢⎡1000100000111000000001010⎦⎥⎥⎥⎥⎤⋃⎣⎢⎢⎢⎢⎡1101100000111010000000000⎦⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎡1101100000111010000001010⎦⎥⎥⎥⎥⎤
M ( R 3 ) = [ 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 ] M(R^3)=\begin{bmatrix} 1&0&1&0&0\\ 1&0&1&0&0\\ 0&0&1&0&0\\ 1&0&1&0&0\\ 1&0&1&0&0 \end{bmatrix} M(R3)=⎣⎢⎢⎢⎢⎡1101100000111110000000000⎦⎥⎥⎥⎥⎤
可以看出R3 ⊈ \nsubseteq ⊈ R ⋃ \bigcup ⋃ R2
所以
R ⋃ R 2 ⋃ R 3 = [ 1 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 ] ⋃ [ 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 ] ⋃ [ 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 ] = [ 1 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 ] R\bigcup R^2\bigcup R^3=\begin{bmatrix} 1&0&1&0&0\\ 0&0&1&0&1\\ 0&0&1&0&0\\ 0&0&0&0&1\\ 1&0&0&0&0 \end{bmatrix} \bigcup \begin{bmatrix} 1&0&1&0&0\\ 1&0&1&0&0\\ 0&0&1&0&0\\ 1&0&0&0&0\\ 1&0&1&0&0 \end{bmatrix} \bigcup \begin{bmatrix} 1&0&1&0&0\\ 1&0&1&0&0\\ 0&0&1&0&0\\ 1&0&1&0&0\\ 1&0&1&0&0 \end{bmatrix}= \begin{bmatrix} 1&0&1&0&0\\ 1&0&1&0&1\\ 0&0&1&0&0\\ 1&0&1&0&1\\ 1&0&1&0&0 \end{bmatrix} R⋃R2⋃R3=⎣⎢⎢⎢⎢⎡1000100000111000000001010⎦⎥⎥⎥⎥⎤⋃⎣⎢⎢⎢⎢⎡1101100000111010000000000⎦⎥⎥⎥⎥⎤⋃⎣⎢⎢⎢⎢⎡1101100000111110000000000⎦⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎡1101100000111110000001010⎦⎥⎥⎥⎥⎤
M ( R 4 ) = [ 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 ] M(R^4)=\begin{bmatrix} 1&0&1&0&0\\ 1&0&1&0&0\\ 0&0&1&0&0\\ 1&0&1&0&0\\ 1&0&1&0&0 \end{bmatrix} M(R4)=⎣⎢⎢⎢⎢⎡1101100000111110000000000⎦⎥⎥⎥⎥⎤
发现 R4 ⊆ \subseteq ⊆ R ⋃ \bigcup ⋃ R2 ⋃ \bigcup ⋃ R3
所以t(R)=R ⋃ \bigcup ⋃ R2 ⋃ \bigcup ⋃ R3
R的关系矩阵如下
M ( R ) = [ 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 ] M(R)=\begin{bmatrix} 0&0&0&0&1&1\\ 0&0&0&0&0&0\\ 1&0&1&0&0&0\\ 0&0&0&0&1&0\\ 0&1&0&0&0&0\\ 0&0&0&0&0&0 \end{bmatrix} M(R)=⎣⎢⎢⎢⎢⎢⎢⎡001000000010001000000000100100100000⎦⎥⎥⎥⎥⎥⎥⎤
warshall算法的核心是,从列开始计算,在为1的元素中,身处在那x列就将x行的值加入当前元素所在的行
M 31 = [ 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 ] M31=\begin{bmatrix} 0&0&0&0&1&1\\ 0&0&0&0&0&0\\ 1&0&1&0&1&1\\ 0&0&0&0&1&0\\ 0&1&0&0&0&0\\ 0&0&0&0&0&0 \end{bmatrix} M31=⎣⎢⎢⎢⎢⎢⎢⎡001000000010001000000000101100101000⎦⎥⎥⎥⎥⎥⎥⎤
M 52 = [ 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 ] M52=\begin{bmatrix} 0&0&0&0&1&1\\ 0&0&0&0&0&0\\ 1&0&1&0&1&1\\ 0&0&0&0&1&0\\ 0&1&0&0&0&0\\ 0&0&0&0&0&0 \end{bmatrix} M52=⎣⎢⎢⎢⎢⎢⎢⎡001000000010001000000000101100101000⎦⎥⎥⎥⎥⎥⎥⎤
M 33 = [ 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 ] M33=\begin{bmatrix} 0&0&0&0&1&1\\ 0&0&0&0&0&0\\ 1&0&1&0&1&1\\ 0&0&0&0&1&0\\ 0&1&0&0&0&0\\ 0&0&0&0&0&0 \end{bmatrix} M33=⎣⎢⎢⎢⎢⎢⎢⎡001000000010001000000000101100101000⎦⎥⎥⎥⎥⎥⎥⎤
M 15 = [ 0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 ] M 35 = [ 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 ] M 45 = [ 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 ] M15=\begin{bmatrix} 0&1&0&0&1&1\\ 0&0&0&0&0&0\\ 1&0&1&0&1&1\\ 0&0&0&0&1&0\\ 0&1&0&0&0&0\\ 0&0&0&0&0&0 \end{bmatrix} M35=\begin{bmatrix} 0&1&0&0&1&1\\ 0&0&0&0&0&0\\ 1&1&1&0&1&1\\ 0&0&0&0&1&0\\ 0&1&0&0&0&0\\ 0&0&0&0&0&0 \end{bmatrix} M45=\begin{bmatrix} 0&1&0&0&1&1\\ 0&0&0&0&0&0\\ 1&1&1&0&1&1\\ 0&1&0&0&1&0\\ 0&1&0&0&0&0\\ 0&0&0&0&0&0 \end{bmatrix} M15=⎣⎢⎢⎢⎢⎢⎢⎡001000100010001000000000101100101000⎦⎥⎥⎥⎥⎥⎥⎤M35=⎣⎢⎢⎢⎢⎢⎢⎡001000101010001000000000101100101000⎦⎥⎥⎥⎥⎥⎥⎤M45=⎣⎢⎢⎢⎢⎢⎢⎡001000101110001000000000101100101000⎦⎥⎥⎥⎥⎥⎥⎤
M 16 = M 36 = [ 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 ] M16=M36=\begin{bmatrix} 0&1&0&0&1&1\\ 0&0&0&0&0&0\\ 1&1&1&0&1&1\\ 0&1&0&0&1&0\\ 0&1&0&0&0&0\\ 0&0&0&0&0&0 \end{bmatrix} M16=M36=⎣⎢⎢⎢⎢⎢⎢⎡001000101110001000000000101100101000⎦⎥⎥⎥⎥⎥⎥⎤
M36就是她的传递闭包t(R),关系图为,其中红色线(代替虚线更加明显)部分是新加入的序偶
关系矩阵如下
M ( R ) = [ 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 1 1 ] M(R)=\begin{bmatrix} 0&1&0&1&1\\ 1&0&1&0&0\\ 0&0&0&1&1\\ 1&0&1&0&0\\ 0&1&0&1&1\\ \end{bmatrix} M(R)=⎣⎢⎢⎢⎢⎡0101010001010101010110101⎦⎥⎥⎥⎥⎤
其对称闭包为,只需将矩阵沿对角线补齐即可
M s ( R ) = [ 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 1 ] M_s(R)=\begin{bmatrix} 0&1&0&1&1\\ 1&0&1&0&1\\ 0&1&0&1&1\\ 1&0&1&0&1\\ 1&1&1&1&1\\ \end{bmatrix} Ms(R)=⎣⎢⎢⎢⎢⎡0101110101010111010111111⎦⎥⎥⎥⎥⎤
传递闭包的warshall算法
M 21 = [ 0 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0 0 1 0 1 1 ] M 41 = [ 0 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 0 1 1 ] M21=\begin{bmatrix} 0&1&0&1&1\\ 1&1&1&1&1\\ 0&0&0&1&1\\ 1&0&1&0&0\\ 0&1&0&1&1\\ \end{bmatrix} M41=\begin{bmatrix} 0&1&0&1&1\\ 1&1&1&1&1\\ 0&0&0&1&1\\ 1&1&1&1&1\\ 0&1&0&1&1\\ \end{bmatrix} M21=⎣⎢⎢⎢⎢⎡0101011001010101110111101⎦⎥⎥⎥⎥⎤M41=⎣⎢⎢⎢⎢⎡0101011011010101111111111⎦⎥⎥⎥⎥⎤
M 12 = [ 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 0 1 1 ] M 52 = [ 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 ] M12=\begin{bmatrix} 1&1&1&1&1\\ 1&1&1&1&1\\ 0&0&0&1&1\\ 1&1&1&1&1\\ 0&1&0&1&1\\ \end{bmatrix} M52=\begin{bmatrix} 1&1&1&1&1\\ 1&1&1&1&1\\ 0&0&0&1&1\\ 1&1&1&1&1\\ 1&1&1&1&1\\ \end{bmatrix} M12=⎣⎢⎢⎢⎢⎡1101011011110101111111111⎦⎥⎥⎥⎥⎤M52=⎣⎢⎢⎢⎢⎡1101111011110111111111111⎦⎥⎥⎥⎥⎤
M 34 = [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ] = t ( R ) M34=\begin{bmatrix} 1&1&1&1&1\\ 1&1&1&1&1\\ 1&1&1&1&1\\ 1&1&1&1&1\\ 1&1&1&1&1\\ \end{bmatrix}=t(R) M34=⎣⎢⎢⎢⎢⎡1111111111111111111111111⎦⎥⎥⎥⎥⎤=t(R)
所以传递闭包t(R)为M34
P(A)={A的所有子集的集合}=2A
求P(A)与A的直积
AXP(A)={, ∅ \emptyset ∅>,,,,, ∅ \emptyset ∅>,}
(1) R={<1,2>,<1,4>,<1,6>,<2,1>,<2,2>,<2,4>,<2,6>,<4,1>,<4,2>,<,4,4>,<4,6>,<6,1>,<6,2>,<6,4>,<6,6>}
没有<1,1>有<2,2>所以既不是反自反也不是自反
每一条线都有反向的所以是对称的
是可传递的
(2)R={<1,1>,<2,1>,<2,2>,<4,1>,<4,2>,<4,4>,<6,1>,<6,2>,<6,6>}
每个节点都有自旋,所以是自反的
任何不相等的节点连线都只有一条,所以是反对称的
不是可传递的
a | b | c | d | e | |
---|---|---|---|---|---|
a | 0 | 1 | 0 | 0 | 0 |
b | 0 | 0 | 1 | 0 | 1 |
c | 0 | 0 | 0 | 1 | 0 |
d | 0 | 0 | 1 | 0 | 0 |
e | 0 | 0 | 0 | 0 | 1 |
包含的序偶
R={,,,
s(R)={,,,,
使用warshall算法求得的传递闭包
M ( R ) = [ 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 ] M 12 = [ 0 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 ] M( R)=\begin{bmatrix} 0&1&0&0&0\\ 0&0&1&0&1\\ 0&0&0&1&0\\ 0&0&1&0&0\\ 0&0&0&0&1 \end{bmatrix} M12=\begin{bmatrix} 0&1&1&0&1\\ 0&0&1&0&1\\ 0&0&0&1&0\\ 0&0&1&0&0\\ 0&0&0&0&1 \end{bmatrix} M(R)=⎣⎢⎢⎢⎢⎡0000010000010100010001001⎦⎥⎥⎥⎥⎤M12=⎣⎢⎢⎢⎢⎡0000010000110100010011001⎦⎥⎥⎥⎥⎤
M 13 = [ 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 ] M 23 = [ 0 1 1 1 1 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 ] M 43 = [ 0 1 1 1 1 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 ] M13=\begin{bmatrix} 0&1&1&1&1\\ 0&0&1&0&1\\ 0&0&0&1&0\\ 0&0&1&0&0\\ 0&0&0&0&1 \end{bmatrix} M23=\begin{bmatrix} 0&1&1&1&1\\ 0&0&1&1&1\\ 0&0&0&1&0\\ 0&0&1&0&0\\ 0&0&0&0&1 \end{bmatrix} M43=\begin{bmatrix} 0&1&1&1&1\\ 0&0&1&1&1\\ 0&0&0&1&0\\ 0&0&1&1&0\\ 0&0&0&0&1 \end{bmatrix} M13=⎣⎢⎢⎢⎢⎡0000010000110101010011001⎦⎥⎥⎥⎥⎤M23=⎣⎢⎢⎢⎢⎡0000010000110101110011001⎦⎥⎥⎥⎥⎤M43=⎣⎢⎢⎢⎢⎡0000010000110101111011001⎦⎥⎥⎥⎥⎤
M 34 = [ 0 1 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 ] M34=\begin{bmatrix} 0&1&1&1&1\\ 0&0&1&1&1\\ 0&0&1&1&0\\ 0&0&1&1&0\\ 0&0&0&0&1 \end{bmatrix} M34=⎣⎢⎢⎢⎢⎡0000010000111101111011001⎦⎥⎥⎥⎥⎤
M 55 = [ 0 1 1 1 1 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 ] M55=\begin{bmatrix} 0&1&1&1&1\\ 0&0&1&1&1\\ 0&0&0&1&0\\ 0&0&1&1&0\\ 0&0&0&0&1 \end{bmatrix} M55=⎣⎢⎢⎢⎢⎡0000010000110101111011001⎦⎥⎥⎥⎥⎤
所以t(R)=M55