哈密顿图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定义4.3.1 经过图G 的每个顶点恰一次的路称为G 的Hamilton 路,简称为H 路。
经过图G 的每个顶点恰一次的圈称为G 的Hamilton 圈,简称为H 圈。
具有Hamilton 圈的图称为Hamilton 图,简称为H 图。
Hamilton 图的研究起源于一种十二面体上的游戏。
1857 年,爱尔兰著名数学家William Rowan Hamilton 爵士(他也是第一个给出复数的代数描述的人)制作了一种玩具,它是一个木制的正十二面体,在正十二面体的每个顶点上有一个木栓,并标有世界著名城市的名字。
游戏者用一条细线从一个顶点出发,设法沿着十二面体的棱找出一条路,通过每个城市恰好一次,最后回到出发点。
这个游戏当时称为Icosian 游戏,也称为周游世界游戏。
将正十二面体从一个面剖开并铺展到平面上得到的图形如下图所示,称为十二面体图。
周游世界游戏用图论术语来说就是判断十二面体图是否Hamilton 图,并设法找出其Hamilton 圈。
其中一条Hamilton 圈如图中粗边所示。
十二面体图是H 图
判断一个图是否Hamilton 图与判断一个图是否Euler 图似乎很相似,然而二者却有本质
的不同。
目前为止尚没有找到判别一个图是否是Hamilton 图的有效充要条件。
这是图论和计算机科学中未解决的重要难题之一。
本节给出一些经典的充分条件和必要条件。
一、必要条件
定理4.3.1 设G 是二部图,若G 是H 图,则G 必有偶数个顶点。
证明:设G = (X, Y ) ,由于G 的边全在X 和Y 之间,因此如果G 有Hamilton 圈C,则G
的所有顶点全在C 上,且必定是X 的点和Y 的点交替在C 上出现,因此G 必有偶数个顶点。
证毕。
这个定理给出了一个二部图不是Hamilton 图的简单判断条件:如果一个二部图有奇数
个顶点,则它必定不是Hamilton 图。
例如,下列Herschel 图是二部图,但有奇数个顶点,故不是H 图。
Herschel 图不是H 图
定理4.3.2 若G 是H 图,则对V(G)的每个非空真子集S,均有:
连通分支数W(G-S) ≤| S |。
证明:设C 是G 的H 圈,则对V(G)的每个非空真子集S,均有
W(C-S) ≤| S |.
由于C-S 是G-S 的生成子图,故W(G-S)≤W(C-S)≤| S |. 证毕。
利用定理4.3.2 可判断下面(1)中的图不是H 图。
事实上,令S={u, v, w},则
W(G-S) = 4 > | S |。
但无法用该定理给出的必要条件来判断(2)中的Petersen 图不是H 图。
二、充分条件
(1)度型条件
定理4.3.3(Dirac, 1952) 若G是简单图,且ν≥3,δ≥v/2,则G 是Hamilton 图。
证明用反证法:假定定理不真。
令
A = {G |G的顶点数为V≥3,δ≥v/2 ,且G 是非Hamilton 图}。
从A中取出边最多的一个,记为G。
因ν≥3,故不是完全图(否则G是Hamilton 图)。
设
u 和v 是G 的不相邻顶点。
由G 的选择,G+uv 是Hamilton 图。
因G 是非Hamilton 图,故G+uv 的H 圈必经过e = uv。
于是G 中存在以u 为起点v 为终点的Hamilton 路νv1v2.。
v 。
这里v = u ,v v = v 令S={V i|uv i+1∈E}和T={v|v i v∈E}。
由于v v∉S ∪T ,故| S ∪T |<ν,并且| S ∩T |= 0(因为若∃v i∉S ∪T,则G将包含H圈v1v2…v i v v v i-1…v i+1v1,矛盾)。
故d(u) + d(v) =| S | + | T |=| S ∪T | + | S ∩T |<ν,这与δ≥v/2 的前提矛盾。
证毕。
(2) 闭包型条件
Ore 注意到,上述Dirac 定理的证明过程中,条件δ≥v/2 仅仅用来证明对不相邻顶点u,v,有d(u) + d(v) ≥ν成立。
因此可以将图存在Hamilton 圈的条件由δ≥v/2 弱化为d(u) + d(v) ≥ν。
这样便得到下述定理。
定理4.3.4(Ore,1960)[1] 设G是简单图,u 和v 是G中不相邻的顶点,且d(u) + d(v) ≥
ν,则G 是Hamilton 图当且仅当G+uv 是Hamilton 图。
证明:必要性是显然的。
充分性:若G+uv 是Hamilton 图而G 不是,则与定理4.3.3 一样可推出矛盾。
证毕。
Bondy 和Chvátal 用更一般的形式表述了Ore 观察到的实质,得到了图存在长度为k
的圈和其它子图的充分条件( k =υ时便是Hamilton 圈)[2]。
他们用到了闭包的概念。
定义:图G 的闭包(closure)是指由如下方法所得之图:反复连接G 中度之和不小于ν的
不相邻顶点对,直到没有这样的顶点对为止。
图G 的闭包通常记为C(G)。
例如,对下列两图,前一个图的闭包是它自己,后一个图的闭包是完全图K5。
定理4.3.5 G 的闭包C(G)是唯一确定的。
证明:设G1,G2是按闭包构成方法从G所得的两个闭包。
用e1,e 2, …e m和f1, f 2…f n分别表示在构作G1,G2过程中给G 添加边的序列。
我们用反证法来证明每个e i一定是G2 的边,且每个f j一定是G1的边。
假设e1,e 2, …e m中有不属于G 的边,取序列中第一条不属于G2 的边设为e k =uv ,
令
H=G+{e1,e 2, …e k+1}
由G1的定义知,d H(u) + d H (v) ≥ν。
但H也是G2的子图,因此由d H(u) + d H (v) ≥ν知,d G2(u) + d G 2(v) ≥ν。
而由e k的选择,u、v 在G2中是不相邻的,这与G2是闭包矛
盾。
故每条e i都必是G2的边。
同理可证,每条j f 一定是1 G 的边。
这说明图G 的闭包是唯一的。
证毕。
定理4.3.6(Bondy & Chvátal,1976)[2] 一个简单图是Hamilton 图当且仅当它的闭包是Hamilton 图。
证明:在构作闭包过程中,反复运用定理4.3.4 即可。
证毕。
根据该定理,下一个结论是显然的。
推论4.3.1 设G是ν≥3的简单图。
若C(G)是完全图,则G是Hamilton 图。
定理4.3.2 后的例子改动一条边后所得的如下图,可以检验它的闭包是完全图,因而是Hamilton 图。
(3)度序列条件
Chvátal 发现,如果图G 满足:若有某些顶点的度比较小,则就有相应另一些顶点的度 足够大,那么G 就会成为Hamilton 图。
具体来说,设简单图G 的顶点度为d 1≤d 2≤…≤d v 如果对任意正整数
m>v/2 ,要么d m > m ,要么d v -m<v-m ,则G 是Hamilton 图。
这个
结论正式叙述如下。
定理 4.3.7 (Chvátal,1972)[3] 设 G 至少含有3 个顶点的简单图,其度序列为(d 1,d 2…d v 这里d 1≤d 2≤…≤d v 。
若不存在小于v/2的m 使得d m ≤ m 和d v-m <v-m 同时成立,则 G 是Hamilton 图。
证明:设 G 满足定理条件。
我们来证明G 的闭包C(G)是完全图。
用反证法。
假设 C(G)不是完全图。
设u 、v 是C(G)中两个不相邻顶点,满足d (u ) ≤ d (v ),且 d (u ) + d (v )尽可能大。
(d (v )表示v 在C(G)中的度)。
由C(G)的定义,d (u ) +d (v )<υ 。
令
N (u ) = {w ∈V \ {u } | w 在C(G)中与u 不相邻};
N (v ) = {w ∈V \ {v } | w 在C(G)中与v 不相邻};
则()u d N v -
---=1||| N (u ) |=υ −1−d (u ),|N (v ) |=υ−1−d (v )。
记d (u ) = m ,则|N (u ) |=υ −1− m ,|N (v ) |=υ −1− d (v ) >υ −1− (υ − d (u )) = m −1
(1)
另外,由u 、v 的选择(d (u ) + d (v )尽可能大)知,N (u ) ∪{u }中每个顶点在C(G)中的度 不超过d (v )(否则,设v ′∈ N (u ),d (v ′) >d (v ),则d (u ) + d (v ′) > d (u ) + d (v ),
当初应当选择u 和v ′)。
同理,N (v )中每个顶点在C(G)中的度不超过d (u )。
结合(1)式可
知:
C(G)中至少有ν−m个顶点,其度≤d (v) <ν−m ,(比如N(u) ∪{u}中的顶点);C(G)中至少有m 个顶点,其度≤m,(比如N(v)中的顶点);
由于G 是C(G)的子图,故上述结论对G 也成立。
按照度序列的排列方式,便有d m ≤m 和d v-m>v-m,并且m <v/2(因d (u) ≤d (v)及d (u) + d (v) <ν)。
这与定理的条件矛盾。
该矛盾说明C(G)确实是完全图。
由推论4.3.1,G 是Hamilton 图。
证毕。
§4.4 旅行商问题(Travelling Salesman Problem,TSP)
旅行商问题:有n 个城镇。
一个旅行商从某一城镇出发,欲经过其余n −1个城镇一次且仅
一次,最后回到出发点。
他应该如何设计旅行路线,才能使所走路程最短?
图论描述:将城镇作为顶点,两顶点连边当且仅当对应的两城镇能直达,每条边上以道路的里程作为权。
从而获得一个赋权图G。
旅行商问题现在可以叙述为:
给定赋权图G,求G 的一个权最小的Hamilton 圈。
这一问题看似简单,实际上含有两个困难的问题:
(1)如何判定G 是否有Hamilton 圈;
(2)在已知G 是Hamilton 图的情况下,如何求出一个权最小的Hamilton 圈来。
这两个问题目前尚未找到有效算法,甚至不知道这样的有效算法是否存在。
事实上它们
是NPC 问题。
转化:给G 添加权为∞的边,化为赋权完全图。
问题化为:对赋权完全图n K ,求其最小
权
Hamilton 圈,这样的圈称为最小Hamilton 圈。
在n K 中,共有1/2(n-1)!个不同的Hamilton 圈(v 到其余顶点有n −1条边)。
如果一
计算各Hamilton 圈的长度,再逐个比较出权最小的一个,则计算量太大。
当n 较大时无法实现。
对这样的NPC 问题,一般解决方法是设计较好的近似算法,求其近似最优解。
下面介
绍三种求最小Hamilton 圈的近似算法。
近似算法1-邻近点法
step1. 任选一点v ∈V 1 ,令: P1= v i:=1 。
Step2. 设已得到P i= v1v2…v i,选取v i+1∈V \{v1v2…v i}使得权w(v i v i+1)最小。
Step3. 若i = n,则停止,C =P n +v n v 1=v1v2…v n v1是一条近似的最小Hamilton 圈;否则i := i + 1,转step2。
例4.4.1 求如下赋权完全图的最小权的Hamilton 圈。
解:因n = 5,故存在1/2×4! =12个不同的Hamilton 圈。
由计算可知abcdea,adcbea 是最
优解,权为36;而abdeca 和acebda 是最差解,权为48。
按邻近点法来求:
比如从a 点出发,可得四个近似解:abdeca,权为48;adbeca,权为48;aebdca,权
为41;aedbca,权为41。
如果从b 出发,可得2 个近似解:badecb,权为43,baedcb,权为36。
可见,邻近点法求近似解的精度不高,且与初始点有关。
定理4.4.1 设赋权完全图n K 各边的权均为正数,且权满足三角不等式:对于任意的
v i, v j,v k∈V,w (v i v j)+w (v j v k )≥w(v j v k) ,则c0/c*≤1/2( ┌log2n┐+1)。
其中c*是K n的
最小Hamilton 圈的权,而c0是用邻近点法求得的Hamilton 圈的权。
证明较长,从略。
近似算法2-最小生成树法
step1. 求K n的一棵最小生成树T;
step2. 将T中各边均添加一条重边,设所得图为G*;
step3. 求G*的从某点v 出发的一条Euler闭迹E v;
step4. 按如下方法求出G 的一条Hamilton 路:从顶点v 出发,沿E v 访问G*中各顶点。
在此过程中,一旦遇到重复顶点,就跳过它直接走到Euler 环游上的下一个顶点。
直到访问完所有顶点为止。
例4.4.2 用最小生成树法求如下赋权完全图的最小权Hamilton 圈。
解:求解过程图示如下。
先求出一棵最小生成树T,T 的各边加重边后得G*,G*从a 点出发的一条Euler 闭迹为C = aeadabcba,从a 点出发沿C 依次访问各点,遇到已访问过的点时直接跳到C 的下一个点,这样便得到近似的最小权Hamilton 圈aedcba。
定理4.4.3 设赋权完全图的各边之权均为正数,且对∀v i,v j,v k∈V j ,都有
w (v i v j)+w (v j v k )≥w(v j v k),
则c0/c*<3/2。
这里c0是算法3 所得的Hamilton 圈H 的权(近似最优值),而c*是G 的最小
Hamilton 圈H*的权。
证明:先证四条事实:
(1)H*去掉一条边后便得一生成树,故w(T ) < c*。
(2)由于对v i ,v j,v k ∈V,都有(w (v i v j)+w (v j v k )≥w(v j v k),故c0≤w( E v )。
(3)设G[V′]= K2k 中最小权Hamilton 圈的权为c′。
因G[V ′]是完全图K n 的子图,G[V ′] 的Hamilton 圈可由K n 的Hamilton 圈通过“去二添一”手续得到,故c′≤c*。
(4)因G[V ′]中最小Hamilton圈上交替取边可得G[V ′]的一个完美匹配,故G[V ′]中最小权完美匹配M 中各边权之和w(M)≤c/2。
由以上四条,得c0≤w(E )=w(T )+w(M)<c*+c*/2=3c*/2。
证毕。
关于Hamilton 图的更多结果可参看[4]、[5]
[1] O.Ore, Noye on Hamilton circuits, Amer. Math. Monthly, 67(1960), 55.
[2] J.A. Bondy, and V. Chvátal, A method in graph theory, Discrete Mathematics, 15(1976),
111-136
[3] V. Chvátal, On Hamilton’s ideals, J. Combinatorial Theory (B), 12(1972), 163-168.
[4] V. Chvátal, Hamiltonian cycles, in The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization (ed. E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys), Wiley, (1985), 403-429.
[5] J.-C. Bermond, Hamiltonian graph, in Selected Topics in Graph Theory (L. W. Beineke, and R.J. Wilson eds.), Academic Press, London, (1978) 127-168。