Dilworth 定理

這是一個關于偏序集的定理,事實上它也可以擴展到圖論,dp等中,是一個很有意思的東西

偏序集

偏序集是由集合 S S S以及其上的一個偏序關系 R R R定義的,記為 ( S , R ) (S,R) (S,R)

偏序關系:

對于一個二元關系 R ? S × S R\subset S\times S R?S×S,如果其滿足:

  • ? x ∈ S , x R x \forall x\in S,xRx ?xS,xRx 自反性
  • ? x , y ∈ S \forall x,y\in S ?x,yS,若 x R y xRy xRy y R x yRx yRx,則 x = y x=y x=y 反對稱性
  • x R y , y R z → x R z xRy,yRz\rightarrow xRz xRy,yRzxRz 傳遞性
    顯然自然數集 N N N以及最常見的小于等于關系 ≤ \leq , ( N , ≤ ) (N,\leq) (N,)就構成了一個偏序集
    事實上 ( N ? , ∣ ) (N^*,|) (N?,)也是一個偏序集,其中 ∣ | 表示正整數的整除關系

以下為了討論方便,我們將 R R R簡記為 ≤ \leq ,當然它可以指代小于等于關系之外的其它關系

此外, ? x , y ∈ S \forall x,y\in S ?x,yS,如果 x ≤ y x\leq y xy y ≤ x y\leq x yx,那么我們就說它們是可比的,否則說它們是不可比

定義完了偏序集,我們可以從圖上來看看它具體的樣子

哈斯圖(Hasse 圖)

考慮一個偏序集 ( S , ≤ ) (S,\leq) (S,), ? x , y ∈ S \forall x,y\in S ?x,yS,如果 x ≤ y x\leq y xy且不存在 z S . T . x ≤ z ≤ y z\ S.T. \ x\leq z\leq y z?S.T.?xzy,我們稱為 y y y覆蓋 x x x,那么此時我們就連一條從 x x x指向 y y y的有向邊,最后得到的圖就稱為這個偏序集 ( S , ≤ ) (S,\leq) (S,)的Hasse圖

比如下圖是 x , y , z {x,y,z} x,y,z的冪集關于包含關系得到的Hasse圖
image.png|370

由于偏序關系滿足了反對稱性,所以Hasse圖里面一定沒有自環(否則就會合并成一個點),所以我們可以說Hasse圖一定是一張DAG

其它偏序集的前置芝士

還是記我們要討論的偏序集為 ( S , ≤ ) (S,\leq) (S,)


偏序集中的一個全序子集。形式化地說,若集合 C ? S C\subset S C?S,且 ? a , b ∈ C \forall a,b\in C ?a,bC, a , b a,b a,b是可比的,那么 C C C就是 S S S的一個鏈
鏈這個名字起的就很有水平,因為我們不難發現,偏序集中的一個全序子集,其在Hasse圖中似乎就一定表現為一條鏈。比如上圖中的 { { x , y , z } , { x , z } , { x } , { ? } } \{\{x,y,z\},\{x,z\},\{x\},\{\phi\}\} {{x,y,z},{x,z},{x},{?}}就是一個全序子集,在圖中剛好也表現成一條鏈。但我沒有嚴格證明,這邊擱置。
類似地,我們定義一個反鏈
反鏈
若集合 C ? S C\subset S C?S,且 ? a , b ∈ C \forall a,b\in C ?a,bC, a , b a,b a,b是不可比的,那么 C C C就是 S S S的一個反鏈
在圖上看的話, { { x } , { y } , { z } } \{\{x\},\{y\},\{z\}\} {{x},{y},{z}}就是一個反鏈

深度:
最長鏈大小

寬度
最長反鏈大小

以上兩個定義也是相當的形象。因為我們不難發現,如果把Hasse圖按照偏序關系從低到高排列的話,鏈在圖中往往就是一條豎著的,而反鏈是橫著的,由此給出如上定義

