团饱和图:(一)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定理的更多相关文章

  1. 【NOI2019模拟2019.7.1】三格骨牌(轮廓线dp转杨图上钩子定理)

    Description \(n,m<=1e4,mod ~1e9+7\) 题解: 显然右边那个图形只有旋转90°和270°后才能放置. 先考虑一个暴力的轮廓线dp: 假设已经放了编号前i的骨牌,那 ...

  2. 01.轮播图之四 :imageViews(2 或者 3 个imageview) 轮播

    首先说下 3 个imageView的轮播,这个逻辑分析起来 比较简单, 先上传个图片吧::::: 主要分析起来,核心就是这样 :新的图片永远是加在中间ImageView上的,下一轮的第一张图片,是上一 ...

  3. 01.轮播图之一 :scrollView 轮播

    接触的每个项目,都会用到轮播图的部分,轮播图都写了好多次,用过各种各样的方式写: 这篇总结的博客,我将分为几个篇幅写,希望写完这几篇博客之后,我能总结出自己写这个轮播的优缺和不同之处 scrollvi ...

  4. scratch少儿编程第一季——01、初识图形化界面编程的神器

    各位小伙伴大家好: 说到2018年互联教育的热门事件,那就不得不提Scratch. 相信各位不关注信息技术领域的各位家长也都听说过这个东西. 对于小学阶段想要接触编程或信息技术学生来说,Scratch ...

  5. 01.轮播图之五 :一个 imageView也能 作 轮播

    这个是最近才写的,本以为实现起来很有难度,需要更高深的理论, 写完之后,才发现自己错误的离谱: 之所以能用一个imageview 实现轮播 基于两点::: 使用 imageview 的layer 层设 ...

  6. 01.轮播图之三 : collectionView 轮播

    个人觉得 collection view 做轮播是最方便的,设置下flowlayout 其他不会有很大的变动,没有什么逻辑的代码 let's begin…… 创建自定义的view .h 声明文件 @i ...

  7. 01.轮播图之二 :tableView 轮播

    在做这个tablevew轮播的时候,重要的就是修改frame 和view 的翻转了:::: 也是不难的,概要的设计和scroll 轮播是一致的: 首先是 .h 的文件 @interface Table ...

  8. Java Annotation认知(包括框架图、详细介绍、示例说明)

    摘要 Java Annotation是JDK5.0引入的一种注释机制. 网上很多关于Java Annotation的文章,看得人眼花缭乱.Java Annotation本来很简单的,结果说的人没说清楚 ...

  9. UML系列01之 UML和绘图工具Visio介绍

    概要 UML,全称是Unified Modeling Language,中文是"统一建模语言".通俗点说,UML是一种创建模型的语言.UML是在开发阶段,说明,可视化,构建和书写一 ...

随机推荐

  1. easyui获取选中行上一行的数据

    text: 'XX',            iconCls: 'icon-ok',            handler: function () {                var rowI ...

  2. 在虚拟机上利用宿主机共享目录编译linux程序

    #前提条件: 宿主机:windows7 虚拟机:REDHAT 开发环境 qt4.7.4 +vs2010 . 代码在windows7 上编译成功 ,运行正常 在linux下编译需要的第三方库已经编译成功 ...

  3. Dapper使用技巧分享

    Dapper是轻量级的.net ORM框架,配合linq和泛型,让C#操作数据的代码简洁.高效又灵活!最近的工作项目中使用了Dapper,在这里分享一些实用技巧.阅读之前需要了解一些基本的使用方法,参 ...

  4. js数组操作-最佳图解

    js数组操作-最佳图解

  5. 前端上传图片回显并用base64编码,后端做解码储存,存储图片路径在.properties文件中配置(以上传身份证照片为例)

    前端页面:<form id="kycForm" enctype="multipart/form-data"> <input type=&quo ...

  6. OnTriggerEnter2D方法

    我两个物体A,B都添加了Circle Collider 2D,并且都勾选了is Trigger,我在A的脚本里用void OnTriggerEnter2D(Collider2D coll)检测碰撞,至 ...

  7. js中的call与apply随笔

    关于javascript中的call方法.总结网上的观点: 1: 继承. 2: 修改函数运行时的this指针. 可能说起来还是比较抽象,下面具体例子说一下: x.call(y) (1)y.m = x  ...

  8. openpyxl工具总结

    1.openpyxl使用 涉及到单元格合并.赋值 ''' .格式转换 raw_data create_data boolean Bool uint8 UInt8 int8 Int8 uint16 UI ...

  9. 在Django中运行ExtJS 事例

    网上关于ExtJS的事例挺多的,但是在Django中使用ExtJS挺少的,当然了,一些大牛觉得ExtJS运用在页面上是很简单的事,但是对于菜鸟来说,实在有点困难. 我这个例子是用在了sublime3这 ...

  10. python基础教程002_列表与元组

    1.列表 定义: edward = ['Edward Gumdy',42] 描述edward姓名与年龄的列表 edward = [] 空列表 操作: 索引: greeting = 'hello' pr ...