zoukankan      html  css  js  c++  java
  • 链-反链-Dilworth定理 (转载)

    转自http://www.cnblogs.com/fstang/archive/2013/03/31/2991220.html

    偏序集:We define a Partially Ordered Set, or a Poset, as a set P with a partial ordering  defined on it’s elements. I.e, for any two elements x and y of P, either x ≤ y, y ≤ x (x and y are comparable), or x || y (x and y are incomparable).

    链(chain)是一个偏序集S的全序子集(所谓全序是指任意两个元素可比较)

    反链(antichain)是一个偏序集S的子集,其中任意两个元素不可比较

    极大(maximal)链:对一个链C,如果找不到另一个链C',使得C是C'的真子集,那么称链C是极大的

    极大(maximal)反链:对一个反链A,如果找不到另一个反链A',使得A是A'的真子集,那么称反链A是极大的

    最大链(maximum/longest):链C包含元素个数不少于任意其他链C',则C是最大链

    最大反链(maximum/largest):类似最大链定义

    (易见,最大链必然是极大链,最大反链必然是极大反链,可以用反证法)

    偏序集S的最大链的大小称为偏序集S的高度(height)

    偏序集S的最大反链的大小称为偏序集S的宽度(width)

    Proposition 1. A maximal chain in a finite nonempty poset(偏序集, partially ordered set) must contain a maximal element of
    S (and a minimal element).

    (所谓maximal element,是指:如果对x,不存在元素y使得x≤y,则x是maximal element)

    (此处≤表示偏序关系,不是“小于或等于”,下同)

    证明:考虑这个最大链的maximal element x,如果x是S中的maximal element,已经得证;若否,则存在S中元素z,使得z≤x

    ,由偏序关系的传递性,链中的每个元素都≤z,于是将z加入链将得到一个更大的链,矛盾。同理可证, 最大链也包含S的一个minimal element

    Proposition 2. The set of maximal elements of a finite poset S is a maximal antichain; likewise,
    the set of minimal elements of a nite poset S is a maximal antichain.

    证明:(仅针对maximal,minimal类似)首先极大元素组成的集合(记为M)是个反链,因为任取两个元素x, y,x≤y不成立,否则x不是maximal;y≤x同样不成立,因此x和y不可比较,所以M中任意两个元素都不可比较,是反链。

    然后证明它是极大的。考虑剩下元素(S-M)中任意一个z,我们要证明如果把z添加到M中,将破坏反链的性质。首先z不是极大的,因为极大元素都在M中,所以存在z2使得z≤z2,如果z2是极大的,则加入z将使得M中的z和z2可比较;如果z2不是极大的,可以继续找z3,使得z2≤z3……,直到找到zk是极大的,根据传递性,z≤zk,加入z将使得M中的z和zk可比较。因此剩下元素中的每一个都不能加到M中,所以M是极大反链。

     

    Proposition 3. Suppose P is partitioned into a finite set of chains C1, C2 ... Cn. If A is an

    antichain, then there is at most one element of A in each Ci; thus n >= |A|.

    证明:很显然,如果A中有两个元素属于某个Ci,那么Ci就违反了链的性质——任意两个元素可比较

    既然如此,n >= |A|也是很自然的

     

    这个证明比较复杂,第一句是证明存在性,比较难;后面还是相对容易的,每个Ci都恰好包含1个A中的元素,而且不可能有一种划分,使得链的个数小于n(否则就会有某个链至少含有2个A中的元素,那就不是链了)

    Corollary 1. If |S| > mn, then S has either height of at least m + 1 or width of at least n + 1.

     证明:假设S最长链大小为u,最大反链大小为v,根据Dilworth定理,S可以划分为v个链,C1, ..., Cv,|Ci|<=u且

    |C1|+|C2|+...+|Cv|=|S|

    反证:如果高度<=m且宽带<=n,即u<=m, v <= n,则|S|=|C1|+|C2|+...+|Cv|<=u*v = m*n,矛盾

     

     

     

  • 相关阅读:
    poj3278 Catch That Cow
    poj2251 Dungeon Master
    poj1321 棋盘问题
    poj3083 Children of the Candy Cor
    jvm基础知识—垃圾回收机制
    jvm基础知识1
    java面试基础必备
    java soket通信总结 bio nio aio的区别和总结
    java scoket aIO 通信
    java scoket Blocking 阻塞IO socket通信四
  • 原文地址:https://www.cnblogs.com/vermouth/p/3710199.html
Copyright © 2011-2022 走看看