~/app/articles/NORMAL

cat article/21.md

二元关系

学习笔记
离散数学
二元关系
集合理论
关系图
关系矩阵

本文详细介绍了二元关系的定义、特性、表示方法以及一些特殊关系,并通过示例展示了如何构建和解释二元关系。

date: 2025-06-14T15:40:00 aliases:

  • 离散数学第七章

二元关系

有序对

  • 定义:两个元素按照固定顺序组成的组合,记作 (a,b)(a,b)
  • 特性:
    • 有序性:(a,b)≠(b,a)(a,b) \neq (b,a)(除非 a=ba=b)
    • 相等判定:(a,b)=(c,d)  ⟺  a=c∧b=d(a,b)=(c,d) \iff a=c \land b=d
  • 与集合区别:
    • {a,b}={b,a}\{a,b\}=\{b,a\}(无序)
    • (a,b)≠(b,a)(a,b)\neq(b,a)(有序)

二元关系

  • 定义:A×BA \times B 的任意子集 RR 称为从 AA 到 BB 的二元关系
  • 表示方法:
    • 集合表示:R={(a1,b1),(a2,b2)...}R = \{(a_1,b_1), (a_2,b_2)...\}
    • 关系矩阵:MR=[mij]M_R = [m_{ij}] 其中 mij=1m_{ij} = 1 当且仅当 (ai,bj)∈R(a_i,b_j) \in R
    • 关系图:顶点表示元素,有向边表示关系
  • 特殊关系:
    • 空关系 ∅\varnothing
    • 全域关系 A×BA \times B
    • 恒等关系 IA={(a,a)∣a∈A}I_A = \{(a,a) | a \in A\}

二元关系示例

基础示例

设集合:

  • A={1,2,3}A = \{1, 2, 3\}
  • B={x,y}B = \{x, y\}

则笛卡尔积:

A×B={(1,x),(1,y),(2,x),(2,y),(3,x),(3,y)}A \times B = \{(1,x), (1,y), (2,x), (2,y), (3,x), (3,y)\}

可能的二元关系:

  1. 空关系: R1=∅R_1 = \varnothing

  2. 全关系: R2=A×BR_2 = A \times B

  3. 自定义关系(如"小于"关系): R3={(1,x),(1,y),(2,y)}R_3 = \{(1,x), (1,y), (2,y)\}

实际意义解释

当 AA 是学生集合,BB 是课程集合时:

  • A={Alice,Bob}A = \{\text{Alice}, \text{Bob}\}
  • B={数学,物理}B = \{\text{数学}, \text{物理}\}

定义选课关系 RR:

R={(Alice,数学),(Bob,物理)}R = \{(\text{Alice}, \text{数学}), (\text{Bob}, \text{物理})\}

关系矩阵表示

对于 R3R_3 关系:

MR3=[1101]M_{R_3} = \begin{bmatrix} 1 & 1 \\ 0 & 1 \\ \end{bmatrix}

(行对应 AA 的元素顺序 1,2列对应 BB 的元素顺序 x,y)

关系图表示

graph LR
    1 --> x
    1 --> y
    2 --> y
Mermaid diagram source. A rendered diagram replaces this fallback when available.

关系的运算

  • 基本运算:
    • 并:R1∪R2R_1 \cup R_2
    • 交:R1∩R2R_1 \cap R_2
    • 补:∼R=(A×B)−R\sim R = (A \times B) - R
  • 复合运算:
    • R∘S={(a,c)∣∃b,(a,b)∈R∧(b,c)∈S}R \circ S = \{(a,c) | \exists b, (a,b) \in R \land (b,c) \in S\}
  • 逆关系:
    • R−1={(b,a)∣(a,b)∈R}R^{-1} = \{(b,a) | (a,b) \in R\}
  • 幂运算:
    • Rn=R∘R∘...∘RR^n = R \circ R \circ ... \circ R(n次复合)

关系的性质

设 R⊆A×AR \subseteq A \times A:

  • 自反性:
    • ∀a∈A,(a,a)∈R\forall a \in A, (a,a) \in R
    • 关系矩阵主对角线全1
  • 反自反性:
    • ∀a∈A,(a,a)∉R\forall a \in A, (a,a) \notin R
  • 对称性:
    • (a,b)∈R⇒(b,a)∈R(a,b) \in R \Rightarrow (b,a) \in R
    • 关系矩阵对称
  • 反对称性:
    • (a,b)∈R∧(b,a)∈R⇒a=b(a,b) \in R \land (b,a) \in R \Rightarrow a=b
  • 传递性:
    • (a,b)∈R∧(b,c)∈R⇒(a,c)∈R(a,b) \in R \land (b,c) \in R \Rightarrow (a,c) \in R

