偏序集-Dilworth定理

偏序的概念:

设A是一个非空集,P是A上的一个关系,若关系P是自反的、反对称的、和传递的,则称P是集合A上的偏序关系。
即P适合下列条件:
(1)对任意的a∈A,(a,a)∈P;
(2)若(a,b)∈P且(b,a)∈P,则a=b;
(3)若(a,b)∈P,(b,c)∈P,则(a,c)∈P,则称P是A上的一个偏序关系。带偏序关系的集合A称为偏序集或半序集。
若P是A上的一个偏序关系,我们用a≤b来表示(a,b)∈P

比方说:(A,≤)是偏序集,A={1,2,3},偏序≤在A上的大于等于关系。则有:≤={<3,3>,<3,2>,<3,1>,<2,2>,<2,1>,<1,1>},则有3≤2,2≤2,2≤1....
举如下例子说明偏序关系:
1、实数集上的小于等于关系是一个偏序关系。
2、设S是集合,P(S)是S的所有子集构成的集合,定义P(S)中两个元素A≤B当且仅当A是B的子集,即A包含于B,则P(S)在这个关系下成为偏序集。
3、设N是正整数集,定义m≤n当且仅当m能整除n,不难验证这是一个偏序关系。注意它不同于N上的自然序关系。

 在Partially order set(偏序集)有一个非常NX的定理叫Dilworth Theorem。偏序集的定义是

偏序是在集合X上的二元关系≤(这只是个抽象符号,不是“小于或等于”),它满足自反性、反对称性和传递性。即,对于X中的任意元素a,b和c,有:
自反性:a≤a;
反对称性:如果a≤b且b≤a,则有a=b;
传递性:如果a≤b且b≤c,则a≤c 。

带有偏序关系的集合称为偏序集
令(X,≤)是一个偏序集,对于集合中的两个元素a、b,如果有a≤b或者b≤a,则称a和b是可比的,否则a和b不可比。

例:(A,≤)是偏序集,其中A={1,2,3,4,5},其中≤是整除关系,那么对任意的x∈p都有1≤x,所以1和1,2,3,4,5都是可比的,但是2不能整除3,且3不能整除2,所以2和3是不可比的。
       在X中,对于元素a,如果任意元素b,由b≤a得出b=a,则称a为极小元

一个反链A是X的一个子集,它的任意两个元素都不能进行比较。
       一个链C是X的一个子集,它的任意两个元素都可比。

下面是两个重要定理:
定理1 令(X,≤)是一个有限偏序集,并令r是其最大链的大小。则X可以被划分成r个但不能再少的反链。
其对偶定理称为
Dilworth定理:
定理2 令(X,≤)是一个有限偏序集,并令m是反链的最大的大小。则X可以被划分成m个但不能再少的链。

证明:设p为最少反链个数
      (1)先证明X不能划分成小于r个反链。由于r是最大链C的大小,C中任两个元素都可比,因此C中任两个元素都不能属于同一反链。所以p>=r。
      (2)设X1=X,A1是X1中的极小元的集合。从X1中删除A1得到X2。注意到对于X2中任意元素a2,必存在X1中的元素a1,使得a1<=a2。令A2是X2中极小元的集合,从X2中删除A2得到X3……最终,会有一个Xk非空而X(k+1)为空。于是A1,A2,...,Ak就是X的反链的划分,同时存在链a1<=a2<=...<=ak,其中ai在Ai内。由于r是最长链大小,因此r>=k。由于X被划分成了k个反链,因此r>=k>=p。因此r=p,定理1得证。

搞清楚了反链和链的定义,就能够很好的从Hasse Diagram中得到理解。链就是从纵向的角度看 Hasse Diagram ,反链是从横向的角度看Hasse Diagram。

定理一,就是至少有r行构成反链关系。

定理二,就是至少有m列构成链关系。

题目总结:hdu 3335,poj 1065,1548,3636,nyist 255

题目链接:poj 2065http://poj.org/problem?id=1065

分析:有n个木棒,分别不同的长度和不同的重量,一个机器需要处理这些木棒,如果第i+1个木棒的重量和长度都>=第i个处理的木棒,那么将不会耗费时间,否则需要增加一个单位的时间,问最少需要多少时间处理完(包括机器启动的时间)。

