欧拉图与汉密尔顿图
第15章 欧拉图与哈密顿图

e5
v3
v2 e1 v1
e2
e3
e4
v4
e5
v3 e3 e4 v4
v2 v1 v5
e2 e3
e1 e5
v3 e4 v4 v6
v1
e6 v5 e7 e8 v6 e2 e3
e8 v5
e8 v6 v5 e2 v6
e7
G
v2 e1 v1 v5 v6 v3 e4 v4 v5 v2
G1
e2 v3 e4 v2 e1 v1 v5 e1
定理15.7
定理15.7 设G是n阶无向简单图,若对于G中任意不相邻的顶 点vi,vj,均有 d(vi)+d(vj)≥n-1 (15.1) 则G中存在哈密顿通路。 证明 首先证明G是连通图。 否则G至少有两个连通分支, 设G1,G2是阶数为n1,n2的两个连通分支, 设v1∈V(G1),v2∈V(G2),因为G是简单图,所以 dG(v1)+dG(v2)=dG1(v1)+dG2(v2)≤n1-1+n2-1≤n-2 这与(15.1)矛盾,所以G必为连通图。
例15.3的说明
哈密顿通路是经过图中所有顶点的一条初级通路。 哈密顿回路是经过图中所有顶点的初级回路。 对于二部图还能得出下面结论: 一般情况下,设二部图G=<V1,V2,E>,|V1|≤|V2|,且 |V1|≥2,|V2|≥2,由定理15.6及其推论可以得出下面结 论: (1) 若G是哈密顿图,则|V1|=|V2|。 (2) 若G是半哈密顿图,则|V2|=|V1|+1。 (3) 若|V2|≥|V1|+2,则G不是哈密顿图,也不是半哈密 顿图。
§15.2 哈密顿图
设图为G2,则G2=<V1,V2,E>,其中 V1={a,g,h,i,c},V2={b,e,f,j,k,d}, 易知,p(G2-V1)=|V2|=6>|V1|=5, 由定理15.6可知,G2不是哈密顿图, 但G2是半哈密顿图。 baegjckhfid为G2中一条哈密顿通路。 设图为G3。G3=<V1,V2,E>,其中 V1={a,c,g,h,e},V2={b,d,i,j,f}, G3中存在哈密顿回路。 如 abcdgihjefa, 所以G3是哈密顿图。
7-4欧拉图与汉密尔顿图

证明(略)。
定理4. 5 设G是具有n个结点的简单图,如果G中每一对结点度数之和大 于等于n,则在G中存在一条汉密尔顿回路。 证明(略)。
(3)充要条件
定义4. 4 设给定图G=<V,E>有n个结点,若将图G中度数之和至少是n的 非邻接结点连接起来得图G’,对图G’重复上述步骤,直到不再有这样的结 点对存在为止,所得到的图,称为原图G的闭包,记作C(G)。 定理4. 6 当且仅当一个简单图的闭包是汉密尔顿图时,这个简单图是汉密尔顿图。 证明:略。
证明: 设C是G的一条汉密尔顿回路,则对于V的任何一个非空子集S在C中 删去S中任一结点a1,则C-a1是连通的非回路,若再删去S中另一结点a2, 则W(C- a1- a2)≤ 2,由归纳法可得: W(C-S)≤ |S| 同时C-S是G-S的一个生成子图(包含G的每个结点的子图),因而 W(G-S)≤ W(C-S) 所以 W(G-S)≤ |S|。 证毕。
证明:
推论 无向图G具有一条欧拉回路,当且仅当G是连通的,并 且所有结点度数全为偶数。
定理4. 1 证明
必要性 设G具有欧拉路,即有点边序列v0e1v1e2…eiviei+1…ekvk,其中
结点可能重复出现,但边不重复,因为欧拉路经过图G的所有结点, 故图G必是连通的。 对任意一个不是端点的结点vi,在欧拉路中每当vi出现一次,必 关联两边,故vi虽可重复出现,但deg(vi)必是偶数。对于端点,若 v0=vk,则d(v0)为偶数,即G中无奇数度结点;若端点v0与vk不同, 则d(v0)为奇数,d(vk)为奇数,G中就有两个奇数结点。 充分性 若图G连通,有零个或两个奇数结点,我们构造一条欧拉路如下:
二、汉密尔顿图
1、正十二面体问题 2、汉密尔顿图的定义 3、汉密尔顿图的判别条件
欧拉图和哈密尔顿图