关系的闭包

  • 定义:在关系 RR 中添加最少数量的有序对使其具有特定性质
  • 闭包类型:
    • 自反闭包:r(R)=R∪IAr(R) = R \cup I_A
    • 对称闭包:s(R)=R∪R−1s(R) = R \cup R^{-1}
    • 传递闭包:t(R)=R∪R2∪R3∪...=⋃i=1∞Rit(R) = R \cup R^2 \cup R^3 \cup ... = \bigcup_{i=1}^\infty R^i

Warshall算法(含示例)

算法步骤

  1. 输入:关系矩阵 MRM_R(n×n)
  2. 初始化:M=MRM = M_R
  3. 核心迭代:
    for k in range(n):
        for i in range(n):
            if M[i][k]:
                for j in range(n):
                    M[i][j] = M[i][j] or M[k][j]
  4. 输出:传递闭包矩阵 Mt(R)M_{t(R)}

具体示例

设集合 A={1,2,3}A = \{1,2,3\},关系:

R={(1,2),(2,3)}R = \{(1,2), (2,3)\}

步骤演示:

  1. 初始关系矩阵:

    M(0)=[010001000]M^{(0)} = \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \\ \end{bmatrix}
  2. k=1(检查经节点1的路径):

    • 更新 M[2][1] 和 M[3][1] 无变化 M(1)=M(0)M^{(1)} = M^{(0)}
  3. k=2(检查经节点2的路径):

    • 发现 M[1][2]=1 且 M[2][3]=1 ⇒ 添加 (1,3)
    M(2)=[011001000]M^{(2)} = \begin{bmatrix} 0 & 1 & 1 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \\ \end{bmatrix}
  4. k=3(检查经节点3的路径):

    • 无新增路径 M(3)=M(2)M^{(3)} = M^{(2)}

最终传递闭包:

t(R)={(1,2),(1,3),(2,3)}t(R) = \{(1,2), (1,3), (2,3)\}

复杂度分析

  • 三重循环 ⇒ O(n3)O(n^3)
  • 空间复杂度:O(n2)O(n^2)(邻接矩阵存储)
  • 优化:可用位运算加速

应用场景:网络可达性分析/编译器数据流分析/社交网络间接关系计算

等价关系的划分

  • 等价关系定义: 同时满足自反、对称、传递的关系
  • 等价类: [a]R={x∣(a,x)∈R}[a]_R = \{x | (a,x) \in R\}
  • 商集: A/R={[a]R∣a∈A}A/R = \{[a]_R | a \in A\}
  • 划分定理:
    • 每个等价关系对应一个唯一划分
    • 每个划分对应一个唯一等价关系

偏序关系(含详细示例)

定义与示例

设集合 A={2,3,4,6,8}A = \{2, 3, 4, 6, 8\},定义整除关系:

⪯={(a,b)∣a 整除 b}\preceq = \{(a,b) \mid a \text{ 整除 } b\}

具体关系:

{(2,2),(2,4),(2,6),(2,8),(3,3),(3,6),(4,4),(4,8),(6,6),(8,8)}\{(2,2), (2,4), (2,6), (2,8), (3,3), (3,6), (4,4), (4,8), (6,6), (8,8)\}

验证性质:

  1. 自反性:每个元素整除自己 ✅
  2. 反对称性:若 a⪯ba \preceq b 且 b⪯ab \preceq a,则 a=ba=b ✅
  3. 传递性:a⪯ba \preceq b 且 b⪯cb \preceq c ⇒ a⪯ca \preceq c ✅

哈斯图绘制

graph BT
    8 --> 4 --> 2
    6 --> 2
    6 --> 3
Mermaid diagram source. A rendered diagram replaces this fallback when available.

绘制规则:

  1. 移除自环(如 2→2)
  2. 移除传递边(如 2→8 因存在 2→4→8)
  3. 箭头方向默认向上可省略

特殊元素示例

在 (A,⪯)(A, \preceq) 中:

  • 极大元:8, 6(没有比它们更大的元素)
  • 极小元:2, 3(没有比它们更小的元素)
  • 最大元:不存在(8和6不可比)
  • 最小元:不存在(2和3不可比)

全序 vs 偏序

  • 偏序示例:上述整除关系(2和3不可比)
  • 全序示例:({1,2,3},≤)(\{1,2,3\}, \leq) 的哈斯图:
    graph BT
        3 --> 2 --> 1
    Mermaid diagram source. A rendered diagram replaces this fallback when available.

界的概念

设 B={2,4}⊆AB = \{2, 4\} \subseteq A:

  • 上界:4, 8(大于等于Max{2,4}Max\{2,4\})
  • 下界:2(小于等于Min{2,4}Min\{2,4\})
  • 上确界:4(上界中的最小者)
  • 下确界:2(下界中的最大者)

应用场景

  1. 任务调度中的依赖关系
  2. 文件系统目录结构
  3. 软件版本控制中的继承关系
$ comments --list (0)

// not signed in


// no comments yet