2024-03-12
24T1
00

目录

等价关系 Equivalence relations
等价类 Equivalence Classes
划分 Partitions
偏序集 Partial Order
哈斯图 Hasse diagram
元素排序 Ordering Concepts
全序 Total orders
拓扑排序 Topological Sort
良序集 Well-Ordered Sets
笛卡尔积乘积序 Orders for Cartesian products
笛卡尔积字典序 Orders for Cartesian lexicographic

Lecture 8: Equivalence Relations and Partial Orders

  • Equivalence Relations
  • Partial Orders

等价关系 Equivalence relations

等价关系是一种捕捉“相等”这一概念的二元关系,它必须满足以下三个属性:

  • 自反性。每个对象都应当与自身相等。(x,x)∈R(x,x) \in R
  • 对称性。如果 (x,y)∈R(x,y) \in R,那么 (y,x)∈R(y,x) \in R
  • 传递性。如果(x,y)∈R,(y,z)∈R(x,y) \in R, (y,z) \in R,那么 (x,z)∈R(x,z) \in R

根据定义,一个二元关系 RR 是集合 SS上的等价关系,当且仅当它满足自反性(R)、对称性(S)和传递性(T)。

等价类 Equivalence Classes

假设 R⊆S×SR \subseteq S \times S 是一个等价关系。

集合 SS 中的元素 ss 的等价类(记作 [s][s])是所有与 ss 相等(根据关系 RR)的元素的集合。形式上,有:

[s]={t∈S∣sRt}[s] = \{ t \in S | sRt \}

等价类的概念指,如果你取了集合 SS 中的任意一个元素 ss 并且找到了所有与它相等的元素 tt,那么这些元素 tt 形成的集合就是 ss 的等价类。

ss 和 tt 在关系 RR 下相等当且仅当它们属于同一个等价类,即 [s]=[t][s]=[t]。

划分 Partitions

集合 SS 的划分是一组集合 S1,S2,...SkS_1,S_2,...S_k,满足:

  • 对于任意不相同的 i,ji,j,均有 Si∩Sj=∅S_i \cap S_j=\empty,即任意两集合不相交。
  • 集合 SS 是这些集合的并集,即 S=S1∪S2∪...∪SkS=S_1 \cup S_2 \cup ... \cup S_k。

如果你有集合 S=S1∪...∪SkS = S_1 \cup ... \cup S_k,那么划分实际上也定义了一个等价关系。每个元素都有属于自己的一个子集 SiS_i。如果想定义两个元素等价,我们可以定义等价关系 ∼⊆S×S\sim \subseteq S \times S 上如下:

  • s∼ts\sim t 当且仅当 ss 和 tt 属于同一个子集 SiS_i。

该定义表示 ss 与 tt 等价。

偏序集 Partial Order

如果一个关系 ⪯\preceq 在集合 SS 上是偏序地,需要满足以下三个条件:

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

集合 SS 与偏序关系 ⪯\preceq 一起构成一个偏序集,简称为poset。

以下是一些常见的偏序集例子:

  • (Z,≤)(Z, \le)
  • (N,∣)(N, |)

哈斯图 Hasse diagram

它是一种表示有限偏序集的图形工具。

  • 每个节点代表偏序集 SS 中的一个元素。
  • 如果 x≺yx \prec y,并且中间没有元素 zz 使得 x≺z≺yx \prec z \prec y,那么在哈斯图中从 xx 向上画一条到 yy 的边。

image.png

元素排序 Ordering Concepts

在偏序集 (S,⪯)(S, \preceq) 中,一些基本概念如下:

  • 极小元素 Minimal element:在偏序集 (S,⪯)(S, \preceq) 中,如果不存在另一个不同的元素 yy 满足 y⪯xy \preceq x,那么称 xx 为极小元素。
  • 极大元素 Maximal element:在偏序集 (S,⪯)(S, \preceq) 中,如果不存在另一个不同的元素 yy 满足 x⪯yx \preceq y,那么称 xx 为极大元素。
  • 最小元素 Minimum element:如果对于所有 y∈Sy \in S,都有 x⪯yx \preceq y,那么 xx 被称为最小元素。
  • 最大元素 Maximum element:如果对于所有 y∈Sy \in S,都有 y⪯xy \preceq x,那么 xx 被称为最大元素。

注

可能会有多个极小元素或极大元素。

如果最大元素/最小元素存在,那么它们就是唯一的极小元素/极大元素。

极小元素/极大元素在有限偏序集中总是存在,但在无限偏序集中不一定存在。

  • 上界 upper bound:如果 xx 满足对集合 AA 中的所有元素 aa,都有 a⪯xa \preceq x,那么 xx 就是 AA 的一个上界。
  • 下界 lower bound:如果 xx 满足对集合 AA 中的所有元素 aa,都有 x⪯ax \preceq a,那么 xx 就是 AA 的一个下界。
  • 上界集合 set of upper bounds:ub(A)={x:a⪯x for all a∈A}ub(A)=\{x: a \preceq x \text{ for all } a \in A\}
  • 下界集合 seet of lower bounds:lb(A)={x:x⪯a for all a∈A}lb(A)=\{x: x \preceq a \text{ for all } a \in A\}
  • 最小上界 least upper bound:如果存在,集合 AA 的最小上界是上界集合中的最小元素,记作 lub(A)lub(A)。也称上确界。
  • 最大下界 greatest lower bound:如果存在,集合 AA 的最大下界是下界集合中的最大元素,记作 glb(A)glb(A)。也称下确界。