例 “一笔划”问题——G中有欧拉 通路
?
实例
上图中,(1) ,(4) 为欧拉图
中国邮递员问题-模型
数学模型:
构造无向权图G,以道路为边,路长为权 问题的解 ——G 中包含所有边的回路权最小,称为 最优回路(未必是简单回路)。 当G是欧拉图,则最优回路即欧拉回路。
周游世界的游戏
1859 哈密尔顿 “周游世界”游戏: 20个城市,每个城市恰游一次,回到出发地
例
a
10 12 9
从a出发的“较好的”回路 , a
7
14Biblioteka b7 13 11d
6
c
8
e
5
b
14
a
c
5
6
8
长度:40
e
e
d
算法精度下限
设算法所得的回路长度为d, d0 是最小H_
回路的长度,G有n点,则
d / d0 ½ [ln(n)+1]+ ½
改进:
如果在已有回路中,W(vi,vj)+ W(vi+1,vj+1)< W(vi,vi+1)+ W(vj,vj+1),
货郎担/旅行推销员(TSP)问题:
在一个赋权的完全图中,找出一个具有最小权 的H_回路,也即回路边的权之和最小 对该赋权图上的边,满足三角不等式(距离不 等式) W(a,b) W(a,c) + W(c,b)
数学模型
构造无向带权图G, VG中的元素对应于每个城市, EG中每 个元素对应于城市之间的道路,道路长度用相应边的权表示。 则问题的解对应于G中包含所有边的权最小的哈密尔顿回路。 G是带权完全图,总共有n!/2条哈密尔顿回路。因此,问题 是如何从这n!/2条中找出最短的一条 eg:含20个顶点的完全图中不同的哈密尔顿回路有约6000万 亿条-(1.216451017)/2,若机械地检查,每秒处理10万条,需 2万年
概率论-第二十一讲--欧拉图与哈密尔顿图(略)

二、哈密尔顿图
例5. 证明下图中没有汉密尔顿路径。 图中,3个顶点标记为A,5个顶点 A 标记为B,相差2个,不可能存在 一条汉密尔顿路径。 B B 如果在标记过程中,遇到相邻结 点出现相同标记时,如果有一个 结点的度数为2,可在此对应边上 A A 增加一个结点,并标上相异标 A 记。 B B B B B
11
二、哈密尔顿图
定理3:若无向图G=<V,E>是哈密尔顿图, V1是V的任意非空 真子集,则 ω(G- V1)≤| V1 |。 证明:设C是G的一条哈密尔顿回路,对于V的每个非空真子集 V1有:ω(C-V1) ≤|V1|
ω(C- V1)是C删去V1中所有顶点及关联的边后所得图
的连通分支数。 又因为C - V1是G - V1的生成子图,故有
13
二、哈密尔顿图
定义3:若无向图G=<V,E>的顶点集合V可以划分成两个子集X 和Y,使G中的每一条边e的一个端点在X中,另一个端点 在Y中,则称G为二部图或偶图。二部图可记为 G=<X,E,Y>,X和Y称为互补结点子集。 二部图不会有自回路。
14
二、哈密尔顿图
定理4:设二部图G=<X, E, Y>,设|X|=m,|Y|=n。若m≠n,则G 必不是汉密尔顿图。 证明:方法1. 用汉密尔顿图的性质证明。 因为|X|≠|Y|,不妨设|X|<|Y|。 显然有ω(G-X)=|Y|>|X|, 这与汉密尔顿图的必要条件ω(G-X)≤|X|矛盾。 因此G必不是汉密尔顿图。
定理2:一个有向连通图具有欧拉路径,当且仅当它 的每个顶点的引入次数等于引出次数,可能 有两个顶点除外,其中一个的引入次数比它 的引出次数大1,另一个的引入次数比它的 引出次数小1。 推论: 一个有向连通图具有欧拉回路,当且仅当它 的每个顶点的引入次数等于引出次数。
欧拉图与哈密顿图