最小鏈劃分
將集合 S S S劃分為最少的若干個不相交的鏈

最小反鏈劃分
將集合 S S S劃分為最少的若干個不相交的反鏈

Dilworth 定理

現在可以給出Dilworth 定理的具體內容了

Lemma1 對于任意有限偏序集,其最長反鏈大小必等于最小鏈劃分中鏈的數目
其對偶形式也成立:
Lemma2 對于任意有限偏序集,其最長鏈大小必等于其最小反鏈劃分中反鏈的數目

以下討論均假定偏序集有限

總結以下:
最小鏈劃分 = 最長反鏈大小 = 偏序集寬度
最小反鏈劃分 = 最長鏈大小 = 偏序集深度

先來證Lemma2:

記定理中的最長鏈大小為n,我們對n做數學歸納法
顯然n=1時定理成立
若n=k時定理成立,我們來證 n=k+1時定理成立
此時偏序集中的最長鏈長度為k+1,我們取出集合 S S S的所有極大元,組成集合 M M M,顯然 M M M是一個反鏈,并且考慮 S ? M S-M S?M,其最大鏈長一定為k(因為取出了所有的極大元),根據之前的歸納假設, S ? M S-M S?M的最小反鏈劃分數目為 k,再加上M自己是一個反鏈,從而此時S的最小反鏈劃分數為 k+1 = 最長鏈長度 □ \square

再來看Lemma1:

考慮偏序集 ( S , ≤ ) (S,\leq) (S,),記 ∣ S ∣ = m |S|=m S=m,我們對m進行歸納
m = 1 m=1 m=1時Lemma1顯然成立
m = k m=k m=k時定理成立,我們來證 m = k + 1 m=k+1 m=k+1時定理成立:

A A A是集合 S S S的一條最長反鏈,記為
A = { a 1 , a 2 , . . . a w } A = \{a_1,a_2,...a_w\} A={a1?,a2?,...aw?}
其中 ∣ A ∣ = w |A|=w A=w
我們取
D ( A ) = { x ? A ∣ ? α ∈ S , x ≤ a } D(A) = \{x\notin A|\exists \alpha \in S,x\leq a\} D(A)={x/A∣?αS,xa}
U ( A ) = { x ? A ∣ ? α ∈ S , a ≤ x } U(A) = \{x\notin A|\exists \alpha \in S,a\leq x\} U(A)={x/A∣?αS,ax}
顯然 D ( A ) ? U ( A ) ? A = S D(A)\bigcup U(A)\bigcup A = S D(A)?U(A)?A=S

若存在最長反鏈 A A A使得 D ( A ) , U ( A ) D(A),U(A) D(A),U(A)均非空:
A A A S S S的最長反鏈,故 A A A也是 A ? D ( A ) A\bigcup D(A) A?D(A)的一個最長反鏈。注意到 ∣ U ( A ) ∣ ≥ 1 |U(A)|\geq 1 U(A)1,故 ∣ A ? D ( A ) ∣ ≤ k |A\bigcup D(A)|\leq k A?D(A)k,從而由歸納假設, A ? U ( A ) A\bigcup U(A) A?U(A)可以劃分為 w w w條鏈 c 1 , c 2 , . . . c w c_1,c_2,...c_w c1?,c2?,...cw?,其中 c i c_i ci?的極大元是 a i a_i ai?.(這一點顯然)
同理, A ? D ( A ) A\bigcup D(A) A?D(A)也可以劃分為 w w w條鏈 d 1 , d 2 , . . . d w d_1,d_2,...d_w d1?,d2?,...dw?,其中 d i d_i di?的極小元是 a i a_i ai?
從而,我們就可以將 S S S劃分為 w w w條鏈: c 1 ∪ d 1 , . . . . c w ∪ d w c_1\cup d_1,....c_w\cup d_w c1?d1?,....cw?dw?

若對于任意最長反鏈 A A A,都有 D ( A ) = ? D(A)=\phi D(A)=? U ( A ) = ? U(A)=\phi U(A)=?
由假設,任一條反鏈 A A A必定構成全上界或者全下界。在 S S S中選一個極大元 y y y,再選一個極小元 x x x滿足 x ≤ y x\leq y xy, { x , y } \{x,y\} {x,y}構成一條鏈 C C C,從而在集合 S ? C S-C S?C中,任一條最長反鏈的大小為 w ? 1 w-1 w?1(必定去除了一個元素),從而根據歸納假設, S ? C S-C S?C的最小鏈劃分數為 w ? 1 w-1 w?1,再加上 C C C自己是一條鏈,故 S S S的最小鏈劃分數為 w w w

□ \square

應用舉例

求一個序列的最大非遞增序列長度以及其最少可以劃分為多少個非遞增序列

考慮由(位置,元素大小)這個二元組組成的集合,再定義一個偏序關系 < < <:
a < b a<b a<b當且僅當 a a a的位置< b b b的位置且 a a a的值 < b <b <b的值

從而這就構成了一個偏序集 ( s , < ) (s,<) (s,<),并且要求的分別就是集合的最長反鏈以及最小反鏈劃分數
第一個問題可以直接dp即可,第二個問題,根據Dilworth 定理,實際上就是求偏序集的最長鏈大小,實際上也就是序列的LIS,非常妙的一個轉化。

與DAG

之前說過,Hasse圖就是一個DAG,而反過來,我們將DAG的點作為集合 S S S的元素,將偏序關系 ≤ \leq 定義為點之間的可達性,就定義了一個偏序集 ( S , ≤ ) (S,\leq) (S,)
從而DAG上的最小可重路徑覆蓋(要求覆蓋所有點)就等價于偏序集 ( S , ≤ ) (S,\leq) (S,)上的最小鏈覆蓋

