图论与网络流理论


图论与网络流理论
(Graph Theory and Network Flow Theory)
讲授:高随祥
中科院研究生院专业基础课
学时/学分:60/3
本课程适合基础数学、应用数学、计算数学、运筹学与控制论、概率论与数理统计各专业的硕士学位研究生作为专业基础课,也可供物理学、化学、天文学、地学、生物科学、计算机科学与技术、计算机软件、管理科学与工程以及通信、信号等学科专业的硕士研究生选修。主要讲授图论与网络流理论的基本概念、方法和定理,介绍该领域重要的问题以及典型的算法,展示图论与网络流模型及方法的广泛应用。为学习者将来从事有关方面的理论研究打下基础,也为进行应用性研究提供一种有力的工具。

内容提要
第一章 图的基本概念
图的基本概念;二部图及其性质;图的同构;关联矩阵与邻接矩阵。
路、圈与连通图;最短路问题。
树及其基本性质;生成树;最小生成树。
第二章 图的连通性
割点、割边和块;边连通与点连通;连通度;Whitney定理;可靠通信网络的设计。
第三章 匹配问题
匹配与最大匹配;完美匹配;二部图的最大匹配;指派问题与最大权匹配。
第四章 欧拉图与哈密尔顿图
欧拉图;中国邮递员问题;哈密尔顿图;旅行商问题。
第五章 支配集、独立集、覆盖集与团
支配集、点独立集、点覆盖集、边覆盖集与团的概念及其求法。
第六章 图的着色问题
点着色;边着色;平面图;四色猜想;色多项式;色数的应用。
第七章 网络流理论
有向图;网络与网络流的基本概念;最大流最小割定理;求最大流的标号算法;最小费用流问题;最小费用最大流;网络流理论的应用。
主要参考书
[1] J.A. Bondy and U.S. Murty, Graph theory with applications, 1976, 有中译本(吴望名等译)。
[2] B.Bollobas, Modern graph theory (现代图论),科学出版社,2001。
[3] 蒋长浩,图论与网络流,中国林业出版社,2001。
[4] 田丰,马仲蕃,图与网络流理论,科学出版社,1987。
[5] 徐俊明,图论及其应用,中国科技大学出版社,1998。
[6] 王树禾,图论及其算法,中国科技大学出版社,1994。
[7] 殷剑宏,吴开亚,图论及其算法,中国科技大学出版社,2003。
考核方式:平时成绩+期末闭卷笔试




第一章 图的基本概念
§1.1 图的基本概念
1. 图(graph):一集元素及它们之间的某种关系。具体地说,图是一个二元组,其中集合V称为顶点集,集合E是的一个子集(无序对,元素可重复),称为边集。
例1.1.1 ,其中
,。
这便定义出一个图。

2. 图的图示
通常,图的顶点可用平面上

的一个点来表示,边可用平面上的线段来表示(直的或曲的)。这样画出的平面图形称为图的图示。
例如,例1.1.1中图的一个图示为






注:(1)由于表示顶点的平面点的位置的任意性,同一个图可以画出形状迥异的很多图示。比如下图是例1.1中图的另一个图示:






(2)图的图示直观易懂,因此以后一般说到一个图,我们总是画出它的一个图示来表示。
3. 一些概念和术语
(1) 点与边的关联(incident)
(2) 点与点的相邻(adjacent)
(3) 边与边的相邻
(4) 边的端点(end vertices)
(5) 环边(loop)
(6) 重边(multiedge)
(7) 简单图(simple graph)
(8) 完全图(complete graph)
(9) 图的顶点数(图的阶)、边数
(10) 顶点v的度(degree):d(v) = 顶点v所关联的边的数目(环边计两次)。
(11) 图G的最大度:
图G的最小度:
(12)正则图(regular graph):每个顶点的度都相等的图。
(13)图的补图(complement):设G是一个图,以为顶点集,以为边集的图称为G的补图,记为。