Fleury算法示例
例15.2
下图是给定的欧拉图G。某人用Fleury算法求G中的欧拉回路时 ,走了简单回路v2e2v3e3v4e14v9e10v2e1v1e8v8e9v2之后(观看他的 错误走法),无法行遍了,试分析在哪步他犯了错误? 解答 此人行遍v8时犯了能不走桥就不走桥 的错误,因而他没行遍出欧拉回路。 当他走到v8时,G-{e2,e3,e14,e10,e1,e8} 为下图所示。 此时e9为该图中的桥,而e7,e11均不是桥, 他不应该走e9,而应该走e7或e11,他没 有走,所以犯了错误。注意,此人在行 遍中,在v3遇到过桥e3,v1处遇到过桥 e8,但当时除桥外他无别的边可走,所 以当时均走了桥,这是不会犯错误的。
≤ p(G -V1)+1 ≤ |V1|+1
例15.3
例15.3 在下图中给出的三个图都是二部图。它们中的哪些是 哈密顿图?哪些是半哈密顿图?为什么? 易知互补顶点子集 V1={a,f} V2={b,c,d,e} 设此二部图为G1,则G1=<V1,V2,E>。 p(G1-V1)=4>|V1|=2, 由定理15.6及其推论可知,G1不是哈 密顿图,也不是半哈密顿图。
因为Г只有两个端点且不同,因而G中只有两个奇数顶点。
另外,G的连通性是显然的。
半欧拉图的判定定理
定理15.2 无向图G是半欧拉图当且仅当G是连通的,且G中恰有两 个奇度顶点。
证明 充分性。设G的两个奇度顶点分别为u0和v0,
对G加新边(u0,v0),得G =G∪(u0,v0), 则G 是连通且无奇度顶点的图, 由定理15.1可知,G 为欧拉图, 因而存在欧拉回路C ,而C=C -(u0,v0)为G中一条欧拉通路,
哈密顿回路是生成的初级回路。
一、图的概念、路和回路、欧拉图和汉密尔顿图

1、什么是图(Graphs)? d
a
c
由一些点和一些连接 两点间的连线组成。
b 定义 一个图是一个三元组<V(G), E(G), Ψ(G)>,其中
V(G):非空结点的集合; E(G):边的集合; Ψ(G):从边集合E到结点无序偶(有序偶)上的函数。
Graphs/图论
a
例: 图1:
e1
e3 e2
b
e4
图9 a b
c
a的出度为2,入度
e 为1,a的度数为3
d
Graphs/图论
定理3 在任何有向图中,所有结点的出度之和 等于所有结点的入度之和。
证明: 因为每一条有向边,必对应一个入度和一个出度;若 一个结点具有一个入度或出度,则必关联一条有向边。 所以,有向图中各结点入度之和等于边数,各结点出 度之和也等于边数。因此,任何有向图中,出度之和 等于入度之和。 证毕
定理 2 在任何图中,度数为奇数的结点必定是偶数个。
证明: 设:V1 :图G中度数为奇数的结点集。
V2:图G中度数为偶数的结点集。
由定理1可知
deg(v) deg(v) deg(v) 2 | E |
vv1
vv 2
vV
因为 deg(v) 和2|E|均为偶数,所以 deg(v) 为偶数。
点的组合数为:cn2 = (1/2)*n*(n-1)
故Kn的边数为: |E| =(1/2)*n*(n-1)。 (证毕) 定义 如果在Kn中,对每一条边任意确定一个方向,就称 该图为n个结点的有向完全图。
|E|=(1/2)*n*(n-1)
Graphs/图论
对任给的一个图G,总可以将他补成具有相同结点的完 全图。
连通性是结点集合上的一种等价关系。
习题四 欧拉图与汉密尔顿图 - 烟台大学计算机与控制工程学院

