• Dilworth 定理


    rt,刷 AC 自动机的我刷到了道毒瘤题,就来学这个东西了。

    首先在学这个定理之前需有一些离散数学的基础。

    传递闭包

    对于某个集合 \(S\) 我们有定义在集合上的二元关系 \(R\)

    我们在 \(S\) 上还定义了一个二元关系 \(T\),若关系 \(T\) 满足 \(\forall x,y\in S\)\(xTy\to\exist x_0=x,x_1,x_2,\dots,x_k=y\) 使得 \(x_iRx_{i+1}(0\leq i<k)\) 均成立,那么就称关系 \(T\) 为关系 \(R\) 的传递闭包。

    显然对于图 \(G=(V,E)\),若我们把 \(S\) 视作 \(G\) 的点集 \(V\),对于 \(x,y\in V\)\(xRy\) 为真当且仅当存在 \(x\to y\) 的边,那么 \(R\) 的传递闭包 \(T\) 定义为:\(xTy\) 为真当且仅当存在 \(x\to y\) 的路径。

    求传递闭包的方式非常容易,直接 \(n^3\) 跑遍 floyd 就行了。

    偏序关系

    对于集合 \(A\),若定义在集合 \(A\) 上的关系 \(R\) 满足:

    • 自反性,\(\forall x\in A\) 都有 \(xRx\)
    • 反对称性,\(\forall x,y\in A\),若 \(xRy,yRx\)\(x=y\)
    • 传递性,\(\forall x,y,z\in A\),若 \(xRy,yRz\)\(xRz\)

    则称 \(R\) 为定义在 \(A\) 上的非严格偏序关系,记作 \(\preccurlyeq\),可以把它理解为小于等于,但又不等于传统意义上的小于等于。

    同理我们这样定义严格偏序,对于集合 \(A\),若定义在集合 \(A\) 上的关系 \(R\) 满足:

    • 反自反性,\(\forall x\in A\)\(xRx\) 都不成立
    • 非对称性,\(\forall x,y\in A\)\(xRy\) 都不成立
    • 传递性,\(\forall x,y,z\in A\),若 \(xRy,yRz\)\(xRz\)

    则称 \(R\) 为定义在 \(A\) 上的非严格偏序偏序关系,记作 \(\prec\)

    容易看出偏序集与有向无环图有着自然的联系,设图 \(G=(V,E)\) 满足 \(V=A,E=\{(x,y)|x\prec y,x,y\in A\}\),那么 \(G\) 为一张有向无环图,其传递闭包就是其本身。

    以上两种关系统称为偏序关系。若集合 \(A\) 上定义了一个偏序 \(R\),则 \(A\) 和偏序 \(R\) 为偏序集,记作 \((A,R)\)

    容易推导得出以下结论:

    • 若集合 \(A\) 上定义了一个非严格偏序 \(\preccurlyeq\),那么可以自然地推导出严格偏序 \(\prec\)\(a\prec b\) 当且仅当 \(a\preccurlyeq b\)\(a\neq b\)
    • 若集合 \(A\) 上定义了一个严格偏序 \(\prec\),那么可以自然地推导出非严格偏序 \(\preccurlyeq\)\(a\preccurlyeq b\) 当且仅当 \(a\prec b\)\(a=b\)
    • 给定集合 \(A\) 上的一个非严格偏序 \(\preccurlyeq\),那么其逆关系 \(\succcurlyeq\) 也是非严格偏序。
    • 给定集合 \(A\) 上的一个严格偏序 \(\prec\),那么其逆关系 \(\succ\) 也是严格偏序。

    全序是一种特殊的偏序关系,在偏序关系的定义中只要求部分元素可比,而全序关系要求 \(\forall x,y\in A\) 都有 \(xRy\)\(yRx\),即任意两个元素都可比。

    下面举几个例子吧:

    • 定义在实数集 \(\mathbb{R}\) 上的 \(\leq\) 显然是一种偏序关系,这个偏序同时也是全序。
    • 定义在 \(\mathbb{N}*\) 上的整除(\(\mid\))运算也是一种偏序关系,但这个偏序不是全序。
    • 定义在复数集 \(\mathbb{C}\) 上的 \(\leq\) 显然是一种偏序关系,但这个偏序不是全序。
    • 对于集合 \(S\) 的两个子集 \(S_1,S_2\subseteq S\)\(S_1\leq S_2\Rightarrow S_1\subseteq S_2\),则 \((T=\{S'|S'\subseteq T\},\leq)\) 是一种偏序关系,但这个偏序不是全序。

    Dilworth 定理

    终于(快要)进入正题了。

    对于偏序集 \((A,R)\),我们做出如下定义:

    • 集合 \(A'\subseteq A\) 为偏序集的一个链当且仅当 \(\forall x,y\in A'\) 都有 \(xRy\)\(yRx\)
    • 集合 \(A'\subseteq A\) 为偏序集的一个反链当且仅当 \(\forall x,y\in A',xRy\)\(yRx\) 都不成立。
    • 一个链的集合 \(S=\{S_1,S_2,\dots,S_k\}\) 为偏序集的链覆盖,当且仅当 \(S_1,S_2,\dots,S_k\) 均为链且 \(\forall x\in A,\exist i\in[1,k]\) 使得 \(x\in S_i\)。该链覆盖的大小为 \(k\)

    Dilworth 定理说的是这样一件事:一个偏序集的最大反链大小等于其最小链覆盖。

    如果你前面偏序集的定义没搞懂,那么你可以这样理解这个定理:对于满足 \(\forall u,v,w\in V,(u,v),(v,w)\in E\Rightarrow (u,w)\in E\) 的图 \(G=(V,E)\),有 \(G\) 的最大独立集等于 \(G\) 的最小可相交路径覆盖。

    证明:考虑第二数学归纳法,假设当 \(|A|\leq m\) 时候命题成立,下证 \(|A|=m+1\) 时命题成立。

    考虑 \(A\) 中的一个极大元 \(x\)\(\forall y\in A\),若 \(x,y\) 可比则都有 \(xRy\)),设 \(A'=A-\{x\}\),由归纳假设 \(A'\) 中最大反链大小等于最小链覆盖,假设其大小都为 \(k\)

    假设 \(A'\) 可划分为 \(k\) 个链 \(\{C_1,C_2,\dots,C_k\}\)\(A'\) 中大小为 \(k\) 的反链有 \(r\) 个,分别为 \(S_1,S_2,\dots,S_r\)

    那么显然 \(S_i\) 是在 \(k\) 条链中各取一个元素(否则假设 \(\exist x,y\in S_i\)\(x,y\) 在同一条链中,那么 \(x,y\) 必然可比,矛盾),不妨设 \(s_{i,j}\) 为满足 \(u\in S_i,u\in C_j\)\(u\)。再记集合 \(B=\{\max(s_{i,1}),\max(s_{i,2}),\cdots,\max(s_{i,k})\}\),即对于每条链,这条链上被包含在这 \(r\) 个大小为 \(k\) 的反链中的元素中大小最大的那个组成的集合(注意,由于所有这样的点都在同一条链上,故它们两两之间都是可比的,因此也有了“最大值”的定义)

    那么 \(B\) 为一个长度为 \(k\) 的反链(否则假设 \(\exist b_i,b_j\in B\) 满足 \(b_iRb_j\),那么根据 \(b_j=\max(s_{l,j})\) 就有 \(b_iRs_{1,j},b_iRs_{2,j},\dots,b_iRs_{r,j}\),而设 \(b_i=s_{t,i}\)\(b_i\) 是第 \(t\) 个反链在第 \(i\) 条链上选出的点),根据反链的定义有 \(b_i\)\(s_{t,j}\) 不可比,矛盾!

    现在考虑加入一个元素 \(\{x\}\) 对答案的影响。

    1. \(\forall y\in B\) 都有 \(x,y\) 不可比,那么 \(B'=B\cup\{x\}\) 为一条长度为 \(k+1\) 的反链,而加入一个元素,最大反链长度和最小链覆盖大小最少变化 \(0\),至多变化 \(1\),故 \(S\) 最大反链大小就是 \(k+1\),最小链覆盖大小至少为 \(k\),至多为 \(k+1\),而假设最小链覆盖大小为 \(k\),那么由于反链 \(B'\) 大小为 \(k+1\),根据抽屉原理知 \(\exist u,v\in B'\) 满足 \(u,v\) 被划分到了同一条链中,矛盾。(ycx 你说我有多大概率“矛盾”后加“。”或“!”,现在知道了吧),那么最小链覆盖大小就是 \(k+1\)
    2. \(\exist y\in B\) 使得 \(x,y\) 可比,那么由 \(x\) 为极大元可知 \(xRy\),而 \(B\) 为反链可知这样的 \(y\) 最多只有一个,假设 \(y\in C_j\),那么考虑集合 \(D=\{s_{1,j},s_{2,j},\dots,s_{r,j},x\}\),再记 \(T=S-D\),那么 \(T\) 的最大反链大小为 \(k-1\)(因为 \(S\) 中所有大小为 \(k\) 的反链都被抠掉了一个元素,而大小为 \(k-1\) 的反链显然存在),由归纳假设 \(T\) 的最小链覆盖大小也为 \(k-1\),而 \(D\) 显然为一条链,故 \(S\) 的最小链覆盖大小为 \(k\),得证。

    \(|A|=m+1\) 时命题成立。

    \(|A|\leq 1\) 命题显然成立。

    根据数学归纳法知命题成立!

  • 相关阅读:
    EasyUI 取得选中行数据
    为什么给的待遇很丰厚,我的90后员工还是要走?
    ***ECharts图表入门和最佳实践
    ***百度统计图表Echarts的php实现类,支持柱形图、线形图、饼形图
    <?php $sql = <<<EOF 。。。。EOF;?>这种写法是什么意思
    ***mysql中查询今天、昨天、上个月sql语句
    ***iOS开发中@selector的理解与应用
    ***Xcode Interface Builder或Storyboard中可建立那两种连接?
    什么是Nib文件?(Nib文件是一种特殊类型的资源文件,它用于保存iPhone OS或Mac OS X应用程序的用户接口)
    IOS笔记 #pragma mark的用法和作用(方便查找和导航代码)
  • 原文地址:https://www.cnblogs.com/ET2006/p/dilworth.html
Copyright © 2020-2023  润新知