定理1.1.1
证明:按每个顶点的度来计数边,每条边恰数了两次。
推论1.1.1 任何图中,奇度顶点的个数总是偶数(包括0)。
4. 子图
子图(subgraph):如果且,则称图H是G的子图,记为。
生成子图(spanning subgraph): 若H是G的子图且,则称H是G的生成子图。
点导出子图(induced subgraph):设,以为顶点集,以两端点均在中的边的全体为边集所组成的子图,称为G的由顶点集导出的子图,简称为G的点导出子图,记为.
边导出子图(edge-induced subgraph):设,以为顶点集,以两端点均在中的边的全体为边集所组成的子图,称为G的由边集导出的子图,简称为G的边导出子图,记为.
5. 路和圈
途径(walk):图G中一个点边交替出现的序列。
迹(trail):边不重的途径。
路(path): 顶点不重复的迹。
(注:简单图中的路可以完全用顶点来表示,)
闭途径(closed walk):起点和终点相同的途径。
闭迹(closed trail):起点和终点相同的迹,也称为回路(circuit).
圈(cycle): 起点和终点相同的路。
注:
(1)途径(闭途径)、迹(闭迹)、路(圈)上所含的边的个数称为它的长度。
(2)简单图G中长度为奇数和偶数的圈分别称为奇圈(odd cycle)和偶圈(even cycle)。
(3)对任意,从x到y的具有最小长度的路称为x到y的最短路(shortest path),其长度称为x到y的距离(distance),记为。
(4)图G的直径(diameter): .
(5)简单图G中最短圈的长度称为图G的围长(girth),最长圈的长度称为图G的周长(circumference)。
例1.1.2 设G是一个简单图,若,则G中必含有圈。
证明:设G中的最长路为。因,故存在与相异的顶点v与

相邻。若,则得到比P更长的路,这与P的取法矛盾。因此必定,从而G中有圈。证毕。
例1.1.3 设G是简单图,若,则G必有偶圈。
证明:设是G的最长路。
因为, 所以存在两个与相异的顶点与相邻。必都在路P上,否则会得到比P更长的路。无妨设。
若中有奇数,比如i是奇数,则路P上到的一段与边构成一个偶圈;
若都是偶数,则路P上到的一段与边及构成一个偶圈。证毕。
例1.1.4设G是简单图,若,则G中各个圈长的最大公因数是1或2。
证明:由上例知,G中有长分别为和的圈。若,三数有公因数,则,于是,这是不可能的。因此,三数的公因数必不超过2。从而各个圈长的最大公因数是1或2。证毕。
6. 二部图
二部图 (bipartite graph):若图G的顶点集可划分为两个非空子集X和Y,使得任一条边都有一个端点在X中,另一个端点在Y中,则称G为二部图(或偶图),记为G=,称为G的一个划分。
完全二部图(complete bipartite graph):在二部图中,若X的每个顶点与Y的每个顶点有边连接,则称G为完全二部图;若,,则记此完全二部图为。
定理1.1.2一个图是二部图当且仅当它不含奇圈。
证明: 必要性:设是二部图的一个圈。无妨设,由二部图的定义知,,,,一般地,,,()。又因,故,因而k是奇数。注意到圈C上共有条边,因此是偶圈。
充分性:设G不含奇圈。取,令
,。
任取一条边,欲证分属于X和Y。设P,Q分别是u到的最短路。
(1)如果或,则到u的距离奇偶性相反,分属于X和Y。
(2)否则,设是P与Q的最后一个公共顶点,因P的段和Q的段都是u到的最短路,故这两段长度相等。
假如P,Q的奇偶性相同,则P的段和Q的段奇偶性相同,这两段与边e构成一个奇圈,与定理条件矛盾。可见P,Q的奇偶性不同,从而分属于X和Y。
这便证明了G是一个二部图。 证毕。
7. 连通性
图中两点的连通:如果在图G中u,v两点有路相通,则称顶点u,v在图G中连通。
连通图(connected graph):图G中任二顶点都连通。
图的连通分支(connected branch, component):若图G的顶点集V(G)可划分为若干非空子集,使得两顶点属于同一子集当且仅当它们在G中连通,则称每个子图为图G的一个连通分支()。
注:(1)图G的连通分支是G的一个极大连通子图。
 (2)图G连通当且仅当。
例1.1.5设有2n个电话交换台,每个台与至少n个台有直通线路,则该交换系统中任二台均可实现通话。
证明:构造图G如下:以交换台作为顶点,两顶点间连边当且仅当对应的两台间有直通线路。问题化为:已知图G有2n个顶点,且,求证G连通。
事实上,假如G不连通,则至少有一个

连通分支的顶点数不超过n。在此连通分支中,顶点的度至多是。这与矛盾。证毕。
例1.1.6若图中只有两个奇度顶点,则它们必连通。
证明:用反证法。假如u与v不连通,则它们必分属于不同的连通分支。将每个分支看成一个图时,其中只有一个奇度顶点。这与推论1.1.1矛盾。证毕。
8. 图的同构
由前已知,同一个图有不同形状的图示。反过来,两个不同的图也可以有形状相同的图示。比如:






可见和的顶点及边之间都一一对应,且连接关系完全相同,只是顶点和边的名称不同而已。这样的两个图称为是同构的(isomorphic)。
从数学上看,同构的两个图,其顶点间可建立一一对应,边之间也能建立一一对应,且若一图的两点间有边,则在另一图中对应的两点间有对应的边。严格的数学定义如下。
定义1.1.1 两个图与,如果存在两个一一映射:
,,
使得对任意,都有且,则称图G与H同构。记为.
9. 图的矩阵表示
(1)关联矩阵

