Dilworth定理


聲明:此文轉載,方便自己以后分類查看
Dilworth定理優化“序列的不下降子序列最少划分數
首先是定義。
偏序關系是滿足自反性、反對稱性、傳遞性的二元關系。可以用<=表示。
自反性:x<=x成立。
反對稱性:a<=b 且 b<=a <=> a=b
傳遞性:a<=b 且 b<=c ==> a<=c
滿足上述三條性質的二元關系是偏序關系,配備偏序關系的集合稱為偏序集。
顯然數集上的“小於或等於”是偏序關系,但是偏序關系不只可以在數集上。
可比:a與b可比,當且僅當a<=b 或 b<=a。
設全集U是一個偏序集。
鏈:U的子集,滿足其中任意兩個元素(不相同)可比。
反鏈:U的子集,滿足其中任意兩個元素(不相同)不可比。
比如,有限數集S上的最長鏈的長度等於|S|,最長反鏈長度為1.
將U分拆成很多子集稱作划分。姑且把子集全為鏈的划分叫做鏈划分,全為反鏈叫反鏈划分。
有兩個互相對偶的定理:
U的鏈划分使用的最少集合數,等於它的最大反鏈長度。(1)
U的反鏈划分使用的最少集合數,等於它的最大鏈長度。(2)
其中某一個叫做Dilworth定理……我記不清了……
如果我說的不清楚,請參閱任意一本組合數學的入門書籍。
那么,羅嗦了半天,來到那個問題:給定一個全為實數的序列,每次在其中選出一個不下降子序列並將其刪掉。求刪完整個序列所需要的選擇子序列的次數。
比如說,1 2 4 3 5這個序列,最少要兩次,第一次1 2 3 5.
雖然序列與集合不同,但這很可能與最少划分有關。不管怎么說,打算用Dilworth定理相關內容解決本題。
首先要把序列轉化成集合。不同點在於序列中元素有序。考慮使用有序數對(p,v)表示原序列中的一個數。p表示位置,v表示數值。
從集合中任意取出兩個元素,如何能確定前者不比后者大呢?考慮關系<=:p1<=v1&&p2<=v2。這相當於先把兩個元素按照原序列中的位置排序,再比較數值大小。這個關系是偏序關系。如此一來,兩個元素可比,等價於在原序列中,他們是不下降的。
根據(1),原題所求的次數,等於原序列的最長下降子序列的長度。
如果是求下降子序列的最小划分,相當於是求最小反鏈划分,等於最長不下降子序列的長度。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM