Dilworth
Dilworth 定理(偏序集分解定理)
关于偏序集的极大极小的定理,该定理断言:对于任意有限偏序集,其最大反链中元素的数目必等于最小链划分中链的数目。
偏序集能划分成的最少的全序集个数等于最大反链的元素个数。
对偶也是真: 任意有限偏序集,最长链元素的数目必等于最小反链划分中反链的数目
一些定义
原点集 = V
偏序( R 表示二元关系): 集合中一些元素可以比较大小
- 自反: A R A
- 反自反: A R B 且 B R A 则 A = B
- 传递: A R B 且 B R C 则 A R C
全序: 集合中元素两两可以比较大小
链: V的子集, 是全序集
反链(antichain): V的子集,其任意元素之间都不可以比较大小
链覆盖: 若干个链的并 = V, 且任意两个链不包含重复点
反链覆盖: 若干个反链的并 = V, 且任意两个反链不包含重复点
最长链: 所有链中点个数最多的链
最长反链: 所有反链中点个数最多的链
偏序集高度 = 最长链的点的个数
偏序集宽度 = 最长反链的点的个数
定理: 最小(链的数量最少)链覆盖个数 = 最长反链点的个数 = 偏序集宽度
最小(反链的数量最少)反链覆盖 = 最长链的元素个数 = 偏序集的深度
证明:
归纳法
对于点集$V$, 最大反链集合$A$
$d = |A|$
显然$A$的最小链覆盖 $\ge d$, (因为A中每个点覆盖的链一定两两不同, 其实要证的是等号)
若任何$V$的真子集(归纳更小的点数而不是更小的d)都满足 其最大反链集合大小=最小链覆盖
如果V中两两不可比较, 则 d = |V|, 正确性显然
如果 存在$A \neq \max(V)$, $V$中的最大元素构成的集合, 同时$A \neq \min(V)$, $V$中最小元素构成的集合
拆分$V$为 $A$ 和$\ge A$的集合$V_1$,$A$和$\le A$的集合$V_2$, (这里注意到$A$是最大反链意味着$V$中所有元素至少可以和$A$中的其中一个元素比较大小,所以这里才能拆分)
显然$V_1,V_2$的元素个数都比V小
A依然是$V_1,V_2$ 的最大反链集合, 因为首先不可能超过$A$, 否则同样的方案可以用在$V$上, 因此$A$是一个可达的上界
那么有$V_1,V_2$ 都是最小d个链覆盖, 且每个$A$中的被一条链覆盖, 这样靠着把V1,V2的链通过A中的点一一对应拼接上, 则依然是d条链覆盖, 所以是存在=d的方案
如果$A = \max(V)$
- 如果A中存在一个独立的不能和其它点比较的点$u$, 则$V - u$的最大反链 = $A - u$, 归纳得证
- 否则$A$中 每个点都存在更小的点和它能比较的点, $u\in \max(V)$ 使得 $V - u$ 的最大反链集合的$A_0$
- 如果存在$|A_0|$元素个数依然是$d$, 则这个方案 也可以用在$V$中, 满足$A_0 \neq \max(V)$
- 如果$A_0 \neq \min(V)$, 则满足第一种情况可证
- 如果$A_0 = \min(V)$, 则考虑$A_0$中取一个能和$u$比较的点$v$, (V\u)\v
- 如果这个最大反链集合$A_1$ 如果$|A_1|=d$, 则$A_1 \neq \max(V)$, $A_1 \neq \min(V)$, 满足第一种情况,可证
- 否则$|A_1| = d-1$, 这里说明(V\u\v + [u,v]) 左边可以d-1条链覆盖,右边可以1条链覆盖,$\le d$ 和最开始的$\ge d$得到只能是$d$
- $|A_0| = d-1$时, A\u 是一个$A_0$的方案, 说明$d-1$链能覆盖 V\u, 多加一个u 能覆盖V,得证
- 如果存在$|A_0|$元素个数依然是$d$, 则这个方案 也可以用在$V$中, 满足$A_0 \neq \max(V)$
证毕
综上,归纳法有 最大反链集合的个数 = 最小链覆盖条数
相关
abc237Ex
abc354G
https://baike.baidu.com/item/%E7%8B%84%E5%B0%94%E6%B2%83%E6%96%AF%E5%AE%9A%E7%90%86/18900593