[!NOTE] 注释
二元关系(Binary Relation)在数学中用于描述常见的关系概念:当且仅当对于
$(x, y)$ 属于定义二元关系的有序对集,元素$x$ 与元素$y$ 相关。也就是说,集合$X$ 和$Y$ 上的二元关系是笛卡尔积$X \times Y$ ,由$x \in X$ 和$y \in Y$ 组成的有序对$(x, y)$ 组成。
序理论是研究二元关系的一个数学分支。
在数学,计算机科学和相关知识领域中,次序无处不在。例如我们在入门数学课中学到的自然数之间的比较:“1 小于 2”,“100 大于 99”,“小明有 3 个苹果,小红有 12 个苹果。小红把自己的一半苹果分给小明,现在谁有更多的苹果?”。或者将这个概念扩展到其他数学集合的排序,比如整数和实数。实际上,大于或小于另一个数的概念是数学系统的基本直觉。很多时候我们并不知道两个数间的实际差,只有它们之间的次序。
上述类型的次序有特殊性质:每个元素都可以用于和另一个元素直接“比较”,也就是说,这个元素大于、小于、或等于另一个元素。但是,这不总是我们想要的如果。一个常见的例子是集合的子集排序。如果一个集合
更宽泛地讲,次序的概念非常普遍,远远超出了对序列或相对数量这些具有直观结论的描述。在特定情况下,次序可以用来描述专业化的概念。因为抽象地来看,这种类型的次序相当于子集关系。例如,“儿科医生是医生”,“圆是一种特殊的椭圆”。
序理论捕捉了在一般环境中从这些例子中产生的次序直觉。这是通过指定必须是数学顺序关系的
在次序广泛应用的推动下,许多特殊类型的有序集有了定义,其中一些甚至已经发展成为了自己的数学领域。此外,序理论并不局限于各类序关系,而是考虑了它们之间的函数。函数的序理论的性质的一个简单例子来自在数学分析中常见的单调函数。
本节以集合论、算术和二元关系的概念为基础介绍有序集合。
次序是特别的二元关系。设
-
$a\leq a$ (自反的) - 如果
$a\leq b$ 且$b\leq a$ ,那么$a=b$ (反对称性) - 如果
$a\leq b$ 且$b\leq c$ ,那么$a\leq c$ (递移性)
一个偏序性质的集合称为 偏序集合、poset 或是 有序集合。通过这些性质,我们可以得出在自然数、整数、有理数、以及实数中皆有明确的序关系。当然,它们还有额外的性质成为 全序,即在
-
$a\leq b$ 或$b\leq a$ (全序性)
[!NOTE] 注释
全序关系(Total order/Linear order)在数学中指集合
$X$ 上反对称的、传递的和完全的二元关系(一般称其为$\leq$ )。
满足全序关系的集合叫做 全序集合、线性序集合、简单序集合 或 链。当许多典型序为线性,集合内的有序子集合会发生不满足此性质的例子。另一个例子为给定一个整除性关系
偏序集合中可能有一些特殊的元素。最基本的例子是由偏序集的 最小元素(Least element)。例如,$1$ 是正整数中的最小元素,空集是子集顺序下的最小集合。形式上,如果满足以下条件,元素
对于阶的所有元素
符号
最小元素和最大元素可能不存在,如实数示例所示。但如果它们存在,它们总是独一无二的。相反,考虑整除关系
将
[!NOTE] 注释
佐恩引理(Zorn's Lemma)也被称为库拉托夫斯基 - 佐恩(Kuratowski-Zorn)引理,是集合论中一个重要的定理。它的定义为:在任何一非空的偏序集中,若任何链都有上界,则此偏序集内必然存在(至少一个)极大元素。
偏序集的子集可以继承次序。我们已经通过考虑具有诱导整除排序的自然数的子集
对于
下限同样由通过反转顺序定义。例如,$-5$ 是一个整数子集的自然数的下限。给定一组集合,这些集合在子集排序下的上限由它们的并集给出。事实上,这个上限非常特殊:它是包含所有集合的最小集合。因此,我们找到了一组集合的 最小上限(least upper bound)。这个概念也被称为 supremum 或 join。集合
例如,$1$ 是作为整数子集的正整数下限。或者,我们再次考虑关于自然数的关系
在前面的定义中,我们注意到一个概念可以通过颠倒以前定义中的次序来定义。“最小”和“最大”、“极小”和“极大”、“上限”和“下限”等等都是这种情况。这是序理论中的一般情况:给定的次序可以通过仅交换其方向来反转,以图形方式自上而下地翻转哈斯图(Hasse diagram)。这就产生了所谓的 对偶(dual)、逆(inverse)或 相反顺序(opposite order)。
每个序理论定义都是二元的:它是通过将定义应用于逆阶而获得的概念。由于所有概念都是对称的,因此该操作保留了偏序定理。对于给定的数学结果,只需颠倒顺序并用它们的对偶替换所有定义,即可获得另一个有效定理。
通过给定次序构造新次序有很多方法。二元/对偶次序就是一个例子。另一个重要的构造是两个部分有序集的笛卡尔积(cartesian product),连同元素对的积顺序(product order)。排序由
通过定义当
尽管大多数数学领域通过自定的方法使用次序,但也有一些理论的关系远远超出了应用范围。以下我们会着重介绍他们和序理论的关联。
和之前提到的一样,通用代数的方法和形式是许多序理论的重要工具。除了根据满足某些定义的代数结构形式化次序外,还可以建立与代数的其他联系。布尔代数和布尔环之间的对应关系就是一个例子。其他问题与自由结构的存在有关,例如基于一个给定生成器集的自由格(free lattices)。此外,闭包算子(closure operator)的研究在通用代数中也很重要。
在拓扑学中,次序起着非常重要的作用。事实上,开集的集合提供了一个完整格的例子,或者准确地说是一个完整的 Heyting 代数(或“框架”(frame)/“区域”(locale))。滤子和网是与序理论密切相关的概念,集合的闭包算子可用于定义拓扑。除了这些以外,拓扑也可以仅从开集格的角度来看待。此外,拓扑底层集合的元素的自然 git s 预序由所谓的特化顺序给出,如果拓扑是
使用哈斯图的次序可视化有一个简单的概括:不是在较大的元素下方显示较小的元素,次序的方向也可以通过向图的边缘给出方向来描述。这样,每个序就可以被看作是一个有向无环图,其中节点是偏序集的元素,并且当且仅当
C++ 基础库的排序函数 中有偏序关系的应用。很多情况时,我们需要在 C++ 中自定义比较器(custom comparator),而 STL 自定义比较器的要求就是它必须为 严格弱序 的(Strict Weak Ordering)。严格弱序定义为部分有序集合,其中不可比性是传递关系。设比较器为
-
$f(x,x)$ 必须为假。(非自反性) -
如果
$f(x,y)$ 为真,则$f(y,x)$ 必须为假。(非对称性) -
如果
$f(x,y)$ 为真且$f(y,z)$ 为真,则$f(x,z)$ 必须为真。(传递性) -
如果
$f(x,y)$ 为假,$f(y,x)$ 为假,$f(y,z)$ 为假且$f(z,y)$ 为假,则$f(x,z)$ 为假 且$f(z,x)$ 为假。(不可比性的传递性)
其中反对称性可以由非自反性和传递性推导得到。而所有 STL 中的自定义比较器都可以用简单的
-
$x>y$ 表示$y<x$ ; -
$x \leq y$ 表示$y \nless x$ ; -
$x \geq y$ 表示$x \nless y$ ; -
$x=y$ 表示$x \nless y$ 和$y \nless x$ 。这就是为什么上面第四条规则被称为等价的传递性。如果$x \nless y$ 和$y \nless x$ ,我们可以说“$x$ 和$y$ 是不可比的”。
- [1]Order theory - From Academic Kids
- [2]Binary Relation - Wikipedia
- [3]Order Theory - Wikipedia
- [3]Order Theory, Lecture Notes by Mark Dean for Decision Theory
- [4]卢开澄,卢华明,《组合数学》(第 3 版), 2006
- [5]List of Order Theory Topics - Wikipedia
- [6]浅谈邻项交换排序的应用以及需要注意的问题 by ouuan
- [7]One thing you should know about comparators — Strict Weak Ordering