Lecture 11:图与着色
1. 简单图
定义: 一个(简单)图
- 边是无序对
,也可写作 或 。 - 我们的定义不允许重边和自环。
不允许;没有边的图是允许的。
邻接关系
- 若
,则 与 相邻。 - 边
关联其端点 和 。
现实应用举例
- 社交网络(Facebook 好友图)、考试排期冲突、神经网络、互联网。
- Twitter 关注图是有向图(不对称),后续课程覆盖。
- "六度分隔"理论:任意两人之间存在长度
的路径。
2. 顶点度数
定义:
握手引理(Handshake Lemma):
证明: 左侧对每条边计数两次(每条边恰好有两个端点)。
推论:
- 度数序列
不可能存在——总和为奇数,无法等于 。 个顶点的图最多有 条边,由完全图 取到。
3. 二部图
定义: 若
二部图握手引理:
平均度数之比:
例:哈佛 / MIT 友谊图。 MIT 约有 4600 名本科生,哈佛约有 7200 名。平均每位 MIT 学生拥有的哈佛朋友数,约是平均每位哈佛学生拥有的 MIT 朋友数的
例:异性伴侣数调查。 多项研究声称男性的异性伴侣数是女性的 1.74 倍乃至 3.33 倍,这在数学上不可能。将男女配对关系建模为二部图,两侧总度数必然相等,真实比值约为
4. 图着色
动机: 考试排期——若两门课有共同选课学生,则它们冲突,不能安排在同一时间段。
定义: 图
定义:
证明
需要同时给出:
- 上界:给出一个合法的
着色方案。 - 下界:证明不存在
着色(通常用反证法或找团)。
应用: 地图着色(四色定理)、寄存器分配、无线电频率分配、调度问题。
NP 完全性: 计算
5. 贪心着色算法
1. 对顶点排序:v1, v2, ..., vn
2. 对颜色排序:c1, c2, ...
3. 按顺序处理每个顶点,为其分配编号最小的合法颜色- 不同的顶点排序可能产生不同数量的颜色。
- 这是一个贪心算法:逐步决策,从不回头。
定理: 若图中每个顶点的度数
证明(对
- 归纳假设
:对所有 和所有 顶点、最大度数为 的图,贪心算法对任意排序使用颜色数 。 - 基础情形
:图无边, ,使用 1 种颜色。✓ - 归纳步骤: 设
是 顶点、最大度数为 的图。贪心对 着色时,完全不考虑 ,等价于对 顶点子图着色。由归纳假设,最多使用 种颜色。最后处理 :它至多有 个邻居,占用至多 种颜色,因此 种颜色中至少有一种可用。✓
警示——"构建错误"(Buildup Error): 归纳假设是"对所有
顶点图成立",归纳步骤必须从任意一个 顶点图出发,而不是从一个 顶点图出发再添加顶点。后者是常见错误。
算法的好坏分析:
:最大度数 , ,上界紧。 - 星图
:最大度数 ,但 ,上界很宽松。 - 王冠图
: ,最大度数 ,但存在一种排序让贪心使用 种颜色——算法在最坏情况下表现很差。