二元关系

关系

定义

05-函数及其运算

RA×BR \subseteq A \times B,则 (a,b)R(a, b) \in R 可记作 aRbaRb(a,b)R(a, b) \notin R 可记作 aRba \cancel{R} b

RRAABB 的一个关系:

  • RR定义域(Domain):DomR={aAbB,aRb}\operatorname{Dom}R = \{a \in A \mid \exists b \in B,\, aRb\}
  • RR值域(Range):RanR={bBaA,aRb}\operatorname{Ran}R = \{b \in B \mid \exists a \in A,\, aRb\}
  • RR(Field):FldR=DomRRanR\operatorname{Fld}R = \operatorname{Dom}R \cup \operatorname{Ran}R
关系 RA×BR \subseteq A \times B 有向图 (VD,ED)(V_D, E_D)
A,BA, B 是集合 顶点集 VD=ABV_D = A \cup B
有序对集合 有向边集 ED={(a,b)aRb}E_D = \{(a, b) \mid aRb\}
(x,y)R(x, y) \in R xxyy 有一条边
A=BA = BRR 中存在序列:(x1,x2),(x2,x3),,(xn1,xn)(x_1, x_2),\, (x_2, x_3),\, \cdots,\, (x_{n-1}, x_n) DD 中存在从 x1x_1xnx_n 的长度为 n1n-1 通路

运算

RR 为从 AABB 的关系:

  • RS={(a,b)aSaRb}R \uparrow S = \{(a, b) \mid a \in S \land aRb\}
    • RSRR \uparrow S \subseteq R
  • R[S]={baS,aRb}=Ran(RS)R[S] = \{b \mid \exists a \in S,\, aRb\} = \operatorname{Ran} (R \uparrow S)
    • R[S]RanRR[S] \subseteq \operatorname{Ran}R
  • R1={(b,a)aRb}R^{-1} = \{(b, a) \mid aRb\}
    • R1R^{-1} 是从 BBAA 的关系
    • (R1)1=R\left(R^{-1}\right)^{-1} = R
    • (R1R2)1=R11R21\left(R_1 \cup R_2\right)^{-1} = R_1^{-1} \cup R_2^{-1}

R1A×B,R2B×CR_1 \subseteq A \times B,\, R_2 \subset B \times C,则 R1,R2R_1, R_2 的复合记为 R2R1R_2 \circ R_1,定义为:R2R1={(a,c)A×CbB,aR1bbR2c}R_2 \circ R_1 = \{(a, c) \in A \times C \mid \exists b \in B,\, aR_1b \land bR_2c\}

  • R3(R2R1)=(R3R2)R1R_3 \circ (R_2 \circ R_1) = (R_3 \circ R_2) \circ R_1
  • (R2R1)1=R11R21\left(R_2 \circ R_1\right)^{-1} = R_1^{-1} \circ R_2^{-1}

FA×B,GB×C,HB×CF \subseteq A \times B, G \subseteq B \times C, H \subseteq B \times C,跟函数类似,有:

  • (GH)F=(GF)(HF)(G \cup H) \circ F = (G \circ F) \cup (H \circ F)
  • (GH)F(GF)(HF)(G \cap H) \circ F \subseteq (G \circ F) \cap (H \circ F)

矩阵算法

对同阶零一矩阵 M1,M2\bm{M}_1, \bm{M}_2,有

  • C=M1M2\bm{C} = \bm{M}_1 \land \bm{M}_2cij=mij1mij2c_{ij} = m^1_{ij} \land m^2_{ij}
  • C=M1M2\bm{C} = \bm{M}_1 \lor \bm{M}_2cij=mij1mij2c_{ij} = m^1_{ij} \lor m^2_{ij}

r×s,s×tr \times s, s \times t 的零一矩阵 M1,M2\bm{M}_1, \bm{M}_2,有

  • r×tr \times t 矩阵 C=M1M2\bm{C} = \bm{M}_1 \odot \bm{M}_2cij=k=1smik1mkj2c_{ij} = \displaystyle \bigvee_{k=1}^s m^1_{ik} \land m^2_{kj}

对于关系 R1,R2R_1, R_2,有

  • MR1R2=MR1MR2\bm{M}_{R_1 \cap R_2} = \bm{M}_{R_1} \land \bm{M}_{R_2}
  • MR1R2=MR1MR2\bm{M}_{R_1 \cup R_2} = \bm{M}_{R_1} \lor \bm{M}_{R_2}
  • MR2R1=MR1MR2\bm{M}_{R_2 \circ R_1} = \bm{M}_{R_1} \odot \bm{M}_{R_2}

性质

