码迷,mamicode.com
首页 > 其他好文 > 详细

9.6偏序关系

时间:2019-10-07 00:40:59      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:image   product   输出   算法实现   ota   拓扑序   特殊   ant   sort   

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)
  • 消除了由传递性生成的边
  • 自底向上的制图

技术图片

同构(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)

定义:

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

技术图片

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

9.6偏序关系

标签:image   product   输出   算法实现   ota   拓扑序   特殊   ant   sort   

原文地址:https://www.cnblogs.com/SpicyArticle/p/11628963.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!