【01】团饱和图:(一)EHM定理
团饱和图:(一)EHM定理
据A. Hajnal考证,术语“饱和性”,即saturation,最早由前苏联数学家A. A. Zykov在1949年引入,用于研究线性复形,但是他的工作并没有引起图论学家的足够关注.1961年,P. Erdos和T. Gallai在研究顶点覆盖问题时提出了一个猜想,而这个猜想事实上使用了图饱和数的概念(但并没有使用该术语),这个猜想在1964年被P. Erdos,A. Hajnal和J. W. Moon证明,我们称为EHM定理.随后在1965年,A. Hajnal借鉴了Zykov使用的术语“饱和性”,定义了图的饱和性.其相关概念如下.
设\(F\)和\(G\)是两个简单图,并且\(v(F)\le v(G)\).如果\(G\)不包含同构于\(F\)的子图,那么则称\(G\)是\(F\)-自由的.如果\(G\)是\(F\)-自由的,但对任意\(e\not\in E(G)\),\(G+e\)总是包含\(F\)的一个拷贝,则称\(G\)是\(F\)-饱和的.\(F\)-饱和的\(n\)阶简单图的最少边数称为\(F\)关于\(n\)的饱和数,记作\(sat(n,F)\).所有\(F\)-饱和的、顶点数为\(n\)、边数为\(sat(n,F)\)的简单图的集合记作\(Sat(n,F)\).
设\(G\)是\(F\)-自由的.
- 那么,我们总是默认\(v(F)\le v(G)\)且\(v(F)\ge2\).
- 当\(v(F)=2\)时,\(G\)是平凡的.一般我们考虑\(v(F)\ge3\)的情况.
本节研究\(F=K_s\)的情况,也就是\(K_s\)-饱和图,这种图也称为团饱和图.团饱和图有一些很显然的特性,我们总结为如下引理.
引理 1.1 设\(n\)阶图\(G\)是\(K_s\)-饱和的且\(s\ge3\).那么,
- \(\delta(G)\ge s-2\).
- 对任意\(v\in V(G)\),\(N(v)\)中存在至少一个\((s-2)\)-团.
- 对任意\(v\in V(G)\),\(V(G)\)可以剖分为三个部分:\(\{v\}\cup N(v)\cup N_2(v)\).
- 对任意\(v\in V(G)\),\(u\in N_2(v)\),\(N(v)\cap N(u)\)包含一个\((s-2)\)-团.\(\blacksquare\)
实际上,Erdos和Gallai在1961年提出的猜想正是关于团饱和图.这个猜想在1964年被P. Erdos,A. Hajnal和J. W. Moon证明了,我们不妨称之为EHM定理.
定理 1.2(EHM定理) 令\(2\le s\le n\),那么
- \(sat(n,K_s)=(s-2)n-\binom{s-1}{2}\);
- \(Sat(n,K_s)=\{K_{s-2}\vee\overline{K_{n-s+2}}\}\).
证明 (1) 当\(s=n\)时,显然有\(sat(n,K_n)=\binom{n}{2}-1=(n-2)n-\binom{n-1}{2}\).以下不妨设\(s<n\).设\(G\)是一个最小的\(n\)阶\(K_s\)-饱和图.那么存在\(u,v\in V(G)\),使得\(uv\not\in E(G)\),并且存在一个既与\(u\)相邻也与\(v\)相邻的\((s-2)\)-团.令\(G'=G/\{u,v\}\),则\(G'\)是\((n-1)\)阶\(K_s\)-饱和图,所以\(e(G')\ge sat(n-1,K_s)\),所以\(sat(n,K_s)=e(G)\ge e(G')+(s-2)\ge sat(n-1,K_s)+(s-2)\).
将之累加可得:
\[sat(n,K_s)\ge sat(s,K_s)+(n-s)(s-2)\\
=\binom{s}{2}-1+(n-s)(s-2)\\
=(s-2)n-\binom{s-1}{2}.\]
另一方面,\(K_{s-2}\vee\overline{K_{n-s+2}}\)恰是一个边数为\((s-2)n-\binom{s-1}{2}\)的\(n\)阶\(K_s\)-饱和图,所以\[sat(n,K_s)=(s-2)n-\binom{s-1}{2}.\]
(2) 设\(G\)是一个边数为\((s-2)n-\binom{s-1}{2}\)的\(n\)阶\(K_s\)-饱和图,以下只需证明\(G\cong K_{s-2}\vee\overline{K_{n-s+2}}\).由于\(s=2\)时结论显然成立,以下不妨设\(s\ge 3\).
对\(n\)作归纳.当\(n=s\)时,结论显然成立.假定\(n\)较小时结论成立,现在考虑\(n\)的情况.因为\(G\)是一个\(n\)阶\(K_s\)-饱和图,所以存在\(u,v\in V(G)\),使得\(uv\not\in E(G)\),并且存在一个既与\(u\)相邻也与\(v\)相邻的\((s-2)\)-团.令\(G'=G/\{u,v\}\),则\(G'\)是\((n-1)\)阶\(K_s\)-饱和图,且\[e(G')=e(G)-(s-2)=(s-2)(n-1)-\binom{s-1}{2}.\]
由归纳假设知,\(G'\cong K_{s-2}\vee\overline{K_{n-s+1}}\),所以有\(G\cong K_{s-2}\vee\overline{K_{n-s+2}}\).\(\blacksquare\)
EHM定理的结论虽然很漂亮,但是也有一个缺憾:我们只是知道边数最少的\(K_s\)-饱和图是什么样子,但是不知道普通的\(K_s\)-饱和图是什么样.后面几节我们就来讨论普通的\(K_s\)-饱和图具有什么结构.
【01】团饱和图:(一)EHM定理的更多相关文章
- 【NOI2019模拟2019.7.1】三格骨牌(轮廓线dp转杨图上钩子定理)
Description \(n,m<=1e4,mod ~1e9+7\) 题解: 显然右边那个图形只有旋转90°和270°后才能放置. 先考虑一个暴力的轮廓线dp: 假设已经放了编号前i的骨牌,那 ...
- 01.轮播图之四 :imageViews(2 或者 3 个imageview) 轮播
首先说下 3 个imageView的轮播,这个逻辑分析起来 比较简单, 先上传个图片吧::::: 主要分析起来,核心就是这样 :新的图片永远是加在中间ImageView上的,下一轮的第一张图片,是上一 ...
- 01.轮播图之一 :scrollView 轮播
接触的每个项目,都会用到轮播图的部分,轮播图都写了好多次,用过各种各样的方式写: 这篇总结的博客,我将分为几个篇幅写,希望写完这几篇博客之后,我能总结出自己写这个轮播的优缺和不同之处 scrollvi ...
- scratch少儿编程第一季——01、初识图形化界面编程的神器
各位小伙伴大家好: 说到2018年互联教育的热门事件,那就不得不提Scratch. 相信各位不关注信息技术领域的各位家长也都听说过这个东西. 对于小学阶段想要接触编程或信息技术学生来说,Scratch ...
- 01.轮播图之五 :一个 imageView也能 作 轮播
这个是最近才写的,本以为实现起来很有难度,需要更高深的理论, 写完之后,才发现自己错误的离谱: 之所以能用一个imageview 实现轮播 基于两点::: 使用 imageview 的layer 层设 ...
- 01.轮播图之三 : collectionView 轮播
个人觉得 collection view 做轮播是最方便的,设置下flowlayout 其他不会有很大的变动,没有什么逻辑的代码 let's begin…… 创建自定义的view .h 声明文件 @i ...
- 01.轮播图之二 :tableView 轮播
在做这个tablevew轮播的时候,重要的就是修改frame 和view 的翻转了:::: 也是不难的,概要的设计和scroll 轮播是一致的: 首先是 .h 的文件 @interface Table ...
- Java Annotation认知(包括框架图、详细介绍、示例说明)
摘要 Java Annotation是JDK5.0引入的一种注释机制. 网上很多关于Java Annotation的文章,看得人眼花缭乱.Java Annotation本来很简单的,结果说的人没说清楚 ...
- UML系列01之 UML和绘图工具Visio介绍
概要 UML,全称是Unified Modeling Language,中文是"统一建模语言".通俗点说,UML是一种创建模型的语言.UML是在开发阶段,说明,可视化,构建和书写一 ...
随机推荐
- AI五子棋需求规格说明书
AI-Gobang AI五子棋小程序 github地址:https://github.com/holidaysss/AI-Gobang 程序简介 AlphaGo Zero在世界舞台上取得的巨大成功体现 ...
- 常用的CMD & Linux命令
[CMD命令] 1.分行输入环境变量 使用echo %PATH%输出环境变量的时候没有分行输出,看起来十分麻烦: 通过xargs命令可以实现分行输出,命令如下: echo %PATH% | xargs ...
- 浏览器h5新建文件 保存到本地(相当于浏览器写文件)
function doSave(value, type, name) { var blob; if (typeof window.Blob == "funct ...
- Linux装系统问题
最近要把以前的Linux red hat 5.3,32位的系统换成Linux red hat6.2 64位系统,中间出现问题,不知道为什么系统装完之后回滚,还是之前的5.3.,为此纠结好久,终于找到问 ...
- svo_udp通信02——一组数据发送
注意事项: 1.client 和server 定义的发送和接收数据(结构)要相同.如: client.c: struct position_packet {float pos_x[5];float p ...
- hello.java分析
如下图源码所示: 该段代码声明了一个entity实体类,该类有一个变量name,对该变量写了对应的get和set方法.类中还有一个空的构造方法hello(). @RequestScoped用于指定一个 ...
- Bellman-Ford算法(在边权可正可负时求最短路)
使用FIFO队列实现: bool bellman_ford(int s){ queue<int > Q; memset(inq,0,sizeof(inq)); memset(cnt,0,s ...
- C语言入门(1)
开始学习C语言 第一个C语言程序 #include<stdio.h> int main() { printf("Hello World!"); } C程序结构 1. 头 ...
- 控制使用jquery load()方法载入新页面中的元素
最近在项目中用到jquery的load()方法来加载页面,首先简单说一下load()方法. load(url,data,callback);该方法接收三个参数,第一个是载入的页面地址,第二个是要传到服 ...
- HBASE 基础命令总结
HBASE基础命令总结 一,概述 本文中介绍了hbase的基础命令,作者既有记录总结hbase基础命令的目的还有本着分享的精神,和广大读者一起进步.本文的hbase版本是:HBase 1.2.0-cd ...