同理,將DAG上的有向邊作為集合 T T T的元素,將偏序關系 ≤ ′ \leq' 定義為邊之間的可達性,就得到的另一個偏序集 ( T , ≤ ′ ) (T,\leq') (T,)
從而DAG上的最小可重路徑覆蓋(要求覆蓋所有)就等價于偏序集 ( T , ≤ ′ ) (T,\leq') (T,)上的最小鏈覆蓋

Erd?s–Szekeres 定理

含至少 r s + 1 rs+1 rs+1個元素的實數序列 { a } \{a\} {a}要么有一個長為 r + 1 r+1 r+1的不下降子序列,要么有一個長為 s + 1 s+1 s+1?的不上升子序列
Proof:
設序列長度為 n ≥ r s + 1 n\geq rs+1 nrs+1,定義偏序集 { ( i , a i ) } i = 1 n \{(i,a_i)\}_{i=1}^{n} {(i,ai?)}i=1n?,其上的偏序關系 ≤ \leq 定義為:
( i , a i ) ≤ ( j , a i ) ? ( i ≤ j ∧ a i ≤ a j ) (i,a_i)\leq (j,a_i)\Leftrightarrow (i\leq j \ \wedge \ a_i\leq a_j) (i,ai?)(j,ai?)?(ij??ai?aj?)
假設該偏序集的寬度 ≤ s \leq s s,則由Dilllworth定理可知其最小鏈覆蓋數 ≤ s \leq s s,若這些鏈的長度都 ≤ r \leq r r,則總元素數 ≤ r s < r s + 1 ≤ n \leq rs< rs+1\leq n rs<rs+1n
矛盾。
□ \square

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/15114.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/15114.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/15114.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

用 vue3 + phaser 實現經典小游戲:飛機大戰

本文字數&#xff1a;7539字 預計閱讀時間&#xff1a;30分鐘 01 前言 說起小游戲&#xff0c;最經典的莫過于飛機大戰了&#xff0c;相信很多同學都玩過。今天我們也來試試開發個有趣的小游戲吧&#xff01;我們將從零開始&#xff0c;看看怎樣一步步實現一個H5版的飛機大戰&a…

C# 串口通訊之艱難排錯之路 —— system.ObjectDisposedException已關閉 Safe handle

今天寫了一個串口通訊掃碼槍驅動&#xff0c;程序運行后&#xff0c;不出意外的全線崩潰&#xff0c;開始了漫長的排查之旅&#xff0c;具體情況報錯如下&#xff1a; 解決未處理 System.ObjectDisposedException Message已關閉 Safe handle Sourcemscorlib ObjectName"&…

【pyspark速成專家】4_Spark之RDD編程2

目錄 四&#xff0c;常用PairRDD的轉換操作 五&#xff0c;緩存操作 四&#xff0c;常用PairRDD的轉換操作 PairRDD指的是數據為長度為2的tuple類似(k,v)結構的數據類型的RDD,其每個數據的第一個元素被當做key&#xff0c;第二個元素被當做value. reduceByKey #reduceByKey…

層次式架構設計理論與實踐

層次式體系結構概述 軟件體系結構為軟件系統提供了結構、行為和屬性的高級抽象&#xff0c;由構成系統的元素描述這些元素的相互作用、指導元素集成的模式以及這些模式的約束組成。 層次式體系結構的每一層最多只影響兩層&#xff0c;同時只要給相鄰層提供相同的接口&#xff…

禁用win10自動更新

services.msc——Windows Update——常規——啟動類型——禁用 services.msc——Windows Update——恢復——三個無操作&#xff0c;9999天。 gpedit.msc——計算機配置——管理模板——Windows組件——Windows更新——配置自動更新——已啟用——2-通知下載和自動更新 Windows…

如何參與github開源項目并提交PR

&#x1f47d;System.out.println(“&#x1f44b;&#x1f3fc;嗨&#xff0c;大家好&#xff0c;我是代碼不會敲的小符&#xff0c;目前工作于上海某電商服務公司…”); &#x1f4da;System.out.println(“&#x1f388;如果文章中有錯誤的地方&#xff0c;懇請大家指正&…

高速公路定向廣播(聲光一體) HT-600D

1、產品概述&#xff1a; HT-600D聲光一體平面波IP定向廣播是北京恒星科通創新性研發產品&#xff0c;采用公司自主研發的平面波傳聲技術&#xff0c;該產品具有高聲壓、強指向性、高清晰度等特點&#xff0c;采用定向聲傳聲技術將聲音聚集到正前方定向傳輸,周邊聲壓級明顯降低…

BTC系列-系統學習銘文(二)-序數理論

Ordinals的BIP: https://github.com/ordinals/ord/blob/master/bip.mediawiki 序數理論概述 序數是一種比特幣的編號方案&#xff0c;允許跟蹤和轉移單個聰。這些數字被稱作序號。比特幣是按照它們被挖掘的順序編號的&#xff0c;并從交易輸入轉移到交易輸出&#xff08;遵循先…

面試題:對已經關閉的channel進行讀寫

在Go語言中對已經關閉的channel進行讀寫&#xff0c;結果會有所不同。 讀操作 我們可以安全地從一個已經關閉的channel中進行讀取數據。如果channel中還有未讀取的數據&#xff0c;讀操作將成功并返回數據以及一個用于表示數據是否有效的標記(如果channel已經關閉并且該數據有…

YOLOV10實時端到端目標檢測

代碼地址&#xff1a;GitHub - THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection 論文地址&#xff1a;https://arxiv.org/pdf/2405.14458 本文介紹了YOLO系列目標檢測器在實時和高效方面的優勢&#xff0c;但是仍然存在一些缺陷&#xff0c;包括依賴非極大值…

[240525] VMware Pro 個人可免費使用 | 人機交互角度 解釋 AI 同事出錯雖多但深得青睞之奧義

目錄 VMware Workstation Pro 個人可免費使用人機交互研究 ChatGPT 52%回答失實&#xff0c;78%邏輯不一致然卻備受青睞之奧義 VMware Workstation Pro 個人可免費使用 VMware 宣布 Fusion Pro&#xff08;Mac&#xff09;和 Workstation Pro&#xff08;Windows 和 Linux&…

純度高的安卓和混血安卓

安卓陣營純安卓和改裝安卓&#xff0c;純安卓好用&#xff0c;權限控制力度做到很小&#xff0c;每相權限都交用戶控制&#xff0c;權限控制層面可以精確到文件夾和文件&#xff0c;剪切板讀和寫&#xff0c;而且有精確權限追蹤功能&#xff0c;國產高度定制安卓系統只有粗糙訪…

React useState修改對象

在 React 中&#xff0c;useState 是一個 Hook&#xff0c;它可以讓函數組件擁有狀態。當想要改變一個對象類型的狀態時&#xff0c;我們需要使用展開運算符&#xff08;...&#xff09;或者 Object.assign 來確保狀態是正確地更新。 以下是一個使用 useState 來更新對象的例子…

webstorm新建vue項目相關問題

前言 這個迭代后端需求偏少&#xff0c;前端code的鍵盤都起火星子了。來了4個外包支持&#xff0c;1個后端3個前端&#xff0c;還是不夠用啊。剛好趁這個機會稍微學習下vue&#xff0c;其實之前環境也配置過了&#xff0c;所以這里就不分享環境配置了&#xff0c;主要分享下新建…

基于單片機電梯控制系統設計與實現

摘 要: 介紹了電梯控制系統架構 &#xff0c; 指出了該系統的硬件設計和控制系統的軟件設計以及系統調試 &#xff0c; 使系統可根據按鍵 要求完成載客任務&#xff0c;為電梯控制系統的優化提供了參考 。 關鍵詞 : 電梯控制 ; 單片機 ; 系統設計 0 引言 在高層建筑中發揮…

Java開發大廠面試第22講:Redis 是如何保證系統高可用的?它的實現方式有哪些?

高可用是通過設計&#xff0c;減少系統不能提供服務的時間&#xff0c;是分布式系統的基礎也是保障系統可靠性的重要手段。而 Redis 作為一款普及率最高的內存型中間件&#xff0c;它的高可用技術也非常的成熟。 我們今天分享的面試題是&#xff0c;Redis 是如何保證系統高可用…

GPT-4o之多模態

前言 想必&#xff0c;很多小伙伴都知道GPT-4o已經發布了&#xff0c;一手基于多模態的問答顯示&#xff0c;看起來挺厲害的&#xff08;也就是看起來&#xff0c; &#xff09;。然后&#xff0c;我就順手看了看什么是多模態。 簡介 多模態&#xff08;Multimodal&#xff…

什么是組態?什么是工業控制中的組態軟件?

隨著工業4.0和智能制造的發展&#xff0c;工控軟件的應用越來越廣泛&#xff0c;它們在提高生產效率、降低能耗和減少人力成本等方面發揮著越來越重要的作用。 什么是工控軟件&#xff1f; 工控軟件是指用于工業控制系統的軟件&#xff0c;主要應用于各種生產過程控制、自動化…

標準庫算法

歡迎訪問我的博客首頁。 標準庫算法 1. 查找對象的算法2. 其它只讀算法3. 二分搜索算法4. 寫容器元素的算法5. 劃分與排序算法6. 通用重排操作7. 排列算法8. 有序序 列的 集合算法9. 最 小值和 最大值10. 數值算法11. 參考 Pred 表示返回值為布爾類型的可調用對象。 1. 查找對…

Python序列的概念與使用-課后作業[python123題庫]

序列的概念與使用-課后作業 一、單項選擇題 1、關于Python組合數據類型&#xff0c;以下描述錯誤的是&#xff1a;??????????????????????????????????????????????????????????????????????????…