zoukankan      html  css  js  c++  java
  • 9.6偏序关系

    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. 反自反性(irreflexive)
    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)

    定义:

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

    如下例子:(c), (f), (g)不是格,其余都是

    OTHERS

    1.两个格的笛卡尔乘积也是格

    2.格L的子集,如果还是格,就称为L的子格
    3.两个格同构,我们称它们为同构格(哈斯图相同)
    4.如果一个格既有最大元,也有最小元,我们就称其为有界格
    5.满足分配律:

    这样的格我们称为分配格(Distributive lattice),否则称为非分配格(Nondistributive lattice)
    6.补元(Complement):

    • a的补元需满足:

    特别地:0' = I, I' = 0
    Note:补元若存在,可能不唯一
    如果一个格的所有元素均有补元在格中,我们就说它是补格(Complemented),否则不是补格

  • 相关阅读:
    采用二叉搜索树来统计文本中单词出现的频率
    一个表查找程序
    unix grep命令的大致实现
    字符串操作函数
    关于宏和逗号表达式
    http状态码的分类
    nginx源码学习资源(不断更新)转
    什么是CGI
    字符串操作 删除字符
    Ubuntu安装特定版本安装包
  • 原文地址:https://www.cnblogs.com/SpicyArticle/p/11868629.html
Copyright © 2011-2022 走看看