习题四: 欧拉图与汉密尔顿图1.判定图7-4.15的图形是否能一笔画。
2.构造一个欧拉图,其结点数v 和边数e 满足下述条件 a )v ,e 的奇偶性一样。
b )v ,e 的奇偶性相反。
如果不可能,说明原因。
3.确定n 取怎样的值,完全图n K 有一条欧拉回路。
4.a )图7-4.16中的边能剖分为两条路(边不相重),试给出这样的剖分。
b )设G 是一个具有k 个奇数度结点(k >0)的连通图,证明在G 中的边能剖分为2k 条路(边不相重)。
c )设G 是一个具有k 个奇数度结点的图,问最少加几条边到G 中,而使所得的图有一条欧拉回路,说明对于图7-4.16如何能做到这一点。
d )在c )中如果只允许加平行于G 中已存在的边,问最少加几条边到G 中,使所得的图有一条欧拉回路,这事总能做到吗?叙述能做到这事的充分必要条件。
5.找一种9个a ,9个b ,9个 c 的圆形排列,使由字母{c b a ,,}组成的长度为3的27个字的每个字仅出现一次。
6.a )画一个有一条欧拉回路和一条汉密尔顿回路的图。
图7-4.15(a)(b)图7-4.16图7-4.17b )画一个有一条欧拉回路,但没有一条汉密尔顿回路的图。
c )画一个没有一条欧拉回路,但有一条汉密尔顿回路的图。
7.判断图7-4.17所示的图中是否有汉密尔顿回路。
8.设G 是一个具有n 个结点的简单无向图,3≥n ,设G 的结点表示n 个人,G 的边表示他们间的友好关系,若两个结点被一条边连结,当且仅当对应的人是朋友。
a )结点的度数能作怎样的解释。
b )G 是连通图能作怎样的解释。
c )假定任意两人合起来认识所留下的n -2个人,证明n 个人能站成一排,使得中间每个人两旁站着自己的朋友,而两端的两个人,他们每个人旁边只站着他的一个朋友。
d )证明对于n 4≥,c )中条件保证n 个人能站成一圈,使每一个人的两旁站着自己的朋友。
9.证明如G 具有汉密尔顿路,则对于V 的每一个真子集S 有 1)(+≤-S S G W10.一个简单图是汉密尔顿图的充要条件是其闭包是汉密尔顿图。
第三章 哈密顿图

(1) G的每条边在G*至多重复一次;
(2) G的每个(初级)圈在G*重复边权的和不超过该圈 权的一半。
算法过程
–
1.用Dijstra算法求所有奇度顶点对之间的最短路径。 (若G是欧拉图,直接用Fleury算法) 2.以G中所有奇度顶点构造带权完全图G2k, 每边的 权是两端点间最短路径长度。
1
2
20
17
19
18Biblioteka 义: 图G中的一圈,若它通过G中每个顶 点恰好一次,则该圈称为哈密尔顿圈,具 有哈密尔顿圈的图称为哈密尔顿无向图。 完全图必是哈密尔顿图。
从定义可知,一个图的Hamilton圈与
Euler环游是很相似的,差别在于Hamilton
圈是环游G的所有顶点圈(点不重,当然
边也不重),而Euler环游是环游G的所
道的交叉点,街道长度用相应边的权表示。 则问题的解对应于G中包含所有边的权最小 的圈,称为最优圈(注意:未必是简单圈)。 当G是欧拉图,则最优圈即欧拉圈。 若G不是欧拉图,则通过加边来消除G中的 奇度顶点,要求使加边得到的欧拉图G'中重复边
的权和最小。
C是带正权无向连通图G中的最优圈当且仅当对 应的欧拉图G*满足:
边外,,每经过G中顶点xi(包括a和b),都为顶点xi
贡献2度,而C的第一边为a贡献1度,C的最后一条
边为b贡献1度.因此,a和b的度数均为奇数,其余
结点度数均为偶数.
充分性:设连通图G恰有两个奇数度结点,
不妨设为a和b,在图G中添加一条边e={a,b} 得G’,则G’的每个结点的度数均为偶数,因 而G’中存在欧拉圈,故G中必存在欧拉路.
J K
例3 一张纸上画有如下图所示的图,你能否用剪刀 一次连续剪下图中的三个正方形和两个三角形?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
M(G1)
M(G)
M(G2)
M(Gk)
欧拉图与汉密尔顿图
4
e1 e2 e3 e4 e5 e6
有向图关联矩阵 v1 M(D) v2
1
1
1 1
1 0
0 1
0 0
0
0
v3 v4
0
0
0 1 1 1 1
0
0
0
1
1
设D=<V,E>是无环有向图, V={v1,v2,…,vn},
E={e1,e2,…,em}
每列和为2: ni=1mij=2 ( ni=1mj=1mij=2m ) 每行和为d(v): d(vi)=mj=1mij 孤立点:全0行
平行边: 相同两列
环:对应列中只有一个2其余是0
v1 M(G) v2
v3 v4
e1 e2 e3 e4 e5 e6
1 1 1 1 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 1
4
1 3 0 1
2
4
1
2
7 6 4 6
A4
6
11
2
6
4 2 3 4
6
6
4
7
欧拉图与汉密尔顿图
11
邻接矩阵与通路数
设Ar=Ar-1•A,(r2), Ar=[aij(r)]nn,
推论1: aii (2) =d(vi). #
推论2: G连通距离d(vi,vj)=min{r|aij(r)0,ij}. #
平行边: 相同两列
v1
M(D) v2
Hale Waihona Puke e111e2 1
1
e3 1
0
e4 0
1
e5 e6
0 0
0
0
v3 v4
0
0
0 1 1 1 1
0
0
0
1
1
欧拉图与汉密尔顿图
7
无向图邻接矩阵
设G=<V,E>是无向简单图,V={v1,v2,…,vn} 邻接矩阵(adjacence matrix):
A(G)=[aij]nn, aii=0,
v1 v2 v3 v4
v1 A(G ) v2
0
1
1 0
0 1
1
1
v2
v3
v3 v4
0
1
1 1
0 0
0
0
欧拉图与汉密尔顿图
9
邻接矩阵与通路数
设A(D)=A=[aij]nn, Ar=Ar-1•A (r2), Ar=[aij (r)]nn,
整数乘和整数加
定理1: aij (r) =从vi到vj长度为r的通路总数 ni=1nj=1aij (r) =长度为r的通路总数
v1 M(D) v2
1
1
1 1
1 0
0 1
0 0
0
0
v3 v4
0
0
0 1 1 1 1
0
0
0
1
1
欧拉图与汉密尔顿图
6
有向图关联矩阵(性质)
每列和为零: ni=1mij=0 每行绝对值和为d(v): d(vi)=mj=1mij, 其中1的个
数为d+(v), -1的个数为d-(v)
握手定理: ni=1mj=1mij=0
ni=1aii (r) =长度为r的回路总数. #
欧拉图与汉密尔顿图
10
用邻接矩阵求通路数(例)
v1
v4
v1 v2 v3 v4
v1 A(G ) v2
0
1
1 0
0 1
1
1
v3 v4
0
1
1 1
0 0
0
0
v2
v3
2 1 1 1
A2
1
3
0
1
1 0 1 1
1
1
1
2
2 4 1 3
A3
4
2
3
1, vi与vj相邻,ij
aij =
v1
v4 0, vi与vj不相邻
v1 v2 v3 v4
v1 A(G ) v2
0 1
1 0
0 1
1
1
v2
v3
v3 欧拉图与汉密尔顿图 v 4
0 1
1 1
0 0
0
0
8
无向图邻接矩阵(性质)
A(G)对称: aij= aji 每行(列)和为顶点度: ni=1aij=d(vj) 握手定理: ni=1nj=1aij=ni=1d(vj)=2m
0, v 欧拉图与汉密尔顿图 不与e 关联
2
无向图关联矩阵(例)
v1
e3
v4
e1 e2
e4
e6
v2
e5
v3
v1 M(G) v2
v3 v4
e1 e2 e3 e4 e5 e6
1 1 1 1 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 1
欧拉图与汉密尔顿图
3
无向图关联矩阵(性质)
图的矩阵表示
1. M(D), M(G) 2. 邻接矩阵A(D), 邻接矩阵A(G) 3. 用A的幂求不同长度通路(回路)总数 4. 可达矩阵P(D), P(G)
欧拉图与汉密尔顿图
1
无向图关联矩阵 v1 M(G) v2 v3 v4
e1 e2 e3 e4 e5 e6
1 1 1 1 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 1
欧拉图与汉密尔顿图
12
连通矩阵
只考虑有无,不考虑有多少条 设G=<V,E>是无向简单图, V={v1,v2,…,vn}, 连通矩阵: P(G)=[pij]nn,
1, 若vi与vj连通 pij =
0, 若vi与vj不连通
欧拉图与汉密尔顿图
13
连通矩阵(性质)
主对角线元素都是1: viV, vi与vi连通 连通图: 所有元素都是1 伪对角阵: 对角块是连通分支的连通矩阵 设Br=A+A2+…+Ar= [bij(r)]nn, 则ij, pij=1 bij(n-1) > 0
从vi到vj的边数
v1
v4
v1 v2
v1 A(D) v2
0 0
2 0
设G=<V,E>是无向图,V={v1,v2,…,vn},
E={e1,e2,…,em}
关联矩阵(incidence matrix): M(G)=[mij]nm,(每 个顶点确定一行,每条边确定一列), mij = vi与ej 的关联次数
2, vi与ej关联,且ej是 环
mij = 1, vi与ej关联,且ej不是环
关联矩阵(incidence matrix): M(D)=[mij]nm ,
(每个顶点确定一行,每条边确定一列)
1, vi是ej的起点
mij =
0, vi与ej不关联
-1, vi是ej的终点
欧拉图与汉密尔顿图
5
有向图关联矩阵(例)
v1
v4
e1 e2 e3 e5 e6
v2
e4
v3
e1 e2 e3 e4 e5 e6
P(G1)
P(G)
P(G2)
P(Gk )
欧拉图与汉密尔顿图
14
连通矩阵(例)
v1
v3
v4
v6
v2
v5
1 1 1 0 0 0
1
1
1
0
0
0
1 1 1 0 0 0
P
0
0
0
1
1
0
0 0 0 1 1 0
0 0 0 0 0 1
欧拉图与汉密尔顿图
15
有向图邻接矩阵
设D=<V,E>是有向图,V={v1,v2,…,vn} 邻接矩阵(adjacence matrix): A(D)=[aij]nn, aij =