注

要证明一个元素 xx 是集合 AA 的下确界,你需要证明:

  1. xx 是 AA 的一个下界,即对于所有 a∈Aa \in A,都有 x⪯ax \preceq a。
  2. xx 是所有下界中最大的元素,即对于所有满足条件的 yy,都有 y⪯xy \preceq x。
  • 格 lattice:对于偏序集 S,⪯S, \preceq,如果对于任意两个元素 x,y∈Sx,y \in S,它们的上确界 lub(S)lub(S) 和下确界 glb(S)glb(S) 都存在,那么称该偏序集为一个格。
  • 完备格 complete lattice:对于偏序集 S,⪯S, \preceq,如果对于 SS 的任意子集 AA,它的上确界 lub(A)lub(A) 和下确界 glb(A)glb(A) 也都存在,那么称该偏序集为一个完备格。

注

有限格总是完备格。因为在有限的情况下,你总是可以通过比较有限个元素来找到最小上界和最大下界。

一个无限格不一定有对其任意无限子集的最小上界或最大下界,尤其是可能不存在一个界限能够涵盖所有元素。

全序 Total orders

全序是一种特殊的偏序关系,它除了满足偏序的基本条件(自反性、反对称性、传递性)之外,还满足线性性(Linearity)。这意味着集合中的任何两个元素都可以进行比较:

  • 对于所有的 x,yx,y,要么出现 x≤yx \le y,要么出现 y≤xy \le x。(如果 x=yx = y 则两者都成立)

在有限集合上,所有的全序关系都是“同构”的。这意味着在有限集合上的任意两个全序关系,你总能找到一种方式将一个全序集映射到另一个全序集,保持其顺序结构不变。

在无限集合上,存在多种全序关系的可能性。这表示无限集合上的全序可以有多种不同的结构,不能简单地通过同构关系进行映射。

拓扑排序 Topological Sort

对于一个偏序集 (S,⪯)(S, \preceq),任何与偏序 ⪯\preceq一致的全序 ≤\le 都成为拓扑排序。这意味着在偏序关系中如果 a⪯ba \preceq b,那么在拓扑排序中一定有 a≤ba \le b。

image.png

良序集 Well-Ordered Sets

良序集是一个偏序集,其中每个子集都有一个最小元素。良序集不要求有最大元素。

自然数集N是一个良序集,每个子集都一定有一个最小元素。

N={0,1,2,...}N = \{0,1,2,...\}

良序集是一个重要的数学工具,用于证明程序的终止。因为在良序集中,你可以总是找到一个最小的元素,所以在迭代或递归的情况下,你可以保证每个步骤都是向终止条件靠近,而不是无限进行下去。这在证明算法正确性和计算复杂性时非常有用。

笛卡尔积乘积序 Orders for Cartesian products

给定两个偏序集 (S,⪯S)(S, \preceq_S) 和 (T,⪯T)(T, \preceq_T),可以定义它们的乘积序如下:

对于 S×TS \times T 中的任意两个元素 (s,t)(s,t) 和 (s′,t′)(s',t'),当且仅当 s⪯Ss′s \preceq_S s',并且 t⪯Tt′t \preceq_T t' 时,有:

(s,t)⪯(s′,t′)(s,t) \preceq (s',t')

乘积序有以下特点:

  • 没有隐含的权重。这意味着在比较两个元素时,SS 和 TT 中的元素被平等对待。
  • 没有对任何组成部分的偏见。乘积序中没有一个方向比另一个更重要。
  • 通常,乘积序只是一个偏序,即使是将全序结合起来也是如此。也就是说,即使 SS 和 TT 上各自的序是全序,它们的乘积也不一定是全序。

乘积序是理解多维数据结构中元素顺序的重要概念,例如,在数据库、多维数组或是在编程语言中处理多个有序集合时非常有用。它允许我们从多个维度组合和比较数据点。

笛卡尔积字典序 Orders for Cartesian lexicographic

给定两个偏序集 (S,⪯S)(S, \preceq_S) 和 (T,⪯T)(T, \preceq_T),可以定义它们的字典序如下:

对于 S×TS \times T 中的任意两个元素 (s,t)(s,t) 和 (s′,t′)(s',t'),当 s⪯Ss′s \preceq_S s',或者 s=s′,t⪯Tt′s=s', t \preceq_T t' 时,有:

(s,t)⪯lex(s′,t′)(s,t) \preceq_{lex} (s',t')

这意味着先比较第一个元素,如果第一个元素相同,再比较第二个元素。

字典序有以下特点:

  • 没有隐含的权重:即没有一个组件比另一个更重要。
  • 当组合两个全序时,会给出全序。
  • 可以扩展到单词:这意味着可以用来对字符串数组进行排序,比如在字典中排序单词一样。
  • 不适合枚举。

字典序是一种重要的序,因为它允许我们对组合数据进行有序排列,这在数据结构、数据库索引以及编程语言中处理字符串时特别有用。它在数学和计算机科学中有广泛的应用。

本文作者:Jeff Wu

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!