集合 SS 上的关系 RR

  • 自反性(Reflexivity):sS,sRs\forall s \in S,\, sRs    ISR\iff I_S \subseteq R
  • 反自反性(Irreflexivity):sS,sRs\forall s \in S,\, s \cancel{R} s(也是任意,所以不是自反的否定)
  • 对称性(Symmetry):aRbbRaaRb \models bRa    R1=R\iff R^{-1} = R,空关系也是对称关系)
  • 反对称性(Antisymmetry):aRb,bRaa=baRb, bRa \models a = b(对称与反对称可以同时成立)
  • 不对称性(Asymmetric):aRb¬(bRa)a R b \models \lnot (b R a)(反对称的反自反关系)
  • 非对称性(Asymmetry):aRbbRaaRb \models b\cancel{R}a
  • 传递性(Transitivity):aRb,bRcaRcaRb, bRc \models aRc    RRR\iff R \circ R \subseteq R,空关系也是传递关系)

关系复合有结合律,则记 Rn=RRRnR^n = \overbrace{R \circ R \circ \cdots \circ R}^{n}nZ+n \in \Z^{+}

(a,b)Rn(a, b) \in R^n 当且仅当存在 t1,t2,,tn1St_1, t_2, \cdots, t_{n-1} \in S 使得 aRt1,t1Rt2,,tn1RbaRt_1, t_1Rt_2, \cdots, t_{n-1}Rb

== \le << \mid \equiv \empty EE
自反 × ×
反自反 × × × × ×
对称 × × ×
反对称 × ×
传递

关系运算与性质的保持:

自反 反自反 对称 反对称 传递
R1R^{-1}
R1R2R_1 \cap R_2
R1R2R_1 \cup R_2 × ×
R1R2R_1 \circ R_2 × × × ×

表示形式:

集合表达式 关系矩阵 关系图
自反性 IARI_A \subseteq R 主对角线全是 11 每个顶点都有环
反自反性 IAR=I_A \cap R = \empty 主对角线全是 00 每个顶点都没有环
对称性 R=R1R = R^{-1} 是对称矩阵 如果两个顶点之间有边,那么是一对方向相反的边(即无单边)
反对称性 RR1IAR \cap R^{-1} \subseteq I_A rij=1r_{ij} = 1iji \ne jrji=0r_{ji} = 0 如果两个顶点之间有边,那么是一条有向边(即无双向边)
传递性 RRRR \circ R \subseteq R M2M^211 所在的位置,MM 中对应位置也是 11 如果顶点 xix_ixjx_j 有边,xjx_jxkx_k 有边,那么 xix_ixkx_k 也有边

RRAA 上关系,A={a1,,an}A = \left\lbrace a_1, \cdots, a_n \right\rbrace,其中 M\bm{M}RR 的关系矩阵:

  • RR 自反     i=1nmii=1\iff \displaystyle \prod_{i=1}^{n} m_{ii} = 1
  • RR 反自反     i=1nmii=0\iff \displaystyle \sum_{i=1}^{n} m_{ii} = 0
  • RR 对称     M=MT\iff \bm{M} = \bm{M}^{\mathrm{T}}
  • RR 反对称     i,j,ij    mijmji=0\iff \forall i, j,\, i \ne j \implies m_{ij} \cdot m_{ji} = 0
    • 同阶矩阵 AB\bm{A} \le \bm{B} 表示 i,j,aijbij\forall i, j,\, a_{ij} \le b_{ij}
  • RR 传递     MMM\iff \bm{M} \odot \bm{M} \le \bm{M}
    • MM=M    R\bm{M} \odot \bm{M} = \bm{M} \implies R 传递,但反之不然

关系闭包

RR 是集合 AA 上的关系,P\mathfrak{P} 是给定的某种性质(如:自反、对称、传递),满足下列所有条件的关系 R1R_{1} 称为 RR 的关于 P\mathfrak{P} 的闭包:

  • RR1R \subseteq R_{1}
  • R1R_{1} 满足性质 P\mathfrak{P}
  • 若存在集合 AA 上满足性质 P\mathfrak{P} 的关系 RR'RRR \subseteq R',则 R1RR_1 \subset R'

特殊闭包:

  • 自反闭包:r(R)=RIAr(R) = R \cup I_A
  • 对称闭包:s(R)=RR1s(R) = R \cup R^{-1}
  • 传递闭包:t(R)=Rt(R) = R^{*}

RR 是集合 AA 上的关系,定义 AA 上的 RR 连通关系 RR^{*} 为:

对任意 a,bAa, b \in AaRba R^{*} b 当且仅当 (a,b)Rt1,,tkA,(a,t1)R,,(tk,b)R(a, b) \in R \lor \exists t_1, \cdots, t_k \in A,\, (a, t_1) \in R, \cdots, (t_k, b) \in R(即从 aabb 存在长度至少为 11 的通路)

于是

R=k=1RkR^{*} = \bigcup_{k=1}^{\infty} R^{k}

  • r(s(R))=s(r(R))r\bigl(s(R)\bigr) = s\bigl(r(R)\bigr),可记为 rs(R)rs(R)
  • s(t(R))t(s(R))s\bigl(t(R)\bigr) \subseteq t\bigl(s(R)\bigr),可记为 st(R)ts(R)st(R) \subseteq ts(R)(证明通过闭包的定义)。

闭包的存在性