先按照重量从小到大排序,当重量相等是再按长度从小到大排序,这个时候≤指的是xi+1>=xi&&yi+1>=yi,可以设num=0,因为排序后始终是xi+1>=xi,所以当yi+1<yi的时候就num++;结果返回num即可.

 

 

 

 

 

 

 

 

 

 

 

<think>好的,我现在需要处理用户关于Dilworth定理的查询。首先,我需要确认用户的具体需求是什么。他们提到想了解Dilworth定理Dilworth算法,可能是在学习组合数学或算法时遇到了相关内容,比如在解决偏序分解的问题,或者在处理像洛谷P1233这样的题目时遇到的。 接下来,我需要回忆Dilworth定理的基本内容。定理指出,在任意有限偏序中,其宽度(即最大的反链大小)等于将该合划分为最少数量的链的数。同时,定理的逆也成立,即链的最小数等于最长反链的大小。这一点可能用户需要明确,特别是定理的两个方向。 然后,关于Dilworth定理的证明,特别是构造性证明,用户可能希望了解如何实际应用这个定理来生成具体的划分方法。根据引用[1]中的内容,构造性证明涉及到找到最大反链,并通过归纳法处理子。可能需要详细解释这个过程,但要注意不要过于复杂,保持清晰。 用户提供的引用中,引用[2]提到划分是按照最长上升子序列的长度,这可能涉及到Dilworth定理在序列分解中的应用,比如将一个序列分解为最少的最长不升子序列数目等于其最长上升子序列的长度。这部分需要结合例子说明,比如像洛谷题目中的木棍加工问题,应用Dilworth定理来转化问题。 另外,用户提到的Dilworth算法,可能是指应用该定理的具体算法步骤,如如何构造链的划分。可能需要解释如何通过贪心算法或动态规划来找到最长反链,或者如何分解链。引用[3]中的链接可能提供了具体的算法思路,需要结合这些内容进行说明。 在组织回答时,需要按照用户的要求,使用中文,分点解释定理内容、证明思路和应用场景。同时,生成相关问题,比如定理的其他形式、应用实例、与对偶定理的关系等,帮助用户进一步学习。 需要确保所有数学表达式正确使用$...$和$$...$$格式,例如在提到偏序、链、反链时,使用正确的符号,如$P$,$A$等。同时,引用的标注要自然,比如在提到应用场景时引用相关的例子来源。 最后,检查是否有遗漏的信息,比如Dilworth定理的对偶形式,或者在实际算法中的具体实现步骤,确保回答全面且准确,符合用户的查询意图。</think>### Dilworth定理详解 #### 一、定理内容 Dilworth定理包含两个核心命题: 1. **分解定理**:任意有限偏序$(P, \leq)$的最小链划分数等于其最大反链的大小[^1] 2. **对偶定理**:任意有限偏序$(P, \leq)$的最小反链划分数等于其最长链的长度 其中: - **链**:合中两两可比较的元素子 - **反链**:合中两两不可比较的元素子 - **偏序**:具有自反、反对称、传递关系的合 #### 二、证明思路(构造性) 1. 设$k$为偏序的最大反链大小 2. 若存在元素$x$不属于任何最大反链,则可递归处理$P \setminus \{x\}$ 3. 当所有元素都属于某个最大反链时: - 构造覆盖关系图,寻找最长链 - 通过归纳法证明可用$k$条链覆盖整个合[^1] #### 三、应用场景 1. **木棍加工问题**(洛谷P1233) - 将木棍按长度、宽度排序后,求最少加工轮次 - 转化为求最长上升子序列长度[^3] 2. **任务调度优化** - 确定并行处理任务的最小资源需求 3. **组合数学证明** - 解决极值合的分解问题 #### 四、算法实现 以木棍加工问题为例的伪代码框架: ```python def min_processing(sticks): sticks.sort(key=lambda x: (x.length, -x.width)) dp = [] for s in sticks: # 二分查找插入位置 pos = bisect_left(dp, s.width) if pos == len(dp): dp.append(s.width) else: dp[pos] = s.width return len(dp) ``` 此算法时间复杂度为$O(n \log n)$,空间复杂度$O(n)$[^3]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值