Skip to content

定义Definition

关系

Relation · Binary relation

带源集与目标集的二元关系,其底层关系图是 A×B 的子集。

形式陈述 ​

从集合 A 到集合 B 的有类型二元关系是三元组 (A,B,R),其中

R⊆A×B.

A×B 是笛卡尔积,包含所有允许考虑的有序对;子集 R 选出其中成立的那些对。简写 aRb 表示 (a,b)∈R。源集和目标集已固定时,也常直接把 R 称为关系。

声明的类型与实际参与关系的元素要分开:

domR={a∈A:∃b∈B, aRb},ranR={b∈B:∃a∈A, aRb}.

前者收集至少有一个配对的源元素,后者收集至少被配对一次的目标元素,分别称实际定义域和实际值域。它们可能是 A,B 的真子集。例如声明学生名单时,尚未选课的人仍在源集中,却不在选课关系的实际定义域中。逆关系 R−1 从 B 到 A,通过交换每一对的坐标定义:bR−1a⟺aRb。

若 R:A→B、S:B→C 是关系,其复合是从 A 到 C 的关系

a(S∘R)c⟺∃b∈B(aRb∧bSc).

这里箭头仅标记源与目标,不意味着函数。符号 S∘R 表示先走 R、再走 S,中间元素 b 是两段连接的见证。

有限元关系 ​

一阶语言和数据库还使用有限元关系。给定有序的 n 个坐标集合 A1,…,An,一个 n 元关系由这些声明的坐标类型与子集

R⊆∏i=1nAi

组成;成员是 n 元组。当各坐标都是 M 时,写作 R⊆Mn。二元关系就是 n=2 的情形,但不能把一般的三元组不加说明地当成原来的有序对。例如三元关系可以同时记录学生、课程和成绩;相同的学生与课程还需要第三个坐标才构成完整记录。

允许 n=0 时,M0={()} 只有空元组,因此零元关系只有 ∅ 与 {()} 两种,分别编码假与真。一阶结构中的零元谓词由此可承载命题字母。本页的逆关系、源目标覆盖性和二元复合公式仍针对前面的二元接口;多元关系的坐标重排或连接须另外指明哪些坐标对应。

直觉

关系可以看作一张“哪些配对成立”的清单。课程与学生之间的选课关系中,一个学生可以选多门课,一门课也可以有多个学生;没有选课的学生仍可能属于声明的学生集合。关系既不自动保证有配对,也不自动保证配对唯一。

当声明的载体 A,B 都是有限集时,关系可以表示成矩形的零一表:行对应 A,列对应 B,位置 (a,b) 上的 1 表示 aRb。反向查询把行列互换,关系复合则检查是否存在中间列与中间行能够接通。

若矩阵分别为 MR,MS,复合的 (a,c) 项为 ⋁b∈B(MR(a,b)∧MS(b,c)):乘法换成“且”,求和换成“或”。普通整数矩阵乘法会累计路线条数,布尔运算只保留有没有路线。这种表示统一了成员判定与连接操作,但表格本身不决定配对在具体领域中代表什么。

例子与边界

用一次复合完成两步查询 ​

设学生集合为 A={甲,乙},课程集合为 B={算法,数据库},教师集合为 C={林,周}。选课关系与授课关系分别是

R={(甲,算法),(甲,数据库),(乙,数据库)},S={(算法,林),(数据库,林),(数据库,周)}.

先从甲出发:沿算法可到林,沿数据库可到林和周,因此得到 (甲,林)、(甲,周)。乙只选数据库,但也能到林和周。四种学生—教师配对都成立,所以 S∘R=A×C。

按上述学生、课程、教师的列举顺序,两张关系表为

MR=(1101),MS=(1011).

普通矩阵乘积是 (2111),左上角的 2 数出了甲到林的两条路线;把非零项改为 1,才得到复合关系的零一表。结果集合只包含一次 (甲,林),因为它判断有没有路线,而不是记录路线有几条。

逆关系也不是普通函数的逆函数。上例的 R−1 把数据库课程关联到两位学生,仍是一对多;交换箭头总能定义逆关系,得到逆函数则需要原函数是双射。

同一张关系图,不同的类型 ​

图 R={(1,1)} 可声明为从 {1} 到 {1} 的关系,也可声明为从 {1} 到 {1,2} 的关系。两者都覆盖源集,但第二个没有覆盖目标中的 2。因此只扩大目标集改变的是目标覆盖性,不改变源集的全域性。

若改为从 {1,2} 到 {1},同一张图则遗漏源元素 2,不再全域。这说明不能只从实际投影恢复原先声明的类型;函数的定义域与陪域,也需要作为数据明确保留。

齐次关系的公理各管什么 ​

当源与目标都是 A 时,称为 A 上的关系。常见性质是:

性质 条件 要求
自反 aRa 每个元素联系自己
对称 aRb⇒bRa 联系可以反向
反对称 aRb∧bRa⇒a=b 不同元素不能双向联系
传递 aRb∧bRc⇒aRc 两步联系可以接成一步

条件均对 A 中相关变量全称量化。反对称不是“对称不成立”:相等关系同时对称、反对称。正整数上的整除关系自反、反对称、传递,但 2,3 互不整除;它给出偏序,而不是全序。

推论与应用

从关系得到不同结构 ​

要求每个 a∈A 恰好关联一个 b∈B,得到带陪域的函数。只要求至多一个输出,得到部分函数。要求自反、对称、传递,得到等价关系;将对称改为反对称,则得到偏序。这些约束有不同目的,不能默认一般关系同时满足它们。

关系复合满足结合律,因为两种括号都要求存在相同的两个中间见证:

T∘(S∘R)=(T∘S)∘R.

恒等关系 ΔA={(a,a):a∈A} 是相应类型上的单位。逆关系会反转复合顺序:(S∘R)−1=R−1∘S−1。复合一般不交换,有时反向复合连类型都不匹配。

一步转移与任意步可达 ​

对 A 上的关系 R,令 R0=ΔA,Rn+1=R∘Rn。那么

R+=⋃n≥1Rn,R∗=⋃n≥0Rn

分别是传递闭包与自反传递闭包。“闭包”指包含原关系且满足指定性质的最小关系:有限路线首尾相接仍是有限路线,所以 R+ 传递;任何包含 R 的传递关系又必须包含每条有限路线的首尾对。若 R 是图的邻接关系,R+ 允许至少一步,R∗ 还允许停在原地。图中只有一条边 a→b 时,R+ 只有 (a,b),而 R∗ 另含 (a,a),(b,b);“可达”一词必须说明采用哪一种约定。

数据库连接、程序执行和图搜索都使用上述存在中间见证的机制。标号转移系统再给转移附上动作,模拟关系则用一套状态之间的关系比较两套系统的行为;它们复用关系运算,但各自还需独立的语义条件。

参考资料
  • Eric Lehman、F. Thomson Leighton、Albert R. Meyer,Mathematics for Computer Science,2015,§4.4、§9.4、§9.11:二元关系、路关系与性质比较。
  • Jeremy Avigad、Joseph Hua、Robert Y. Lewis、Floris van Doorn,Logic and Proof, 第 13 章,在线版 3.18.4,2026 年访问,§13.1、§13.3:序关系与等价关系的定义。
  • Paul R. Halmos,Naive Set Theory,1960,§7:关系的集合论表示。
关系图谱622 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置