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

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

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

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

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

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

划分 Partitions

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

  • 对于任意不相同的 i,ji,j,均有 SiSj=S_i \cap S_j=\empty,即任意两集合不相交。
  • 集合 SS 是这些集合的并集,即 S=S1S2...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 上如下:

  • sts\sim t 当且仅当 sstt 属于同一个子集 SiS_i

该定义表示 sstt 等价。

偏序集 Partial Order

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

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

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

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

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

哈斯图 Hasse diagram

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

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

image.png

元素排序 Ordering Concepts

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

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

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

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

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

  • 上界 upper bound:如果 xx 满足对集合 AA 中的所有元素 aa,都有 axa \preceq x,那么 xx 就是 AA 的一个上界。
  • 下界 lower bound:如果 xx 满足对集合 AA 中的所有元素 aa,都有 xax \preceq a,那么 xx 就是 AA 的一个下界。
  • 上界集合 set of upper bounds:ub(A)={x:ax for all aA}ub(A)=\{x: a \preceq x \text{ for all } a \in A\}
  • 下界集合 seet of lower bounds:lb(A)={x:xa for all aA}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. xxAA 的一个下界,即对于所有 aAa \in A,都有 xax \preceq a
  2. xx 是所有下界中最大的元素,即对于所有满足条件的 yy,都有 yxy \preceq x
  • 格 lattice:对于偏序集 S,S, \preceq,如果对于任意两个元素 x,ySx,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,要么出现 xyx \le y,要么出现 yxy \le x。(如果 x=yx = y 则两者都成立)

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

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

拓扑排序 Topological Sort

对于一个偏序集 (S,)(S, \preceq),任何与偏序 \preceq一致的全序 \le 都成为拓扑排序。这意味着在偏序关系中如果 aba \preceq b,那么在拓扑排序中一定有 aba \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'),当且仅当 sSss \preceq_S s',并且 tTtt \preceq_T t' 时,有:

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

乘积序有以下特点:

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

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

笛卡尔积字典序 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'),当 sSss \preceq_S s',或者 s=s,tTts=s', t \preceq_T t' 时,有:

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

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

字典序有以下特点:

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

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

本文作者:Jeff Wu

本文链接:

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