关于性质 P\mathfrak{P} 的闭包是否存在?

R={XRXX 有性质 P}R' = \bigcap \left\lbrace X \mid R \subseteq X \land X \text{ 有性质 } \mathfrak{P} \right\rbrace,则闭包 R1R_1 存在当且仅当 RR' 存在,也即 {XRXX 有性质 P}\left\lbrace X \mid R \subseteq X \land X \text{ 有性质 } \mathfrak{P} \right\rbrace 非空。

闭包的计算

自反闭包和对称闭包显然,而传递闭包理论上存在(根据上面的定义)。

对有限集合 AA,若 A=n|A| = n,则有 AA 上传递闭包

t(R)=k=1nRkt(R) = \bigcup_{k=1}^{n} R^{k}

也许会因为上面的定义而认为是 i=1n1Rk\displaystyle \bigcup_{i=1}^{n-1}R^k,但额外考虑 (1,n),,(n,1)(1, n), \cdots, (n, 1),则有 (1,1)(1, 1) 有长度为 nn 的通路(因为是从长度为 11 的通路,如 (1,2)(1, 2) 开始计算的)。

矩阵乘法计算传递闭包

Mt(R)=MM2Mn\bm{M}_{t(R)} = \bm{M} \lor \bm{M}^2 \lor \cdots \lor \bm{M}^n

运算量为 2n3(n1)2n^3(n - 1)

Warshall 算法

nn 个顶点用 nn 个正整数 1,,n1, \cdots, n 进行标号,设 Di,j,kD_{i, j, k} 为从 iijj 的通路中只经过 1,,k1, \cdots, k 的顶点的最短通路的长度。

若最短路径经过 kk,则

Di,j,k=Di,k,k1+Dk,j,k1D_{i, j, k} = D_{i, k, k - 1} + D_{k, j, k - 1}

否则

Di,j,k=Di,j,k1D_{i, j, k} = D_{i, j, k - 1}

因而有

Di,j,k=min{Di,j,k1,Di,k,k1+Dk,j,k1}D_{i, j, k} = \min \left\lbrace D_{i, j, k - 1}, D_{i, k, k - 1} + D_{k, j, k - 1} \right\rbrace

考虑回传递闭包,设 Rij(k)\bm{R}^{(k)}_{ij} 为从 iijj 的通路中只经过 1,,k1, \cdots, k 的顶点的通路,则可以写出

Rij(k)=Rij(k1)(Rik(k1)Rkj(k1))\bm{R}^{(k)}_{ij} = \bm{R}^{(k - 1)}_{ij} \lor \left( \bm{R}^{(k - 1)}_{ik} \land \bm{R}^{(k - 1)}_{kj} \right)

Warshall 算法高效的根源在于可以直接利用上一步计算结果中的有效信息简化当前步的计算过程。

运算量为 2n32n^3

等价关系

RR 是非空集合 AA 上的二元关系,若 RR 有如下性质:

  • 自反性
  • 对称性
  • 传递性

则称 RRAA 上的等价关系

RR 是非空集合 AA 上的等价关系,对于任意 aAa \in Aaa 的等价类定义为

[a]R={bAaRb}[a]_R = \{b \in A \mid aRb\}

aa 称为这个等价类的代表元素

显然若 aRbaRb,则 [a]R=[b]R[a]_R = [b]_R

RR 是非空集合 AA 上的等价关系,AA 的所有等价类构成的集合称为 AA 关于 RR商集,记作 A/RA/R

A/RA/R 的元素是 AA 的等价类。

集合 AA划分 π\pi(partition)是 AA 的一组非空子集的集合,即 πP(A)\pi \in \mathcal{P}(A) 且满足:

  1. 对任意 aAa \in A,则存在某个 AiπA_i \in \pi 使得 aAia \in A_i。即 AiπAi=A\displaystyle \bigcup_{A_i \in \pi} A_i = A
  2. 对任意 Ai,AjπA_i, A_j \in \piiji \ne j,则 AiAj=A_i \cap A_j = \empty

则商集 A/RA/RAA 的一个划分。即有公共元素的任意两个等价类必相等。

R(a)R(a) 是由 RR 所诱导的,关于 aAa \in A 的等价类,即 R(a)=[a]RR(a) = [a]_R

不妨设 R(a)R(b)R(a) \cap R(b) \ne \empty,设 cc 是一个公共元素,从而有 aRc,bRcaRc, bRc

任意 xR(a),aRxx \in R(a), aRx,传递性和对称性有 cRxcRx,再由 bRcbRcbRxbRx,即 xR(b)x \in R(b)。从而 R(a)R(b)R(a) \subseteq R(b)

同理可证 R(b)R(a)R(b) \subseteq R(a),从而 R(a)=R(b)R(a) = R(b)

于是可以通过划分定义等价关系。

给定 AA 上一个划分 π\pi,定义 AA 上的等价关系 RR

aRb    Aiπ,a,bAiaRb \iff \exists A_i \in \pi, a, b \in A_i