其中表示顶点与边关联的次数。
(2)邻接矩阵

其中表示顶点与相邻的次数。
例1.1.7





,。
可见:(1)M(G)和A(G)的元素是0,1或2。若G是简单图,则只有0和1;
(2)A(G)是对称矩阵;
(3)M(G)中每列之和=2;M(G)中第i行之和=vi的度;
若G中无环边,则A(G)中第i行(列)之和=M(G)中第i行之和=vi的度。
图在计算机上处理时,可以以关联矩阵或邻接矩阵的形式存于计算机中。因邻接矩阵比关联矩阵小又是对称矩阵,故通常使用邻接矩阵的上三角部分。

§1.2 最短路问题
一、赋权图
对图G的每条边e,赋以一个实数w(e),称为边e的权。每个边都赋有权的图称为赋权图。
权在不同的问题中会有不同的含义。例如交通网络中,权可能表示运费、里程或道路的造价等。
设H是赋权图G的一个子图,H的权定义为=,特别地,对G中一条路P,P的权为=。
二、最短路问题
给定赋权图G及G中两点u, v,求u到v的具有最小权的路(称为u到v的最短路)。
注:赋权图中路的权也称为路的长,最短(u,v)路的长也称为u,v间的距离,记为d(u,v)。
最短路问题是一个优化问题,属于网络优化和组合优化的范畴。对这种优化问题的解答一般是一个算法。最短路问题有很多算法,其中最基本的一个是Dijkstra算法。


三、Dijkstra算法
1. 算法思想
若路是从到的最短路,则必是到的最短路。基于这一原理,算法由近及远地逐次求出到其它各点的最短路。
下面通过例子说明具体做法。







(1)令,,求到中最近点的

最短路,结果找到。
(2)令,,求到中最近点的最短路。此时除了考虑到的直接连边外,还要考虑通过向的连边,即选取中一点使得
。(*)
结果找到。
一般地,若以及相应的最短路已找到。则可应用(*)式来选取新的,获得到的最短路。
2.算法实现-标号法
标号方法:
初始时,,,()。然后算法逐步修改中顶点的标号。
第i步时,。
Dijkstra算法:
Step1. Let ,,(), and 。
Step2. for every ,。Take such that 。Denote the vertex by , let 。
Step3. if , then stop, else, , go to step 2.
3. 算法有效性
一个图论算法称为是有效算法(或好算法),如果在任何图上施行这个算法所需要的计算量(时间复杂性)都可由和的一个多项式为其上界。Dijkstra算法是好算法。它的计算量为。全部迭代过程需要做次加法和次比较。
(step2中第1式需要次加法,次比较。第2式需要次比较。而)。
§1.3 树及其性质
不含圈的图称为森林,不含圈的连通图称为树(tree)。
定理1.3.1 下列命题等价:
(1) G是树;
(2) G中无环边且任二顶点之间有且仅有一条路;
(3) G中无圈且;
(4) G连通且;
(5) G连通且对任何,不连通;
(6) G无圈且对任何,恰有一个圈。
证明:(1)(2)
G是树G连通,存在路。
若还存在一条路,则必存在w,w是路P与除了v之外最后一个公共顶点。P的段与的段构成圈,这与G是树矛盾。故只存在唯一的路。
(2)(3)
若G有圈,则此圈上任二顶点间有两条不同的路,与前提条件矛盾。
下面用归纳法证明。
时,,结论真。
假设时结论真,我们来证明当时,也有成立。
当时,任取。考虑图,因G中u、v间只有一条路,即边uv,故不连通且只有两个连通分支,设为。注意到分别都连通且任二顶点间只有一条路,由归纳法假设,,。因此

归纳法完成。
(3)(4)
用反证法。若G不连通,设是其连通分支(),则(因是连通无圈图,由已证明的(1)和(2)知,对每个,(3)成立)。这样,,这与矛盾。
(4)(5)
,但每个连通图必满足(见下列命题),故图不连通。
命题 若图H连通,则。
证明:对做数学归纳法。
时,显然成立。
假设的连通图都。
对于的连通图H,任取,考虑。
若连通,则由归纳假设,,而

若不连通,设是其连通分支()。由归纳假设,,()。故

而。
归纳法完成。
(5)(6)
先证G中无圈:若G中有圈,删去圈上任一边仍连通,矛盾。
再证对任何,恰含一个圈:因G连通且已证G

