利用图论知识解决实际问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
淮北师范大学
2013届学士学位论文
利用图论知识解决实际问题的方法探
究
学院、专业数学科学学院数学与应用数学
研究方向离散数学
学生姓名杨波
学号20091101179
指导教师姓名刘楠楠
指导教师职称讲师
2013年3月25日
利用图论知识解决实际问题的方法探究
杨波
(淮北师范大学数学科学学院,淮北,235000)
摘要
图论是数学的一个分支,是近年来发展迅速而又应用广泛的一门新兴学科。
随着科学的进步,图论知识越来越贴近于生产和生活,所以利用图论知识来解决实际问题又成为当今的一大热点。
着色、绘图、运输最短路径、集合等都与图论知识离不开。
本课题将重点利用图论知识来解决实际生活、生产中的问题。
本文首先介绍了图的基本概念,对图论所涉及的基本知识进行简单的阐述,使读者对图论知识有一定的了解;再介绍图论中两种特殊的图形:欧拉图和哈密顿图,并用它们分析如何解决最短路问题和货郎担问题;然后介绍着色问题以及其与实际生活的联系;最后通过实例来说明图论知识在日常生产、生活中的运用。
关键词图论,欧拉图,哈密顿图,最短路径,着色问题, 应用
The method of using graph theory knowledge to solve practical problems
Yang Bo
(College of Mathematical Science, Huaibei Normal University, Huaibei, 235000)
Abstract
Graph theory is a branch of mathematics that has been developed rapidly and used widely in recent years. With the progress of science, graph theory is increasingly close to the production and life, so using the knowledge of graph theory to solve practical problems has become a focus today. Coloring, drawing, the shortest path of transportation cannot be separated from graph theory knowledge. The article lays press on the using of graph theory to solve the practical problems in production knowledge in real life.
This article first introduces the basic concept of graph, and make a further introduction to the basic knowledge of graph theory which involved a simple elaboration, then the reader can have a certain knowledge of graph theory knowledge; Then two kinds of special graphics are referred to: the Eulerian graph and Hamiltonian graph, along with their analysis of how to solve the problem of the short circuit and traveling salesman problem. Then the article discuss the coloring problem and its links with real life; Finally by an example to illustrate the application of graph theory knowledge in daily life and production.
Keywords Graph theory, Eulerian graph, Hamiltonian graph, shortest paths,coloring, application
目录
引言 (1)
(一)预备知识 (1)
1 图的基本概念 (1)
2 通路与回路 (4)
3 图的连通性 (6)
4 图的矩阵表示 (8)
(二)欧拉图与哈密顿图 (10)
1 欧拉图 (10)
2 哈密顿图. (10)
3 最短路问题与货郎担问题. (13)
(三)着色 (16)
1 点着色 (16)
2 边着色 (16)
(四)图论知识在实际生活、生产中的应用 (18)
1 哥尼斯堡七桥问题 (18)
2 哈密顿图的实际应用 (19)
3 教师如何分配课时问题 (20)
结论 (21)
参考文献 (21)
致谢 (23)
引言
在现实生活中,我们会遇到很多复杂的问题,介于此我们希望用到我们所学过的数学方法去简化它,优化它和解决它。
图论知识就是一个很好的工具,将实际问题化为图后,我们能清楚的观察到整个局面,方便我们进行具体的分析。
所以研究和总结图的应用算法是件有意义且必要的事情。
本课题将着重通过图论知识来解决实际生活、生产中所遇到的着色,最短路径,绘图等问题。
通过其在实际生活中的应用,来认识图论知识在学习中的重要性。
(一)、预备知识
在日常生活、生产活动及科学研究中,人们常用点表示事物,用点与点之间是否有连线表示事物之间是否有某种关系,这样构成的图形就是图论中的图。
其实,集合论中二元关系的关系图都是图论中的图。
在这些图中,人们只关心是否有连线,而不关心点的位置,以及连线的曲直,这就是图论中图与几何学中图形的本质区别,下面我们先来介绍图论中图的一些基本概念,再对来研究用图论知识解决实际问题的方法。
1图的基本概念
定义1.1 一个无向图G是一个有序的二元组,
<>,其中
V E
(1)V是一个非空有穷集,称为顶点集,其元素称为顶点或结点。
(2)E是无序积V&V的有穷多重子集(元素可以重复出现的集合称为多重集合。
某元素重复的次数称为该元素的重复度。
),称为边集,其元素称为无向边,简称为边。
定义1.2 一个有向图G是一个有序的二元组,
V E
<>,其中
(1)V是一个非空有穷集,称为顶点集,其元素称为顶点或结点。
(2)E是笛卡尔积V V
⨯的有穷多重子集,称为边集,其元素称为有向边,简称边。
通常用图形来表示无向图和有向图:用小圆圈(或实心点)表示顶点,用顶点之间的连线表示无向边,用带箭头的连线表示有向边。
例1.1 (1)给定无向图,G V E =<>,其中12345{,,,,}V v v v v v =,
1112{(,),(,),E v v v v = 2323251545(,),(,),(,),(,),(,)}v v v v v v v v v v ,根据定义画出无向图,如图1.1中(a ). (2)给定有向图,D V E =<>,其中,{,,,}V a b c d =,{,,,,E a a a b =<><>
,,,,,,,,,}a b a d d c c d c b <><><><><>;根据定义画出有向图,如图1.1中(b ).
图1.1
与定义1.1和1.2有关的还有下面一些概念和规定: 1. 顶点数称为图的阶,n 个顶点的图称为n 阶图.
2. 一条边也没有的图称为零图.n 阶零图记为n N .1阶零图1N 称为平凡图.平凡图只有一个顶点,没有边.
3. 当用图形表示图的时候,如果给每一个顶点和每一条边指定一个符号(字母或数字,当然字母还可以带下标),则称这样的图标定图,否则称为非标定图.
定义1.3 在无向图中,如果关联一对顶点的无向边多于1条,则称这些边为平行边,平行边的条数称为重数。
在有向图中,如果关联一对顶点的有向边多于1条,
并且这些边的始点与终点相同(也就是它们的方向相同),则称这些边为平行边。
例如在图1.1中,()a 中5e 与6e 是平行边,在()b 中,2e 与3e 是平行边,而6e 与
7e 不是平行边。
()a ,()b 两个图不是简单图。
3
v 4
v 1
v 2v 5
v 1e 2
e 3e 4
e 5
e 6e 7
e 1
e 2e 3
e 4
e 5
e 6
e 7
e a b
c
d
()
a ()
b
例1.2 先将图1.2中各图的顶点标定顺序,然后写出各图的集合表示.
图1.2
解 图1.2中(a )、(b )的顶点标定顺序如下图所示
(a )的集合表示为111,G V E =<>,其中112345{,,,,}V v v v v v =
11223243445{(,),(,),(,),(,),(,)}E v v v v v v v v v v =
(b )的集合表示为222,G V E =<>,其中21V V =
21212233445{(,),(,),(,),(,),(,)}E v v v v v v v v v v =
定义1.4 设,G V E =<>为无向图,v V ∀∈,称v 作为边的端点的次数之和为v 的度数,简称为度,记作()G d v 。
在不发生混淆时,略去下标G ,简称为()d v 。
设
,D V E =<>为有向图,v V ∀∈,称v 作为边的始点的次数之和为v 的出度,记作
()v d v -,简称()d v -。
称v 作为边的始点的次数之和为v 的入度,记作()D d v +
,简称()d v +。
称()d v -
+()d v +为v 的度数,记作()D d v ,简记作()d v
.
()
a ()
b 1v 1
v ()
a ()
b 2
v 2
v 3
v 3
v 4
v 4
v 5
v 5
v
定义1.5 设,G V E =<>为一个n 阶无向图,12{,,,}n V v v v =⋅⋅⋅,12(),(),d v d v
,()n d v ⋅⋅⋅为G 的度数列.对于顶点标定的无向图,它的度数列是唯一的.反之,对于
对于给定的非负整数列12(,,,)n d d d d =⋅⋅⋅,若存在以12{,,,}n V v v v =⋅⋅⋅为顶点集的n 阶无向图G ,使得()i i d v d =,则称d 是可图化的.特别地,若所得到的图是简单图,则称d 是可简单图化的.
下面关于图的度数给出两个结论。
定理1.1[5]
非负整数列12(,,,)n d d d d =⋅⋅⋅是可图化的当且仅当1
n
i i d =∑为偶数.
定理1.2[5] 设G 为任意n 阶无向简单图,则()1G n ∆≤-(在无向图G 中,
()G ∆=max{()|()}d v v V G ∈).
定义1.6 设111,G V E =<>,222,G V E =<>为两个无向图(两个有向图),若存在双射函数12:f V V →使得,11,,(,)i j i j v v V v v E ∀∈∈当且仅当2((),())i j f v f v E ∈
1(,i j v v E <>∈当且仅当2(),())i j f v f v E <>∈,并且(,)i j v v 与((),())i j f v f v (,i j v v <>与(),())i j f v f v <>的重数相同,则称1G 与2G 同构,记作12G G ≅.
定义1.7 设G 为n 阶无向简单图,若G 中每个顶点均与其余的1n -个顶点相
邻,则称G 为n 阶无向完全图,简称n 阶完全图,记作(1)n K n ≥.
2 通路与回路
定义2.1 设G 为无向标定图,G 中顶点与边的交替序列0112l l i j i j j i v e v e e v Γ=⋅⋅⋅称为0i v 到l i v 的通路,其中1,r r i i v v -为r j e 的端点,01,2,,,,l i i r l v v =⋅⋅⋅分别称为Γ的始点与终点,Γ中边的条数称为它的长度。
若又有0l i i v v =,则称Γ为回路。
若Γ的所有边各异,则称Γ为简单通路。
若又有0l i i v v =,则称Γ为简单回路。
若所有顶点(除0
i v
与l i v 可能相同外)各异,所有边也各异。
则称Γ为初级通路或路径。
若又有0l i i v v =,则称Γ为初级回路或圈。
将长度为奇数的圈称为奇圈,长度为偶数的圈称为偶圈。
注意,在初级通路与初级回路的定义中,仍将初级回路看成初级通路(路径)的特殊情况,知识在应用中的初级通路(路径)都是始点与终点不相同的,长为1的圈智能由环生成,长为2的圈只能由平行边生成,因而在简单无向图中,圈的长度至少为3.
另外,若Γ中有边重复出现,则称Γ为复杂通路.若又有0l i i v v =则称Γ为复杂回路.
定理2.1[5] 在n 阶图G 中,若从顶点u 到v ()u v ≠存在通路,则从u 到v 存在长度小于或等于(1)n -的通路.
推论[5] 在n 阶图G 中,若从顶点u 到v ()u v ≠存在通路,则从u 到v 一定存在长度小于或等于(1)n -的通路(路径).
定理2.2[5] 在n 阶图G 中,若存在v 到自身的回路,则一定存在v 到自身长度小于或等于n 的回路.
推论[5] 在n 阶图G 中,若存在v 到自身的简单回路,则一定存在v 到自身长度小于或等于n 的初级回路.
例2.1 无向完全图(3)n K n ≥中有几种非同构的圈?
解 长度相同的圈都是同构的,因而只有长度不同的圈才是非同构的.易知
(3)n K n ≥中含长度为3,4,,n ⋅⋅⋅的圈,所以(3)n K n ≥中有2n -种非同构的圈.
长度相同的圈都是同构的,因此在同构意义下给定长度的圈只有一个.在标定图中,圈表示成顶点和边的标记序列.如果只要两个标记序列不同,就认为这两个圈不同,称这两个圈在定义意义下不同.
例2.2 无向完全图3K 的顶点依次标定为,,a b c .在定义意义下3K 有多少个不同的圈?
解 在同构意义下,3K 中只有一个长为3的圈.但在定义意义下,不同起点(始
点)的圈是不同的,顶点间排列顺序不同的圈也看成是不同的,因而3K 中有6个不同的长为3的圈:abca ,acba ,bacb ,bcab ,cabc ,cbac .如果只考虑起点(终点)的差异,而不考虑顺时针逆时针的差异,应该有3种不同的圈,当然它们的长度都是3.
3 图的连通性
定义3.1 设无向图,G V E =<>,若,u v V ∈之间存在通路,则称,u v 是连通的,记作~u v .规定:,v V ∀∈~v v .
若无向图G 是平凡图或G 中任何两个顶点都是连通的,则称G 为连通图,否则称G 为非连通图.
定义3.2 设无向图,G V E =<>,i V 是V 关于顶点之间的连通关系~的一个等价类,称导出子图[]i G V 为G 的一个连通分支.G 的连通分支数记为()p G . 定义3.3 设,u v 为无向图G 中任意两个顶点,若~u v ,则称,u v 之间长度最短的通路为,u v 之间的短程线.短程线的长度称为,u v 之间的距离,记作(,)d u v .当,u v 不连通时,规定(,)d u v =∞.
距离有以下性质:,,()u v w V G ∀∈,
1. (,)0d u v ≥,且当且仅当u v =时等号成立.
2. 具有对称性:(,)(,)d u v d v u =.
3. 满足三角不等式:(,)(,)(,)d u v d v w d u w +=.
定义3.4 设无向图,G V E =<>,若存在'E E ⊆使得'()()p G E p G ->,且对于任意的'''E E ⊂,均有''()()p G E p G -=,则称'E 是G 的边割集,或简称为割集.若
'{}E e =,则称e 为割边或桥.
定义3.5 设G 为无向连通图且不是完全图,则称
''()min{|||G V V κ=为G 的点割集}.
为G 的点连通度,简称连通度.()G κ有时简记为κ.规定完全图(1)n K n ≥的点连通度为1n -,非连通图的点连通度为0.又若()G k κ≥,则称G 是k -连通的,k 为非负整数.
例图3.1中图的点连通度为1,此图为1-连通图,5K 的点连通度4κ=,所以5K 是
1-连通图,2-连通图.3-连通图,4-连通图.
定义3.6 设G 是无向连通图,称
''()min{|||G E E λ=为G 的边割集}
为G 的边连通度.()G λ有时简记为λ.规定非连通图的边连通度为0.又若
()G r λ≥,则称r 边-连通图.
例3.1 求图3.2所示各图的点连通度和边连通度,并指出它们各是几连通图及几边连通图,最后将它们按点连通程度及边连通程度排序.
图3.2
解 设第i 个图的点连通度为i κ,边连通度为,1,2,,8.i i λ=⋅⋅⋅容易看出,
114
κλ==,
223
κλ==,
332
κλ==,
441
κλ==,
51
κ=
,
()
a ()
b ()
c ()
d ()
e ()
f ()
g ()
h
52λ=,662κλ==,770κλ==,880κλ==. ()a 是k -连通图,k 边-连通图,1,2,3,4.k = ()b 是k -连通图,k 边-连通图,1,2,3.k = ()c 是k -连通图,k 边-连通图,1,2.k = ()d 是1-连通图,1边-连通图. ()e 是1-连通图,k 边-连通图,1,2.k = ()f 是k -连通图,k 边-连通图,1,2.k = ()g 是0-连通图,0边-连通图. ()h 是0-连通图,0边-连通图.
点连通程度为:()()()()()()()()a b c f d e g h >>=>=>=. 边连通程度为:()()()()()()()()a b c e f d g h >>==>>=.
定义3.7 设无向图,G V E =<>,若能将V 划分成1V 和2V (即12V V V ⋃=, 12V V ⋂=∅且12,V V ≠∅≠∅),使得G 中的每条边的两个端点都是一个属于1V ,另一个属于2V ,则称G 为二部图,称1V 和2V 为互补顶点子集,常将二部图G 记为 12,,V V E <>.又若G 是简单二部图,1V 中每个顶点均与2V 中所有顶点相邻,则称G 为完全二部图,记为,r s K ,其中12||,||r V s V ==.
4 图的矩阵表示
图可以用集合来定义,但多半用图形来表示,还可以用矩阵来表示。
用矩阵表示图便于用代数方法研究图的性质。
为了用矩阵表示图,必须指定顶点或边的顺序,使其成为标定图。
定义4.1 设无向图,G V E =<>,12{,,,}n V v v v =⋅⋅⋅,,令ij m 为顶点i v 与边j e 的关
联次数,则称()ij n m m ⨯为G 的关联矩阵,记作()M G 。
定义2 设有向图,D V E =<>中无环,12{,,,}n V v v v =⋅⋅⋅,12{,,,}m E e e e =⋅⋅⋅,令
1,0-1i ij i i v m v v ⎧⎪
=⎨⎪⎩
j j j 为e 的始点,与e 不关联,是e 的终点
则称()ij n m m ⨯为D 的关联矩阵,记作()M D 。
图4.1所示图D 的关联矩阵为
1100011100()0001100111M D -⎡⎤⎢⎥
-⎢
⎥=⎢⎥⎢⎥---⎣⎦
图4.1
()M D 有如下各条性质:
1. 每一列恰好有一个1+和一个1-.
2. 1-的个数等于1+的个数,都等于边数m ,这正是有向图握手定理的内容.
3. 第i 行中,1+的个数等于()i d v +,1-的个数等于()i d v -.
4. 平行边所对应的列相同.
例4.1 图4.2的完全关联矩阵为:
11101100()00110
001M G ⎛⎫
⎪
⎪
= ⎪
⎪
⎝⎭
1
v 2
v 4
v 3
v 2
e 1
e 3
e 4
e 5
e 1v 2
v 3
v 4
v 1
e 2
e 3
e 4e
图4.2
设,
=<>是无向图,G的完全关联矩阵有如下性质:
G V E
1.每列元素之和为
2.这说明每条边关联两个结点.
2.每行元素之和是对应结点的度数.
3.所有元素之和是图中各结点度数的总和,也是边数的2倍.
4.两列相同则对应的两条边是平行边.
5.某行元素全为0,则对应的结点为孤立点.
(二)欧拉图与哈密顿图
1 欧拉图
定义1.1 通过图(无向图或有向图)中所有边一次且仅一次行遍所有顶点的通路称为欧拉通路.通过图中所有边一次仅一次行遍所有顶点的回路称为欧拉回路.具有欧拉回路的图称为欧拉图.具有欧拉通路而无欧拉回路的图称为半欧拉图.
规定平凡图是欧拉图.
下面给出一些判断无向图和有向图是否为欧拉图或半欧拉图的方法[1]。
定理1.1无向图G是欧拉图当且仅当G是连通图且没有奇度顶点.
定理1.2无向图G是半欧拉图当且仅当G是连通图且且恰有两个奇度顶点.
定理1.3 有向图D是欧拉图当且仅当D是强连通的且每个顶点的入度等于出度.
定理1.4 有向图D是半欧拉图当且仅当D是单向连通的且恰有两个奇度顶点,其中一个的入度比出度大1,另一个顶点出度比入度大1,而其余顶点的入度等于出度.
定理1.5 G是非平凡的欧拉图当且仅当G是连通的且是若干个边不重的圈的并.
2 哈密顿图
定义2.1 经过图(有向图或无向图)中所有顶点一次且仅一次的通路称为哈密顿通路.经过图中所有顶点一次且仅一次的回路称为哈密顿回路.具有哈密顿回路的图称为哈密顿图,具有哈密顿通路但不具有哈密顿回路的图称为半哈密顿图.
规定平凡图是哈密顿图.
下面给出无向图或有向图为哈哈密顿图的一些充分或必要条件。
定理2.1[5] 设无向图,G V E =<>是哈密顿图,则对于任意1V V ⊂且1V ≠∅,均有
11()||p G V V -≤
证 设C 是G 中任意一条哈密顿回路.易知,当1V 中顶点在C 上均不相邻时,
11()||p C V V -<,所以有11()||p C V V -≤.而C 是G 的生成子图,所以有1()p G V -
11()||p C V V ≤-≤.
例2.1 在图2.1中给出的3个图都是二部图,它们中的哪些是哈密顿图?哪些是半哈密顿图?为什么?
(a) (b) (c) 图2.1
解 在(a )中,互补顶点子集12{,},{,,,}V a f V b c d e ==.设此二部图为
112,,G V V E =<>121()||4||2p G V V V -==>=.由定理2.1可知,1G 不是哈密顿图,也
不是半哈密顿图.
设(b )中图为212,,G V V E =<>,其中12{,,,,},{,,,,,}V a g h i c V b e f g k d ==.
a
a
a
b
b
b
c
c
c
d
d
d
e
e
e f f
f
g
g
h
h
i
i
j
k
j
2121()||6||5p G V V V -==>=.由定理2.1可知,2G 不是哈密顿图.而baegjckhfid 是一条哈密顿通路,故2G 是半哈密顿图.
在(c )中,abcdgihjefa 是一条哈密顿回路,所以(c)是哈密顿图.设这个图为312,,G V V E =<>,其中12{,,,,},{,,,,}V a c g h e V b i f d j ==.此处有12||||V V =.
一般情况下,设二部图12,,G V V E =<>,12||||V V ≤,且12||2,|| 2.V V ≥≥由定理2.1可以得出下面结论:
(1) 若G 是哈密顿图,则12||||V V =. (2) 若半哈密顿图,则21||||1V V =+.
(3) 若21||||2V V ≥+,则G 不是哈密顿图,也不是半哈密顿图.
定理2.2[5] 设G 是n 阶无向简单图,若对于G 中任意不相邻的顶点,u v ,均有
()()1d u d v n +≥- 则G 中存在哈密顿通路.
推论 设G 为(3)n n ≥阶无向简单图,若对于G 中任意不相邻的顶点,u v ,均有
()()d u d v n +≥ 则G 中存在哈密顿回路.
定理2.3[5] 设,u v 为n 阶无向简单图G 中两个不相邻的顶点,且
()()d u d v n +≥,则G 为哈密顿图当且仅当(,)G u v ⋃为哈密顿图((,)u v 是加的新
边).
下面我们举例来看哈哈密顿图在实际中的应用。
例2.2 在某次国际会议的预备会中,共有7人参加,他们来自不同的国家.已知他们中任何两个无共同语言的人,与其余由共同语言的人数之和大于或等于7,试证明能将这7个人排在圆桌旁,使其任何人能与两边的人交谈.
解 设7个人分别为127,,,,v v v ⋅⋅⋅作无向简单图,G V E =<>,其中
127{,,,}V v v v =⋅⋅⋅,{(,)|i j i E v v v =与j v 有共同语言,17i j ≤<≤}.G 为7阶无向简单图,()i d v 为与i v 有共同语言的人数.由已知条件,,i j v v V ∀∈且(,)i j v v E ∉,均有
()()7i j d v d v +≥.由定理2.2的推论可知,G 中存在哈密顿回路,设1271i i i i G v v v v =⋅⋅⋅为G 中一条哈密顿回路,按这条回路的顺序安排座次即可.
3 最短路问题与货郎担问题
定义3.1 设图,G V E =<>(无向图或有向图),给定:W E R →,对G 的每一条边e ,称()W e 为边e 的权.把这样的图称为带权图,记作,,G V E W =<>.当e =
(,)u v (,)u v <>,把()W e 记作(,)W u v .
设P 是G 中的一条通路,P 中所有边的权之和称为P 的长度,记作()W P ,即
()
()()e E P W P W e ∈=
∑.类似地,可定义回路C 的长度()W C .
本节考虑带权图上的两个问题——最短路问题和货郎担问题.
设带权图,,G V E W =<>(无向图或有向图),其中每一条边e 的权()W e 为非负实数.,,u v V ∀∈当u 和v 连通(u 可达v )时,称从u 到v 长度最短的路径为从u 到v 的最短路径,称其长度为从u 到v 的距离,记作(,)d u v .约定:(,)0d u v =;当u 和v 不连通(u 不可达v )时,(,)d u v =+∞.
最短路问题:给定带权图,,G V E W =<>及顶点u 和v ,其中每一条边e 的权
()W e 为非负实数,求从u 到v 的最短路径.
不难看出,如果12i i ik uv v v v ⋅⋅⋅是从u 到v 的最短路径,则对每一个(1t t k ≤≤,其中t 表示v 的i 后的下标)12i i il uv v v ⋅⋅⋅是从u 到il v 的最短路径.根据此..E W Dijkstra 于1959年给出下述最短路径算法.
算法给出从顶点的起点s 到每一点的最短路径.在计算过程中,赋予每一个顶点v 一个标号12()((),())l v l v l v =.标号分永久标号和临时标号.在v 的永久标号()l v 中,2()l v 是从s 到v 的距离,1()l v 是从s 到v 的最短路径上v 的前一个顶点.当()l v 为临时标号时,1()l v 和2()l v 分别是当前从s 经过永久标号的顶点到v 的长度最短的路径上v 的前一个顶点和这条路径的长度.
例3.1 货郎担问题(旅行商问题)
有n 个城市,给定城市之间道路的长度(长度可以为无穷大,对应两个城市之间无交通线)。
一个旅行商从某个城市出发,要经过每个城市一次且仅一次,最后回到出发的城市,问如何走才能使他走的路线最短?
这个问题可以用图论方法描述如下:设G=,,V E W <>为一个n 阶完全带权图,各边的权W (e )非负且可以∞.求G 中一条最短的哈密顿回路.
例如,图3.1(a )给出一个4阶完全带权图4K .不计起点、也不计顺时针和逆时针,只有3条不同的哈密顿回路:
1C =a b c d a 2C =a b d c a 3C =a c b d a
分别如(b),(c),(d)所示,其长度分别为8,10,12.因此,1C 是所求的最短路线.
()
a ()
b
图3.1
至今还没有找到解决货郎担问题的有效算法,还需要我们继续探讨.
例1 求图3.2所示带权图5K 中的货郎担问题(即求图中的最短的哈密顿回路). 解 由于完全图中共存在(1)!n -条不相同的哈密顿回路.在完全带权图n K 中,
设顶点分别为12,,,n v v v ⋅⋅⋅,回路1211n n v v v v v -⋅⋅⋅与回路1321n v v v v v ⋅⋅⋅的权相同,因而仅
要考虑
(1)!
2
n -条哈密顿回路.在图3.2中5n =,因此共有12条回路.分别求出这12条回路的权,其中权最小的即为最短的哈密顿回路.
图3.2 设 :
1C abcdea =,其权1()36W C =
()
c ()
d a
b
c
d
e
5
5
8
71612
4
9
98
2C abceda =,其权2()42W C = 3C abdcea =,其权3()42W C = 4C abdeca =,其权4()48W C = 5C abedca =,其权5()42W C = 6C abecda =,其权6()42W C = 7C acbdea =,其权7()41W C = 8C acbeda =,其权8()41W C = 9C acdbea =,其权9()41W C = 10C acebda =,其权10()47W C = 11C adbcea =,其权11()41W C = 12C adcbea =,其权12()35W C =
从结果可知,最短哈密顿回路为12C adcbea =,其权12()35W C =.
至今还没有找到求解货郎担问题的快速算法,当n 较大时,计算量会迅速的增加.
(三) 平面图的着色问题
图着色问题的研究起源于四色猜想,着色问题包含点着色,边着色和地图着色
等.点着色和边着色都是对无环的无向图进行的,下面我们着重介绍点着色和边着色
1 点着色
定义1.1 设无向图G 无环,对G 的每个顶点涂一种颜色,使相邻的顶点涂不同的颜色,称为图G 的一种点着色,简称着色。
若能用k 种颜色给G 的顶点着色,
则称G 是k —可着色的。
若G 是k —可着色的,但不是(1)k -—可着色的,则称G 的色数为k 。
G 的色数记作()G χ,简记作χ。
定义1.2 对地图G 的每个国家涂上一种颜色,使相邻的国家涂不同的颜色,称为对地图G 的面着色。
若能够用k 种颜色给G 的面着色,则称G 是k —可面着色的。
若G 是k —可面着色的,但不是(1)k -—可面着色的,则称G 的面色数为k 。
G 的面色数记作*()G χ,简记作*χ。
2 边着色
定义2.1 对图G 的每条边着一种颜色,使相邻的边着不同的颜色,称为对图
G 的边着色。
若能用k 种颜色给G 的边着色,则称G 是k —可边着色的。
若G 是k
—可边着色的,但不是(1)k -—可边着色的,则称G 的边色数为k 。
G 的边色数记作'()G χ,简记作'χ。
定理2.1(Vizing 定理) 简单图的边色数只可能取两个值:∆或者1∆+. 定理2.2
'()n W χ=n -1,其中n ≥4.
证明 当n=4或5时,不难用3种颜色和4种颜色分别给4W 和5W 的边着色.
如图4所示。
又它们的∆分别为3和4,因此由Vizing 定理得证结论正确。
图2.1
当n ≥6时,n W 中间顶点关联的n -1条边用n —1种颜色着色,而外圈上的每一条边都与4条边相邻,总可以从这n -1≥5种颜色中找到一种颜色给它着色,所以'()1n K n χ≤-,又由Vizing 定理,'()()1n n K W n χ≥∆=-,得证'()1n K n χ=-. 定理2.3 当(1)n n ≠为奇数时'()n K n χ=,而当n 为偶数时,'()1n K n χ=-
.
()
a ()
b
证明: n 为奇数且1n ≠,由Vizing 定理可知,'()1n K n χ≤∆+=.下面证明
'()n K n χ≥.
如下画n K :先画正n 边形n C ,将n C 上不相邻得顶点之间都连线段就得到n K .
在n K 中共有n 组平行线,每组12(1)n -条边.1
2(1)n -条平行边关联1n -个顶点,因
而在n K 的边着色中至多有12(1)n -条边同色,故1122(1)'()(1)n n K n n χ-≥-,得
'()
n K n χ≥.
图2.2
n 为偶数时,由Vizing 定理,'()1n K n χ≥∆=-.下面证明'()1n K n χ≤-.
n K 可如下获得:先画出1n K -(1n -为奇数),然后在1n K -的中心放置一个顶点,连
接中心点与1n K -上的所有顶点.6n =时的情况如图5所示.用1'()1n K n χ-=-种颜色给1n K -的边着色,然后给与中心点关联的边着1n K -中与它垂直的边的颜色,就完成了n K 的边着色.
图着色在实际中的应用
设学校共有n 们功课需要进行期末考试,因为不少学生不止选修一门课,所以不能把同一学生选修的两门课放在同一场次进行考试.问期末考试最少需要多少场次才能完成?
解: 我们以每门功课为一个顶点当且仅当两门课被同一学生选修时,在两个顶点之间连一条边,得到一个图G .我们将n 门课程划分为k 个子集12,,,k U U U ⋅⋅⋅两两子集的课程都不相同.每个子集(1)i U i k ≤≤的顶点不相邻,即子集内的任何两门课程都不能被一个学生选修.要求划分的子集数k 最少,即不能将n 门课程划分成
1k -个子集.然后我们对每个子集内的顶点涂一种颜色.同色顶点对应的课程安排在同一场次考试,颜色总数即为考试所需要的场次数,即所求k 的值.
(四)图论知识在实际生活、生产中的运用
例1 哥尼斯堡七桥问题
18世纪中叶在欧洲普鲁士的哥尼斯堡城内有一条贯穿全市的普雷格尔河,河中有两个岛,由七座桥相连(如图1.1中(a )所示).当时一直有一个难题困扰着人们:一个人怎么样不重复的走完七座桥,最后回到出发地点?这就是所谓的哥尼斯堡七桥问题.
(a) (b) 图1.1
很长时间没有人能解决这个问题.1736年,瑞士数学家欧拉发表论文,他用4个点分别表示两个岛和两岸,用连接两点的线段表示桥,如图1.1(b).即用到了图论中所涉及的欧拉图.哥尼斯堡七桥问题就是要求在这个图中走一条欧拉回路.欧拉在这篇论文中证明了定理1.1即无向图G 是欧拉图当且仅当G 是连通图且没有奇度顶点.由于图(b )中4个顶点均是奇度顶点,所以哥尼斯堡七桥问题无解.
欧拉当时发表的论文现在被公认为是第一篇关于图论的论文.这也正是欧拉回路和欧拉图名字的由来.而哥尼斯堡七桥问题中所涉及的欧拉图知识即是图论知识在实际生活中的应用.
例2 哈密顿图的实际应用
现有n 个人,已知他们其中的任意两个人合起来认识其余的2n -个人.证明: (1)当3n ≥时,这n 个人能站成一列使得其中任何两个相邻的人都互相能认识.
(2)当4n ≥时,这n 个人能站成一个圈使得其中任何两个相邻的人都互相能认识.
证 做n 阶无向简单图,G V E =<>,12{,,,}n V v v v =⋅⋅⋅,{(,)|,,i j i j E v v v v V =∈
i j v v ≠且i v 与j v 认识}.由已知条件可知,,i j v v V ∀∈,均有
A
B
B
A
C
C
D
D
()()2i j d v d v n +≥- 1<> 下面讨论i v 与j v 是否认识.
(1)若i v 与j v 认识,则由1<>知
()()22i j d v d v n n +≥-+= 2<>
(2)若i v 与j v 不认识,则对任意的,,i j v V v v v v ∈≠≠,i v 与j v 必与v 都认识.否则,假如i v 与v 不认识,则v 与j v 和i v 都不认识,所以v 与j v 合起来至多认识其余的3n -个人,这与已知条件矛盾.因而 ()()2(2i j d v d v n +≥- 3<>
当3n ≥时,有
2(2)1n n -≥- 4<>
于是,当3n ≥时,由2<>,3<>与4<>式(根据定理2.2)G 中存在哈密顿通路,所有的人按在通路中的顺序排成一列,满足要求. 当4n ≥时,有
2(2)n n -≥ 5<>
所以由2<>,3<>与5<>式(根据定理2.2的推论)G 中存在哈密顿回路,所有的人按在回路中的顺序站成一圈满足要求.
此应用中主要根据哈密顿通路与回路解决实际中的交流问题,使我们更深刻的了解图论知识在日常生活中的作用.
例3 教师如何分配课时问题
某高中一年级有5个班,由4位老师(,,,)A B C D 为他们讲课,周二每位老师为每个班上课的课时如表3.1所示,问此年级周二至少要安排多少节课?需要多少个教室?
表3.1 1班 2班 3班 4班 5班 A 1 0 1 0 0 B 1 0 1 1 0 C 0 1 1 1 1 D 0
1
1
2
解 做二部图12,,G V V E =<>,其中11234{,,,}V v v v v =表示所有4为教师.21,{V u =。