9.6偏序关系

谁都会走 提交于 2019-12-04 13:41:18

9.6偏序关系(Partial Order)

偏序(Partial Order)


定义:

  • 偏序(Partial order):定义在A上的集合R是偏序关系iff(当且仅当)其具有以下性质:
  1. 自反性(reflexive)
  2. 反对称性(antisymmetric)
  3. 传递性(transtive)

NOTE: R记作≼,注意这里的≼不必是指一般意义上的“小于或等于”,
若有x≼y,我们也说x排在y前面(x precedes y).

  • 偏序集(Partially ordered set)/(或简写为poset): 集合A及定义在其上的偏序关系R一起称为偏序集,记作(A, R),A中的元素也称为偏序集中的元素.

线序/全序(Linear Order)

  • 如果(A, ≤)是一个偏序集(poset),那么对于其中的元素a和b,
    1. a≤b 或者 b≤a,那么称为可比的(Comparable)
    2. 即不存在a≤b,也不存在b≤a,那么称为不可比的(Imcomparable)

如果偏序集A中每对元素(every pair of elements)都是可比的,那么我们就称A是线序集合(linearly ordered set)或全序集合(totally ordered set),称偏序关系R为线序或全序关系(linear order). 我们也称A为链(chain).

良序集(Well-ordered set)

定义:

设集合(S,≤)为一全序集,≤是其全序关系,若对任意的S的非空子集,在其序下都有最小元素,则称≤为良序关系,(S,≤)为良序集。

拟序(Quasiorder)

定义:定义在A上的关系R是拟序关系iff其具有以下关系

  1. 自反性(reflexive)
  2. 传递性(transitive)

NOTE:满足反对称性的拟序关系就称为偏序关系

乘积偏序(Product Partial Order)

如果(A, ≤)和(B, ≤)都是偏序集,那么他们的笛卡尔积也是个偏序集,其偏序关系≤被定义为:

  • 如果在A中有a ≤ a',在B中有b ≤ b',那么(a, b) ≤ (a', b')

词典顺序(Lexicographic Order)

对于一个乘积偏序,
(a, b) < (a', b')在a < a'(或a == a'并且b < b')时成立
那么我们称其为词典顺序(Lexicographic Order)或字典序(“dictionary” order)

哈斯图(Hasse Diagram)

  • 哈斯图是有限集A上的偏序图,并且:
  • 删除了所有的自环(self-cycles)
  • 消除了由传递性生成的边
  • 自底向上的制图

设(S, ≤)是一个poset. 若x<y且不存在元素z∈S,使得x<z<y,则称y∈S覆盖x∈S.而y覆盖x的有序对(x, y)的集合也称为(S, ≤)的覆盖关系.可以看出,(S, ≤)的哈斯图的边与其覆盖关系是一一对应的.

同构(Isomorphism)

对应原理(Principle of Correspondence)

两个有限同构偏序集必定具有相同的Hasse图.

拓扑排序(Topological Sorting)

极大元(maximal element)和极小元(minimal element)

定义:

偏序集中的一个元素称为极大(小)元,当它不小(大)于这个偏序集中的任何其他元素, 利用哈斯图很容易判别它们就是图中的"顶"("底")元素

极大(小)元一定存在,且可能是不唯一的

最大元(greatest element)和最小元(least element)

定义:

如果在偏序集中存在一个元素大(小)于任何其他的元素,那么称这样的元素为最大(小)元

最大(小)元可能不存在,若存在则唯一

最小上界(least upper bound)和最大上界(greatest lower bound)

定义:

如果存在一个元素u(l)∈S,使得对于偏序集(S, ≤)的子集A中的所有元素a,有a≼u(l≼a),那么称u(l)为A的一个上(下)界,如果u(l)是所有上(下)界中最小(大)的,就叫最小上界(LUB)(最大下界(GLB))

上界的最小元就叫最小上界;下界的最大元叫最大下界

拓扑排序(Topological Sorting)

定义:

对一个有向无环图DAG(Directed Acyclic Graph)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。

NOTE:有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说

输出一个拓扑序列的常用算法实现:

  1. 从 DAG 图中选择一个没有前驱(即入度为0的顶点)并输出。
  2. 从图中删除该顶点和所有以它为起点的有向边并更新其他点的入度。
  3. 重复 1 和 2 直到当前的 DAG 图为空或当前图中不存在无前驱的顶点为止。后一种情况说明有向图中必然存在环。

于是,得到拓扑排序后的结果是 { 1, 2, 4, 3, 5 }.

  • 通常,一个有向无环图可以有一个或多个拓扑排序序列.
  • 每次在入度为0的集合中取顶点,并没有特殊的取出规则,所以得到的拓扑排序也是随机的,如果对取出顶点顺序有要求,可以用优先队列.
  • 我们可以通过对一个有向图进行拓扑排序,来判断是否存在环(存在拓扑序列则无环,不存在则有环)

参考链接

格(lattice)

定义:

如果一个偏序集的每对元素都有最小上界和最大上界,那么就称这个偏序集为

定理:两个格的笛卡尔乘积也是格

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!