关系的自反、对称和传递闭包定义
设R\text{R}R是非空集合AAA上的关系,R\text{R}R的自反(对称、传递)闭包是AAA上的关系R′\text{R}'R′,且R′\text{R}'R′满足以下条件:
- R′\text{R}'R′是自反(对称、传递)的
- R⊆R′\text{R}\subseteq\text{R}'R⊆R′
- 对AAA上的任何包含R\text{R}R的自反(对称、传递)关系R′′\text{R}''R′′都有R′⊆R′′\text{R}'\subseteq\text{R}''R′⊆R′′
一般将R\text{R}R的自反闭包(reflexive)记作r(R)r(\text{R})r(R),对称闭包(symmetry)记作s(R)s(\text{R})s(R),传递闭包(transfer)记作t(R)t(\text{R})t(R)
构造AAA上关系的RRR包
设RRR为非空集合AAA上的关系,则有定理:
- r(R)=R∪R0r(R) = R\cup R^0r(R)=R∪R0
- s(R)=R∪R−1s(R) = R\cup R^{-1}s(R)=R∪R−1
- t(R)=R∪R2∪R3∪...t(R) = R\cup R^2 \cup R^3 \cup ...t(R)=R∪R2∪R3∪...
例:设A={a,b,c,d}A=\{a,b,c,d\}A={a,b,c,d},R={<a,b>,<b,a>,<b,c>,<c,d>}R=\{<a,b>,<b,a>,<b,c>,<c,d>\}R={<a,b>,<b,a>,<b,c>,<c,d>},则RRR和r(R)、s(R)、t(R)r(R)、s(R)、t(R)r(R)、s(R)、t(R)如图所示:
R:R:R:
r(R):r(R):r(R):节点作圈
s(R):s(R):s(R):节点互逆
t(R):t(R):t(R):首尾连接
设RRR的关系矩阵为MMM,相应的自反、对称、传递闭包的矩阵为MrM_rMr、MsM_sMs、MtM_tMt,将以上三条定理公式转化为矩阵表示。即得:
- Mr=M+EM_r = M+EMr=M+E
- Ms=M+M′M_s = M+M'Ms=M+M′
- Mt=M+M2+M3+...M_t = M + M^2 + M^3+...Mt=M+M2+M3+...
其中EEE为同阶单位矩阵,M′M'M′为MMM的转置
例:设A={a,b,c,d}A=\{a,b,c,d\}A={a,b,c,d},R={<a,b>,<b,a>,<b,c>,<c,d>}R=\{<a,b>,<b,a>,<b,c>,<c,d>\}R={<a,b>,<b,a>,<b,c>,<c,d>},则Mr、Ms、MtM_r、M_s、M_tMr、Ms、Mt如下所示:
Mr=[0100101000010000]+[1000010000100001]=[1100111000110001] M_r=\begin{bmatrix} 0 & 1 & 0 & 0 \\ 1 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} + \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} = \begin{bmatrix} 1 & 1 & 0 & 0 \\ 1 & 1 & 1 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} Mr=⎣⎢⎢⎡0100100001000010⎦⎥⎥⎤+⎣⎢⎢⎡1000010000100001⎦⎥⎥⎤=⎣⎢⎢⎡1100110001100011⎦⎥⎥⎤Ms=[0100101000010000]+[0100100001000010]=[0100101001010010] M_s=\begin{bmatrix} 0 & 1 & 0 & 0 \\ 1 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} + \begin{bmatrix} 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ \end{bmatrix} = \begin{bmatrix} 0 & 1 & 0 & 0 \\ 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ \end{bmatrix} Ms=⎣⎢⎢⎡0100100001000010⎦⎥⎥⎤+⎣⎢⎢⎡0100101000010000⎦⎥⎥⎤=⎣⎢⎢⎡0100101001010010⎦⎥⎥⎤Mt=[0100101000010000]+[1010010100000000]+[0101101000000000]=[1111111100010000] M_t=\begin{bmatrix} 0 & 1 & 0 & 0 \\ 1 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} + \begin{bmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} + \begin{bmatrix} 0 & 1 & 0 & 1 \\ 1 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} = \begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} Mt=⎣⎢⎢⎡0100100001000010⎦⎥⎥⎤+⎣⎢⎢⎡1000010010000100⎦⎥⎥⎤+⎣⎢⎢⎡0100100001001000⎦⎥⎥⎤=⎣⎢⎢⎡1100110011001110⎦⎥⎥⎤