Dilworth定理证明
命题:偏序集能划分成的最少的全序集的个数与最大反链的元素个数相等。
(离散数学结构第六版课本P245:把一个偏序集划分成具有全序的子集所需要的最少子集个数与元素在偏序下都是不可比的最大集合的基数之间有什么关系?)
证明:
设偏序集S。S能划分成的最少的全序集的个数为K,S的最大反链的元素个数为M。
1. 先证明K>=M。设反链A={a1,a2,...,aM}。假设K<M,那么由抽屉原理,必然有两个元素ai,aj在同一个全序集中。那么ai,aj可比。与ai,aj不可比矛盾。
2. 再证明K=M。用第二数学归纳法。
设全序集S中有m个元素。
(1)当m=0和m=1时,对于命题结论显然成立。
(2)假设m<n(n∈N+)时命题成立,现在证m=n时,命题也成立。
设x为S中的一个极大元。考虑S'=S-{x}这个偏序集。由于|S'|<n,由归纳假设,S'满足命题。设 S' 能划分成的最小的全序集个数为k,最大反链的元素个数也为k。那么我们设S'被划分成了k个链分别为C1,C2,...,Ck。设所有长度为k的反链分别为A1,A2,...,Ar。(假设有r条长度为k的反链)
那么对于任意一个Ai,Ai的元素必定是k条链上,每条链取一个元素。设为ai1,ai2,...,aik。
那么我们考虑集合B= {b1,b2,...,bk}={ max(ai1), max(ai2), max(ai3), ... , max(aik) }。 这个集合一定也是一条反链。(用反证法很容易证明:假设存在两个元素bi,bj可比,不妨设bi<=bj,其中bi和bj分别位于链Ci和Cj上。那么bi所在链的每个aix都与bj可比,与Ci上存在一个aix与bj不可比矛盾。)(加粗的地方之所以是正确的,是因为Ci与Cj上肯定有两个元素属于同一条反链)
现在考虑加入元素x的集合S。一个显然的事实是,加入一个极大元,不可能让划分的最少链个数更少,但是也不能让链的个数增加2及以上(否则肯定不满足最少链)。也不能让反链的最大长度更小。
分两种情况:
①如果x这个极大元与B中每个元素都不可比。那么考虑B∪{x},就是一个长度为k+1的反链。那么最少能划分的链的个数至少是k+1。而加入一个元素,链的条数至多增加1。因此,链的最少条数就是k+1。这样,对于这种情况,命题对于m=n时也成立了。
②如果x与B中的某个元素可比,假设x与bi可比,那么显然x>=bi:
考虑集合 D={ai1,ai2,...,air}∪{x}。D显然也是一条链。 现在考虑S''=S-D这个集合。由于每个长度为k的链都被我们抽掉了一个元素,所以集合S''不会有长度为k的反链了,而长度为k-1的反链显然是存在的(按照原来的构造)。由归纳假设,S''最少能划分成的链也是k-1。不妨设划分为了C'1,C'2,...,C'k-1。
那么,我们对S就构造出了k条链的情况:C'1,C'2,...,C'k-1,D。
所以反链的长度最大为k了。而去掉x就已经可以构造出长度为k的反链,因此S的最大反链至少是k。因此最大反链就是k。
至此,证明结束。
参考文献:http://aleph.math.louisville.edu/teaching/2009FA-681/notes-091119.pdf
Dilworth定理证明的更多相关文章
- 洛谷P1020 导弹拦截 题解 LIS扩展题 Dilworth定理
题目链接:https://www.luogu.com.cn/problem/P1020 题目大意: 给你一串数,求: 这串数的最长不上升子序列的长度: 最少划分成多少个子序列是的这些子序列都是不上升子 ...
- 【codevs1044】导弹拦截问题与Dilworth定理
题目描述 Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某 ...
- (转载)偏序集的Dilworth定理学习
导弹拦截是一个经典问题:求一个序列的最长不上升子序列,以及求能最少划分成几组不上升子序列.第一问是经典动态规划,第二问直接的方法是最小路径覆盖, 但是二分图匹配的复杂度较高,我们可以将其转化成求最长上 ...
- bzoj 3997 Dilworth定理
看到这道题感觉像是网络流,如果没有权值,可以用DAG最小路径覆盖,有权值,感觉可以求一个上下界最小可行流,但内存卡了....时间估计也悬. 正解要用到一些数学知识,这里梳理一下: 定义: 偏序关系: ...
- Dilworth定理
来自网络的解释: 定理内容及其证明过程数学不好看不懂. 通俗解释: 把一个数列划分成最少的最长不升子序列的数目就等于这个数列的最长上升子序列的长度(LIS) EXAMPLE 1 HDU 1257 ...
- 导弹拦截与Dilworth定理
这两天被Dilworth.链和反链搞到头昏脑胀,终于有点眉目,现在来总结一下. Dilworth定理说的是:对于一个偏序集,其最少链划分数等于其最长反链的长度. Dilworth定理的对偶定理说的是: ...
- [BZOJ1143][CTSC2008]祭祀river(Dilworth定理+二分图匹配)
题意:给你一张n个点的DAG,最大化选择的点数,是点之间两两不可达. 要从Dilworth定理说起. Dilworth定理是定义在偏序集上的,也可以从图论的角度解释.偏序集中两个元素能比较大小,则在图 ...
- dilworth定理的通俗讲解
度娘定义:在数学理论中的序理论与组合数学中,Dilworth定理根据序列划分的最小数量的链描述了任何有限偏序集的宽度.其名称取自数学家Robert P. Dilworth. 反链是一种偏序集,其任意两 ...
- 如何使用Dilworth定理
相关例题:NOIP 1999导弹拦截 遇到这题不会去网上搜Dilworth定理,太难受了,看不懂证明 但是,我知道怎么使用了,管那么多,会用就完事了 学习自这篇文章 -1.为什么我不想学证明这个定理 ...
随机推荐
- JavaScript 对引擎、运行时、调用堆栈的概述理解
JavaScript 对引擎.运行时.调用堆栈的概述理解 随着JavaScript越来越流行,越来越多的团队广泛的把JavaScript应用到前端.后台.hybrid 应用.嵌入式等等领域. 这篇文 ...
- C语言实例解析精粹学习笔记——34(用“结构”统计学生成绩)
实例34: 设学生信息包括学号.姓名和五门功课的成绩,要求编写输入输出学生信息的函数.在输入学生信息后,以学生成绩的总分从高到低顺序输出学生信息. 思路: 程序引入一个结构数组依次存储输入的学生信息, ...
- POJ1659 可图性判定
Frogs' Neighborhood Time Limit: 5000MS Memory Limit: 10000K Total Submissions: 10660 Accepted: 4 ...
- Redis的自从复制(Master/Slave)
一.是什么? 行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 二.能干嘛? 1.读写分离 2.容 ...
- LeetCode算法1—— 两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15], target ...
- WebService第一天——概述与入门操作
一.概述 1.是什么 Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些 ...
- Xcode9新变化
http://www.cnblogs.com/lurenq/archive/2017/09/26/7594909.html
- ORB-SLAM 代码笔记(四)tracking代码结构
首先要清楚ORB-SLAM视觉跟踪的原理,然后对tracking.cc中的函数逐个讲解 代码的前面部分是从配置文件中读取校准好的相机参数(内参和畸变参数,以及双目的深度测量设定),并且加载ORB特征点 ...
- 区分Oracle的数据库,实例,服务名,SID
文章摘自:http://www.zhetao.com/content240 感谢分享O(∩_∩)O~ 在实际的开发应用中,关于Oracle数据库,经常听见有人说建立一个数据库,建立一个Instance ...
- kettle 遇到 解决Incorrect integer value: '' for column 'id' at row 1 完美解决-费元星
最近自己在测试一个开源的程序,测试中发现.该程序都添加和更新的时候回出现 Incorrect integer value: '' for column 'id' at row 1类是的错误! 后来我自 ...