离散数学知识点总结(8)-图论

一、图的基本概念

无向图可以用二元组G=<V , E>表示,其中E是无序积V&V的有穷多重子集。

无向图中,所有顶点度数之和∑deg(v)=2|E|,即奇数度的顶点数必是偶数。(自环在计度数时为2

简单图:不存在自环、重边的无向图。由于每条边可用顶点对唯一表示,可用{vi, vj}代表e

有向图中,入度之和∑deg+(v)=出度之和∑deg-(v)=|E|

一些特殊的图

n阶零图/离散图Nnn个顶点都是孤立顶点1阶零图N1称作平凡图。

k-正则图:所有顶点度数均为k

n阶完全图kn:任意互异顶点均相邻,是(n-1)-正则图

n阶竞赛图:基图是n阶完全图的有向图。必然包含哈密顿道路(可由归纳法证明)。

                  竞赛图可以看作循环赛的比赛结果,但此时通过找哈密尔顿道路确定排名的方法不太公平。

                  可以先求每个选手与对应对手的得分分量s1=(a1,b1,c1,……),其中a1A选手战胜的对手数量

                  然后逐次求第k次的得分分量sk,每个选手在第k级得分是其所战胜的对手在sk-1中的前k-1级得分总和的和

                  若竞赛题为强连通图,且至少4个参数选手,最后排名一定收敛于固定的序列

圈图Cn:E={{u , v} | 1≤u , v≤n , u-v1(mod n)}

n-立方体图:顶点集V是由所有长度为n的二进制串组成,两个顶点标号序列仅一位数字不同时就相互连接。n≥3时称为n维超立方体图

二部图/二分图:简单图G的顶点集合可以划分为{V1, V2}使每一条边的两端都分属V1和V2

完全二部图/完全二分图Kr,sV1每个顶点都和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在可达性关系下的等价类{V1V2, ... , 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中不存在孤立顶点 

哈密顿图任意非空V1V,均有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的值不变

                   若不存在,则每个顶点的度数均大于,图中存在初级回路,回路上任意边都是两个面的边界,删去后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,6n2m与m≤3n-6矛盾

库拉托夫斯基定理:一个无向图是平面图它不包含与K5K3,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直至得到空序列 

 

posted @ 2019-04-10 16:21  扬羽流风  阅读(10204)  评论(0编辑  收藏  举报