一、图的基本概念
无向图可以用二元组G=<V , E>表示,其中E是无序积V&V的有穷多重子集。
无向图中,所有顶点度数之和∑deg(v)=2|E|,即奇数度的顶点数必是偶数。(自环在计度数时为2)
简单图:不存在自环、重边的无向图。由于每条边可用顶点对唯一表示,可用{vi, vj}代表e。
有向图中,入度之和∑deg+(v)=出度之和∑deg-(v)=|E|
一些特殊的图
n阶零图/离散图Nn:n个顶点都是孤立顶点。1阶零图N1称作平凡图。
k-正则图:所有顶点度数均为k
n阶完全图kn:任意互异顶点均相邻,是(n-1)-正则图
n阶竞赛图:基图是n阶完全图的有向图。必然包含哈密顿道路(可由归纳法证明)。
竞赛图可以看作循环赛的比赛结果,但此时通过找哈密尔顿道路确定排名的方法不太公平。
可以先求每个选手与对应对手的得分分量s1=(a1,b1,c1,……),其中a1是A选手战胜的对手数量
然后逐次求第k次的得分分量sk,每个选手在第k级得分是其所战胜的对手在sk-1中的前k-1级得分总和的和
若竞赛题为强连通图,且至少4个参数选手,最后排名一定收敛于固定的序列
圈图Cn:E={{u , v} | 1≤u , v≤n , u-v≡1(mod n)}
n-立方体图:顶点集V是由所有长度为n的二进制串组成,两个顶点标号序列仅一位数字不同时就相互连接。n≥3时称为n维超立方体图
二部图/二分图:简单图G的顶点集合可以划分为{V1, V2}使每一条边的两端都分属V1和V2
完全二部图/完全二分图Kr,s:V1中每个顶点都和V2中每个顶点相连,r=|V1|,s=|V2|
子图与补图
生成子图/支撑子图:V2中包含了图G中所有顶点
导出子图:E2中包含了图G中V2之间的所有边。
删点子图G-v:属于导出子图
删边子图G-e:属于支撑子图
补图:n阶简单图G的补图就是kn去除G的边集。若补图与G同构,则称其为自补图。
道路
简单道路/简单回路:该路径上没有重复的边,顶点可以重复。
初级道路/初级回路(圈):道路中除了起点和终点,其它顶点只出现一次。即既不能有重复的边又不能有重复的顶点。
简单图中任一顶点都有deg(v)>1时,必然存在初级回路
证明:取图中最长初级道路V0~Vk,则V0必然不会与不在道路上的顶点相交(否则存在更长的初级道路)。但由于deg(V0)>1,V0必然会与道路上的顶点相交形成初级回路
连通性
连通分支:无向图G在可达性关系下的等价类{V1, V2, ... , Vk},G关于它的每个导出子图都是一个连通分支
点割集V':V'⊊V使得p(G-V')>p(G),且对任意V''⊊V'都有p(G-V'')=p(G)。当V'={v}时称v为割点
边割集E':E'⊊E使得p(G-E')>p(G),且对任意E''⊊E'都有p(G-E'')=p(G)。当E'={e}时称e为割边
连通图:只有一个连通分支的无向图,其割边又叫桥
弱连通图:基图是连通图的有向图
强连通图:有向图中,任意两个顶点u和v,u到v和v到u都是可达的。(两个至少之一可达就是单连通图,也属于连通图)
二、欧拉道路与欧拉图
欧拉道路/回路:通过图G中每条边一次且仅一次的道路/回路。存在欧拉回路的图称为欧拉图,存在欧拉道路且不存在欧拉回路的图称为欧拉半图。
半欧拉图:无向图连通的且奇数度顶点恰有两个
有向图单向连通且奇数度顶点恰有两个(一个入度比出度大1、一个出度比入度大1),其它顶点出度入度相同。
欧拉图:无向图连通且所有顶点都是偶数度
有向图强连通且每个顶点出入度相同
无向图为欧拉图条件的充要性证明:
必然性:显然成立
充分性:从任意顶点出发,作出图G中的简单回路C
从图G删除C中所有边,再删除因此出现的孤立顶点,得到G'。由于所有顶点都是偶数度,删除后仍然是偶数度
因为是连通图,删除后得到的新图G'和原图G必然存在共有顶点v
从v出发在G'中作出新回路C',与C相连,得到更长的简单回路
不断重复该构造过程,直到得到欧拉回路
即欧拉图⟺图中所有边包含在相互没有公共边的简单回路中
Fluery算法:
(1)选择图中一个奇数度顶点v,如果不存在就任选一个
(2)如果v关联的边多于一条,选择其中不是桥的任意一条走
(3)删除经过的边,再删除因此出现的孤立顶点
(4)重复直到得到欧拉道路或欧拉回路
中国邮递员问题:带权无向图求每个边最少经过一次的最短回路。有欧拉回路时显然就是欧拉回路,没有时需要把所有奇数度顶点分成若干对,重复某些道路。
三、哈密顿道路与哈密顿图
哈密尔顿道路/回路:通过图G中每个顶点一次且仅一次的道路/回路,存在哈密尔顿回路的图称为哈密尔顿图(例如kn都是哈密顿图)
存在哈密尔顿道路且不存在哈密顿回路的图称为半哈密尔顿图
图G中是否存在自环和重边不影响哈密尔顿道路/回路的存在性,因此只需考虑简单图的情况
哈密顿图实际是NPC问题,充要条件未找到
如果G中任一对顶点u和v,都满足deg(u)+deg(v)≥n-1⟹ G中存在哈密尔顿道路⟹ G中不存在悬挂边
如果G中任意两个顶点u和v,都满足deg(u)+deg(v)≥n⟹ G是哈密尔顿图⟹ G中不存在孤立顶点
哈密顿图中任意非空V1⊆V,均有p(G-V1)≤|V1|(设C为任一哈密顿回路,V1中的顶点在C中互不相邻时p(G-V1)有最大值|V1|)
如果m≥(n2-3n+6)/2⟹ G是哈密尔顿图
证明:不妨用反证法,假设m≥(n2-3n+6)/2但图G中存在顶点u和v,满足deg(u)+deg(v)<n
删除这两个顶点和相应边,构成n-2阶简单图G'
m'>m-(deg(u)+deg(v))>(n2-3n+6)/2-n=(n-2)(n-3)/2,与G'是简单图时m'≤(n-2)(n-3)/2矛盾
故图中任意两个顶点均有deg(u)+deg(v)>n,G一定是哈密顿图
旅行商问题/货郎担问题:n阶完全带权图(权为∞时代表无交通)求最短哈密尔顿回路,足有(n-1)!/2条哈密尔顿回路,是NPC问题,至今无有效算法
可以采用最邻近算法近似:选择任一顶点作为开始点,选择最近的点,形成初始路径。随后不断选择不在路径中的距离最近的点加入到路径中。
例题:有七名科学家参加一个会议,已知A只会讲英语,B会讲英语和中文,C可以讲英语、意大利语和俄语,D会日语和中文,E会德语和意大利语,F会讲法语、日语和俄语,G可以讲德语和法语。可否安排他们在一个圆桌围坐,使得相邻的科学家都可以使用相同的语言交流
A:英语
B:英语和中文
C:英语、意大利语和俄语
D:日语和中文
E:德语和意大利语
F:法语、日语和俄语
G:德语和法语
例题:假设在 n(n≥4)个人中,任意两人合在一起能认识其余的n-2个人,则他们可以围成一圈,使相邻者相识。
证明:deg(u)+deg(v)≥n-2+1+1=n
例题:有6门考试ABCDEF必须安排在连续6天,假设每人选修课的情况有DCA、BCF、EB、AB,应如何安排考试使得没有人连续两天考试
思路:作出6阶完全图,去掉DCA间的边、BCF间的边、EB间的边、AB间的边,然后从图中找出一条哈密尔顿道路。
四、平面图
平面图:所有面的次数之和是边数的两倍;桥只能是一个面的边界,在计算次数时算两条边
极大平面图、极小非平面图
n-m+面数f=连通分支数l+1
首先用数学归纳法证明l=1时成立:
m=0时n=1、f=1,n-m+f=2成立
假设m=k时n-m+f=2成立
m=k+1时,若图中存在悬挂边,则删除后n减1、m减1、f不变,n-m+f的值不变
若不存在,则每个顶点的度数均大于1 ,图中存在初级回路,回路上任意边都是两个面的边界,删去后m减1、f减1,n-m+f的值不变
当l≠1时,n1-m1+f1=n2-m2+f2=...=nl-ml+fl=2
(n1+n2+...nl)-(m1+m2+...ml)+(f1+f2+...fl)=n-m+f+(l-1)=2l
n-m+f=l+1
若每个面的次数最少为t,则tf≤2m,代入上式得m≤(n-2)·t/(t-2)
t必定至少为3,因此m≤3n-6;当t至少为4时,则m≤2n-4
平面图至少存在一个度数不超过5的顶点
证明:若全部顶点的度数均大于5,6n≤2m与m≤3n-6矛盾
库拉托夫斯基定理:一个无向图是平面图它不包含与K5或K3,3的细分同构的子图(K5和K3,3都是非平面图)
对偶图
在图 G 中的每个面(包含外部面)内画一顶点 ,在这些新的顶点之间添加边,每条新的边恰与G中的每一条边相交一次
n*-m*+f*=f-m+n=2
得到的图G的对偶图图G*也是平面图,必定连通
五、顶点支配、独立、覆盖
点支配集
对于任意 v∈V-D,都存在u∈D,使得uv∈E
极小支配集:D的任何真子集都不是支配集
支配数γ(G):最小支配集的元素数
点独立集
对于任意u , v∈S,都有uv不相邻
极大独立集:S不是其它任何独立集的子集。此时任意u∈V-S,都有v∈S使得u与v相邻。
独立数α(G):最大独立集的元素数,α(G)≥|任一极大独立集|=|对应极小支配集|≥γ(G)
所有独立集中,只有极大独立集也是支配集,而且它是极小支配集
点覆盖集
对于任意e∈E,都有v∈V*,使得v是E的一个端点
极小点覆盖:V*的任何真子集都不是点覆盖。此时不存在所有相邻顶点都属于V*的顶点
点覆盖数β(G):最小点覆盖的元素数,β(G)≥γ(G)
V*是点覆盖集当且仅当V-V*是独立集
证明:若V*是点覆盖集但V-V*不是独立集,则存在顶点u, v∈V-V*使得uv相邻,这与V*是点覆盖集矛盾
若V-V*是独立集但V*不是点覆盖集,则存在边uv∈E使得u, v∈V-V*,这与V-V*是独立集矛盾
V*是极小点覆盖集当且仅当V-V*是极大独立集。
V*⊆V是最小点覆盖集当且仅当 V-V*是最大独立集,α(G)+β(G)=|V|
总结
极小支配集、最小支配集、极大独立集、最大独立集、极小点覆盖、最小点覆盖都未必唯一
完全图Kn的支配数为1、独立数为1、点覆盖为n-1
完全二部图Km,n的支配数为min(m, n)、独立数为max(m, n)、点覆盖数为min(m, n)
六、图的着色
利用对偶图的概念,可以把平面图G的面着色问题转化为研究对偶图 G* 的点着色问题
利用线图的概念,可以把平面图G的边着色问题转化为研究线图的点着色问题
点着色数χ(G)就是将顶点集V关于独立集作划分时,划分块为最少时的数目,它的确定是一个NPC问题
χ(Kn)=n,χ(Km,n)=2,
χ(Cn)=2(n为偶数)或3(n为奇数)
Welch-Powell算法
该方法得到的不一定是最优方法:
(1)将图中顶点按度数不增的方式排成一个序列
(2)使用一种新颜色对序列中的第一个顶点进行着色,并且按照序列次序,对与已着色顶点不邻接的每一顶点着同样的颜色,直至序列末尾。然后从序列中去掉已着色的顶点得到一个新的序列
(3)对新序列重复步骤2直至得到空序列