无圈,故G是树。由(2),任二不相邻顶点间都有一条路相连,故中必有一个含有e的圈;另一方面,若中有两个圈含有e,则()中仍含有一个圈,矛盾。
(6)(1)
只需证G连通。任取,若u、v相邻,则u与v连通。否则,恰含一个圈,故u与v在G中连通。由u、v的任意性,图G连通。
定理证毕。
推论1.3.1 非平凡树至少含两个1度顶点(叶子)。
证明:设T是一个非平凡树。因T连通,故对每个顶点,都有。若对所有都有,则。但另一方面,。这两方面矛盾。故T至少有一个1度顶点,设为u。除此之外,其余个顶点的度数之和为。若这些点的度都大于或等于2,则其度数之和。这与矛盾。故除u之外T还至少有一个度为1 的顶点。证毕。
§1.4 生成树与最小生成树
一、生成树(spanning tree)
定义1.4.1 设T是图G的一个子图,如果T是一棵树,且,则称T是G的一个生成树。
定理1.4.1 每个连通图都有生成树。
证明:设G是一个连通图。令是G的连通子图且。易见A非空。从A中取边数最少的一个,记为T。下证T是G的生成树。显然只需证明T是树即可。
事实上,已知T连通,下证T无圈。
若T有圈C,则去掉C上任一条边e,仍连通。从而。但比T少一条边,这与T的取法矛盾。证毕。
推论1.4.1 若G连通,则。
证明:取G的生成树T,则。证毕。
二、最小生成树问题
问题描述:在赋权图G中,求权最小的生成树。即:求G的一棵生成树T,使得

算法:
1. Kruskal算法
step1. take such that .
Step2. find such that
(1) G[{}] does not contain any cycle, and
(2) is the one with minimum weight that meet (1).
Step3. if i+1 =, stop; else, , go to step2.
定理1.4.2 设是Kruskal算法获得的边,则边导出子图G[{}]是G的最小生成树。
证明:记 G[{}]。显然无圈,因此是森林。设它有w个连通分支,则。但是G的子图,故,于是

由定理1.3.1的(3),是一棵树,从而是G的一棵生成树。
下证其最优性,用反证法。
假设不是权最小的生成树(下称最优树)。
对G的任一棵生成树T,记且。选取一棵使最大的最优树,记为。(不会是)。设。由的定义,既在上也在上,但不在上。因此含有一个圈C。C上必有一条边。显然也是一棵生成树,且。
按照算法,是使G[{}]中无圈的边中权最小的。注意G[{}] 是的子图,也无圈。故由算法规则知:。由前式,,这说明也是最优树,但(注意由于在上且,故)。这与的取法矛盾。证毕。
例1.4.1 欲建设一个连接5个城市的光纤通信网络。各城市间线路的造价如图所示,求一个使总造价最少的

线路建设方案。





2. Prim算法
step1. 任取,令,,。
step2. 求到间权最小的边,设的属于的端点为,令,。
Step3. 若,停止;否则,令,继续step2。











习题一
1. 证明:。
2. 如果,则连通图G至少有两个1度顶点。
3. 如果,则存在使得。
4. 在k度正则图G中,。
5. 晚会上大家握手言欢。证明:握过奇数次手的人必有偶数个。
6. n个运动队进行一项竞赛。已赛完局。试证一定存在一个队至少参加过3局比赛。


习题二
1. 证明:若G是完全二部图,则。
2. 证明:若是一个k度正则二部图,则。
3. 若G是简单图且,则G有长为k的路。
4. 证明连通图中两条最长路必有公共顶点。
5. 设G是直径为2的简单图,且,则。
6. 的简单图必含有长至少为的圈。
7. 若,则G中必有圈。

习题三
1. 不含圈的图称为森林(forest),证明:
(1) G是森林当且仅当;(2)无孤立点的森林至少有2w个1度顶点。
这里w表示G的连通分支数,孤立点指零度顶点。
2. 证明非平凡树中最长路的起点和终点都是叶子(1度点)。
3. 恰有两个叶子的树必是路。
4. 若G是树且,则G至少有k个1度顶点。
5. 证明每个树都是二部图。
6. 修改Kruskal算法用以:
(1)求赋权连通图中的最大权生成树;(2)求不连通赋权图中的最小权生成林。


课外阅读:
[1] 阅读参考书上有关内容。
[2] D. Jungnickel, Graphs, Networks and Algorithms, (Algorithms and Computation in Mathematics, Vol.5), Springer, 1998, 第3章、第4章。
[3] N.Deo and N.Kumar, Computation of Constrained Spanning Trees: A Unified Approach, in Network Optimization (P.M. Pardalos, D.W. Hearn and W.W. Hager editors.), Lecture Notes in Economics and Mathematical Systems 450, Springer-Verlag, 1997.
[4] M.R. Henzinger and V. King, Maintaining minimum spanning forests in dynamic graphs, SIAM J. Computing, 31:2(2001), pp364-374.
[5] Guoliang Xue and Shangzhi Sun, Optimal multicast tree in communication systems with channel capacities and channel reliabilities, IEEE Transactions on Communications, 47:5(1999), pp662-663.




1



相关文档
最新文档