Tutte 定理与 Tutte–Berge 公式
Tutte theorem
图 \(G=(V,E)\) 有完美匹配当且仅当满足 \(\forall U\subseteq V,o(G-U)\le|U|,o(X)\) 表示 X 子图的奇连通块数。
Tutte–Berge formula
图 \(G=(V,E)\) 的最大匹配数为 \(\frac12\min\limits_{U\subseteq V}\{|U|-o(V-U)+|V|\}\)
Tutte 定理证明
必要性
如果 G 有完美匹配,那么每个奇连通块至少有一个点需要与 U 中的点匹配,故得证.
充分性
定义坏集 S 满足 \(|S|<o(G-S)\) ,那么图 G 中不能存在坏集。
如果 S 是 G 的坏集,那么 S 也一定是 G 的导出子图的坏集。
于是不妨令 G 满足 G 不存在完美匹配,且加入任意一条不在 G 中的边后存在完美匹配。
令 S 为满足度数为 \(|V|-1\) 的点集,首先考虑 \(G-S\) 中的每个连通块都是团的情况,容易发现 S 一定是坏集。
于是 \(G-S\) 中至少有一个连通块不是团,考虑把这个连通块扯出来讨论,我们找出其中两个没有边直接相连的点 \(x,y\) ,设从 \(x\rightarrow y\) 最短路上的头三个点为 \(a,b,c\) ,那么显然 \((a,c)\notin E\) ,且一定存在点 \(d\) 满足 \((b,d)\notin E\) 。
由于上面限制了 G 加入任意一条不在 G 中的边后都存在完美匹配,因此我们设 \(M_1\) 是 \((V,E\cup(a,c))\) 的一组完美匹配, \(M_2\) 是 \((V,E\cup(b,d))\) 的一组完美匹配,显然 \((a,c)\in M_1,(M_2)\in M_2\) (第一次走 \(M_1\) 的)。
然后定义 P 是在 G 上面从 d 出发,交替走 \(M_1,M_2\) 中的边得到的最长路径,显然最后会落在 \(a,b,c\) 点中的一个。
如果落在 b 点,我们令 \(C=P\cup(b,d)\) ,否则令 \(C=P\cup(a/c,b)\cup(b,d)\) ,这样 C 就是一个偶环,对于 C 我们选择不在 \(M_2\) 中的边可以形成一组新的匹配,对于 \(G-C\) 中的点我们按照 \(M_2\) 中的边匹配,这样就形成了一组新的完美匹配,故得证.
Tutte-Berge 公式与 Tutte 定理等价性证明
定义 \(def(G)\) 表示图 G 最大匹配中未被覆盖定点数, \(\nu(G)\) 表示 G 的最大匹配数,那么显然有 \(def(G)=|V|-2\nu(G)\).
Tutte-Berge formula \(\Rightarrow\) Tutte theorem
移项即可
Tutte theorem \(\Rightarrow\) Tutte-Berge formula
设 \(\delta'(G)=\max\limits_{U\subseteq V}\{o(V-U)-|U|\}\) ,并设 \(S\) 是取得最大值时的 \(U\) ,即证 \(\delta'(G)=def(G)\)。
显然有 \(\delta'(G)\ge0\) ,下面根据 \(\delta'(G)\) 的取值进行分类讨论。
- \(\delta'(G)=0\) ,那么满足 Tutte 定理的条件,整张图存在完美匹配, \(\delta'(G)=def(G)=0\)
- \(\delta'(G)>0\) ,那么一定有若干奇连通块存在点在 X 中未被覆盖,设该个数为 \(x\) ,\(o(G-X)=y\) ,那么一定满足 \(x\ge y-|X|\) 和 \(x\le def(G)\) ,因此 \(\delta'(G)\le def(G)\)成立。
另一方面,考虑构造一个有 \(\delta'(G)=0\) 个点的完全图 H ,然后跟 G 拼一个新图 \(G'=(V_H\cup V_G,E_H\cup E_G\cup\{(u,v)|u\in V_H,v\in V_G\})\)
容易在利用 Tutte 定理简单讨论后证明 G' 有完美匹配,因此 \(|V_H|=\delta'(G)\ge def(G)\) ,因此 \(\delta'(G)=def(G)\) ,故 Tutte-Berge 公式得证.
Tutte 定理与 Tutte–Berge 公式的更多相关文章
- zhengrui集训D1-D5笔记
Day_1 计数 它咕掉了 Day_1 序列数据结构 它咕掉了 Day_2 线性代数 高斯消元\Large{高斯消元}高斯消元 普通版:略 模质数:求逆 模合数:exgcd 逆矩阵\Large{逆矩阵 ...
- hdu2255 二分图最大权配KM
KM算法:hdu2255 (大概理解了 参考博客: http://blog.csdn.net/niushuai666/article/details/7171880) 所谓交错树:就是 ...
- Kuhn-Munkres算法 (剪辑)(备用)
KM算法是通过给每个顶点一个标号(叫做顶标)来把求最大权匹配的问题转化为求完备匹配的问题的. 设顶点Xi的顶标为A[i],顶点Yi的顶标为B[i],顶点Xi与Yj之间的边权为w[i,j]. 在算法执行 ...
- 从拟阵基础到 Shannon 开关游戏
从拟阵基础到 Shannon 开关游戏 本文中的定理名称翻译都有可能不准确!如果有找到错误的同学一定要联系我! 本文长期征集比较好的例题,如果有比较典型的题可以联系我 目录 从拟阵基础到 Shanno ...
- R Language
向量定义:x1 = c(1,2,3); x2 = c(1:100) 类型显示:mode(x1) 向量长度:length(x2) 向量元素显示:x1[c(1,2,3)] 多维向量:multi-dimen ...
- ACM/ICPC竞赛
ACM知识点分类 第一类:基础算法 (1) 基础算法:枚举,贪心,递归,分治,递推,构造,模拟 (2) 动态规划:背包问题,树形dp,状态压缩dp,单调性优化,插头dp (3) 搜索:dfs,bf ...
- 【bzoj1041】圆上的整点
题意 给定一个圆\(x^2+y^2=z^2\),求圆周上有多少个点的坐标是整数. \(r\leq 2*10^9\) 分析 这道题目关键要知道一些勾股数的性质,剩下的就很好处理了. 勾股数的性质 参考: ...
- POJ 2154 【POLYA】【欧拉】
前记: TM终于决定以后干啥了.这几天睡的有点多.困饿交加之间喝了好多水.可能是灌脑了. 切记两件事: 1.安心当单身狗 2.顺心码代码 题意: 给你N种颜色的珠子,串一串长度问N的项链,要求旋转之后 ...
- 《程序设计中的组合数学》——polya计数
我们在高中的组合数学中常常会碰到有关涂色的问题,例如:用红蓝两种颜色给正方形的四个顶点涂色,会有几种不同的方案.在当时,我们下意识的认为,正方形的四个顶点是各不相同的,即正方形是固定的.而实际上我们知 ...
随机推荐
- Django之 Models组件
本节内容 路由系统 models模型 admin views视图 template模板 引子 讲django的models之前, 先来想一想, 让你通过django操作数据库,你怎么做? 做苦思冥想, ...
- 【python大牛分享】python——接口自动化测试框架环境的使用
本文总结分享介绍接口测试框架开发,环境使用python3+selenium3+unittest+ddt+requests测试框架及ddt数据驱动,采用Excel管理测试用例等集成测试数据功能,以及使用 ...
- Linux下diff工具
目录 CentOS 7为例 Meld DiffMerge KDiff3 Kompare CentOS 7为例 Meld Installation 官网 $ sudo yum install meld; ...
- Ethical Hacking - Web Penetration Testing(4)
CODE EXECUTION VULNS Allows an attacker to execute OS commands. Windows or Linux commands. Can be us ...
- JVM调优工具Arthas的使用
Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱.在线排查问题,无需重启:动态跟踪Java代码:实时监控JVM状态. Arthas 支持JDK6+,支持Linux/Mac/Wind ...
- 肝了两天IntelliJ IDEA 2020,解锁11种新姿势, 真香!!!
IDEA2020版本正式发布已经有3个月了,当时由于各方面原因(太懒)也没有去尝试新功能.于是这个周末特意去在另一个电脑上下载了最新版的IDEA,并尝试了一下.总的来说呢,体验上明显的提升. 作为一个 ...
- patelinux 安装
参考文档:https://china.xilinx.com/support/documentation/sw_manuals/xilinx2017_2/ug1144-petalinux-tools-r ...
- [jvm] -- 类文件结构篇
类文件结构 结构图 魔数 头四个字节,作用是确定这个文件是否为一个能被虚拟机接收的 Class 文件. Class 文件版本 第五和第六是次版本号,第七和第八是主版本号. 高版本的 Java 虚拟机 ...
- 发布一个自己做的图片转Base64的软件,Markdown写文章时能用到
markdownpic 介绍 Markdown编辑时图片生成base64 软件架构 使用了.netcore winform框架 安装教程 直接运行即可 使用说明 拖拽图片文件 双击选择文件 复制粘贴图 ...
- JS闭包应用场景之函数回调(含函数的调用个人理解)
首先我们来绑定一个函数给click事件,这个很好理解,就是创建一个匿名函数作为回调绑定给click事件,如下: 但如果我们想声明一个函数作为回调来绑定多个元素呢,例如下面(注意:绑定事件后不用加括号, ...