哈密尔顿图
欧拉图与哈密顿图

.
欧拉图与哈密顿图 1.2 哈密顿图及哈密顿通路
➢ 定义8.21
图G称为可2-着色(2-chromatic),
如果可用两种颜色给G的所有顶点着色, 使每个顶点着一种颜色,而同一边的两端点 必须着不同颜色。
.
欧拉图与哈密顿图 1.2 哈密顿图及哈密顿通路
✓ 定理8.16
设图G是可2-着色的。如果G是哈密顿 图,那么着两种颜色的顶点数目相等;如 果G有哈密顿通路,那么着两种颜色的顶点 数目之差至多为一。
✓定理8.14
设图G为具有n个顶点的简单无向图,如果G的 每一对顶点的度数之和都不小于n – 1 ,那么G中有 一条哈密顿通路;如果G的每一对顶点的度数之和 不小于n,且n≥3,那么G为一哈密顿图。
.
欧拉图与哈密顿图 1.2 哈密顿图及哈密顿通路
✓ 定理8.15
当n为不小于3的奇数时,
Kn上恰有 n 1 条互相均无任何公共边的 2
离散数学导论
.
欧拉图与哈密顿图 1.1欧拉图与欧拉路径
➢ 定义8.19
图G称为欧拉图(Euler graph),
如果图G上有一条经过G的所有顶点、所有
边的闭路径。图G称为欧拉路径(Euler
walk),如果图G上有一条经过G 所有顶点、所有边的路径。
.
欧拉图与哈密顿图 1.1欧拉图与欧拉路径
✓ 定理8.11
.
欧拉图与哈密顿图 1.2 哈密顿图及哈密顿通路
➢ 定义8.20
无向图G称为哈密顿图(Hamilton graph),
如果G上有一条经过所有顶点的回路
(也称这一回路为哈密顿回路)。称无向图有哈密顿 通路(非哈密顿图),如果G上有一条经过所有顶点的
欧拉图与哈密顿图

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中一条欧拉通路,
哈密顿回路是生成的初级回路。
7_2_Hamiltonian graph

必要条件充分条件其它方法应用特殊图哈密顿图周游世界问题1859年英国数学家威廉·哈密顿爵士发明了一个小玩具,这个小玩具是一个木刻的正十二面体,每面系正五角形,共有20个顶点,每个顶点标有世界上一个重要城市。
他提出一个问题:要求沿正十二面体的边寻找一条路通过20个城市,而每个城市只通过一次,最后返回原地。
哈密顿将此问题称为周游世界问题。
Definition设G是一个无向或有向图,若存在一条通路(回路),经过图中每个结点一次且仅一次,则称此通路(回路)为该图的一条哈密顿通路(回路)。
具有哈密顿回路的图称为哈密顿图(Hamiltonian graph)。
注意规定:平凡图为哈密顿图;哈密顿通路是经过图中所有结点的通路中长度最短的通路;哈密顿回路是经过图中所有结点的回路中长度最短的回路。
Examplev1v2v3v4(a)哈密顿图(哈密顿回路)v1v2v3v4v5(b)存在哈密顿通路v1v2v3v4v5v6v7(c)无哈密顿通路v1v2v3v4(d)哈密顿图(哈密顿回路)v1v2v3v4(e)v1v2v3v4(f)引子定义必要条件充分条件其它方法应用哈密顿图的必要条件Theorem设无向图G=<V,E>是哈密顿图,V1是V的任意非空子集,则p(G−V1)⩽|V1|,其中p(G−V1)是从G中删除V1后所得到图的连通分支数。
Proof.设C是G中的一条哈密顿回路,V1是V的任意非空子集。
下面分两种情况讨论:(1)V1中结点在C中均相邻,删除C上V1中各结点及关联的边后,C−V1仍是连通的,但已非回路,因此p(C−V1)=1⩽|V1|。
(2)V1中结点在C上存在r(2⩽r⩽|V1|)个互不相邻,删除C上V1中各结点及关联的边后,将C分为互不相连的r段,即p(C−V1)=r⩽|V1|。
一般情况下,V1中的结点在C中即有相邻的,又有不相邻的,因此总有p(C−V1)⩽|V1|。
离散数学-图论-哈密顿图及其应用

离散数学-图论-哈密顿图及其应⽤哈密顿图⼀、定义概念1.哈密顿通路设G=<V,E>为⼀图(⽆向图或有向图).G中经过每个顶点⼀次且仅⼀次的通路称作哈密顿通路2.哈密顿回路G中经过每个顶点⼀次且仅⼀次的回路(通路基础上+回到起始点)称作哈密顿回路3.哈密顿图若G中存在哈密顿回路,则称它是哈密顿图4.定义详解:(1)存在哈密顿通路(回路)的图⼀定是连通图;(2)哈密顿通路是初级通路,哈密顿回路是初级回路;(3)若G中存在哈密顿回路,则它⼀定存在哈密顿通路,反之不真(看课本的话,是必要条件,⽽不是充分条件,故不可反推!)(4)只有哈密顿通路,⽆哈密顿回路的图不叫哈密顿图;即,哈密顿图是回路⼆、判定定理注意:⽬前还没有找到哈密顿图的简单的充要条件(1)设⽆向图G=<V,E>为哈密顿图,V1是V的任意真⼦集,则(注:n阶xx图指的是n个顶点,不要迷!)p(G-V1)<=|V1|其中,p(G-V1)为G中删除V1后的所得图的连通分⽀数⽬,|V1|为V1集合中包含的顶点个数。
【哈密顿图存在的必要条件】推论:有割点的图⼀定不是哈密顿图设v是图中的割点,则p(G-v)>=2,由上述定理知G不是哈密顿图(2)设G是n(n>=3)阶⽆向简单图,若对于G中的每⼀对不相邻的顶点u,v,均有d(u)+d(v)>=n-1则G中存在哈密顿通路。
⼜若d(u)+d(v)>=n则G中存在哈密顿回路,即G为哈密顿图。
【哈密顿图存在的充分条件,不是必要条件】其中d(u),d(v)分别代表顶点u,v的度数。
推论:设G是n(n>=3)阶⽆向简单图,若G的最⼩度>=n/2,则G是哈密顿图。
由推论知,对于完全图Kn,当n>=3时,是哈密顿图,完全⼆部图Kr,s当r==s>=2时是哈密顿图。
(3)在n(n>=2)阶有向图D=<V,E>中,如果略去所有有向边的⽅向,所得⽆向图中含⽣成⼦图Kn,则D中存在哈密顿通路。
36 哈密顿图

离散结构哈密顿图教学目标基本要求(1)哈密顿图的定义(2)哈密顿图的充分条件与必要条件(3)哈密顿图的应用重点难点(1)哈密顿图的判定(2)哈密顿图的应用1859年提出一个名叫“周游世界”的游戏,问题是:能否遍历正12面体的每个顶点一次且仅一次后回到原地。
?哈密顿(爱尔兰数学家)定义•哈密顿通路——经过图中所有顶点一次仅一次的通路.•哈密顿回路——经过图中所有顶点一次仅一次的回路.•哈密顿图——具有哈密顿回路的图.•半哈密顿图——具有哈密顿通路且无哈密顿回路的图.•几点说明:–平凡图是哈密顿图.–哈密顿通路是初级通路,哈密顿回路是初级回路.–环与平行边不影响哈密顿性.–哈密顿图的实质是能将图中的所有顶点排在同一个圈上实例在上图中,•(1),(2) 是哈密顿图;•(3)是半哈密顿图;•(4)既不是哈密顿图,也不是半哈密顿图,为什么?哈密顿图的必要条件•定理设无向图G =<V ,E >是哈密顿图,对于任意V 1⊂V 且V 1≠∅,均有p (G −V 1) ≤|V 1|•推论设无向图G=<V ,E>是半哈密顿图,对于任意的V 1⊂V 且V 1≠∅均有p (G −V 1) ≤|V 1|+1•几点说明–定理中的条件是哈密顿图的必要条件,但不是充分条件(例如彼得松图)–由定理可知,K r ,s 当s ≥r +1时不是哈密顿图. 易知K r ,r (r ≥2)时都是哈密顿图,K r ,r +1都是半哈密顿图.哈密顿图的充分条件•定理设G是n阶无向简单图,若对于任意不相邻的顶点v,v j,均有id(v i)+d(v j) ≥n−1则G 中存在哈密顿通路.,v j,均有•推论设G为n(n≥3) 阶无向简单图,若对于G中任意两个不相邻的顶点vid(v i)+d(v j) ≥n则G中存在哈密顿回路,从而G为哈密顿图.•几点说明–定理是半哈密顿图的充分条件,但不是必要条件. 长度为n−1(n≥4)的路径构成的图不满足条件,但它显然是半哈密顿图.–推论同样不是哈密顿图的必要条件,G为长为n的圈,不满足条件,但它当然是哈密顿图.例在给出的三个图中哪些是哈密顿图?哪些是半哈密顿图?为什么?例试判断下面在给出的图是欧拉图还是哈密顿图?判断某图是否为哈密顿图至今还是一个难题.哈密尔顿图的应用例:一只蚂蚁可否从立方体的一个顶点出发,沿着棱爬行,它爬过每一个顶点一次且仅一次,最后回到原出发点?试利用图作解释。
哈密顿图

procedure dfs(i:integer); Begin var j,k:integer; init; begin fillchar(visited,sizeof(visited),0); if (n=m)and(a[b[1],b[m]]=1) then print; found:=0; for j:=1 to n do m:=1; if (a[i,j]=1) and (visited[j]=0) then b[1]:=1; begin visited[1]:=1; visited[j]:=1; dfs(1); m:=m+1; if found=0 then writeln('no road'); b[m]:=j; end. dfs(j); visited[j]:=0; m:=m-1; end; end;
2 、安排座位
个客人围着一个桌子吃饭,每一个人都至少认识其他的2个客人。 n 个客人围着一个桌子吃饭 , 每一个人都至少认识其他的 2 个客人 。 请设计程 序求得n个人的一种坐法,使得每个人都认识他左右的客人。 序求得n个人的一种坐法,使得每个人都认识他左右的客人。 输入: 输入: 第一行:n(吃饭人的个数)。 第一行:n(吃饭人的个数)。 :n 以下n 以下n行:第i行的第一个数k表示第i个人认识的人数,后面k个数依次为i认识的 行的第一个数k表示第i个人认识的人数,后面k个数依次为i 人的编号。 人的编号。 输出:所有座法,要求第一个人为1号作为起点,按顺时针输出其它人的编号。 输出:所有座法,要求第一个人为1号作为起点,按顺时针输出其它人的编号。
Begin init; found:=0; for i:= 1 to n do begin fillchar(visited,sizeof(visited),0); m:=1; b[1]:=i; visited[i]:=1; dfs(i); end; if found=0 then writeln('no road'); end.
离散数学--第十五章 欧拉图和哈密顿图

实例
在上图中, (1),(2) 是哈密顿图; (3)是半哈密顿图; (4)既不是哈密顿图,也不是半哈密顿图,为什么?
14
无向哈密顿图的一个必要条件
定理15.6 设无向图G=<V,E>是哈密顿图,对于任意V1V且 V1,均有 p(GV1) |V1|
证 设C为G中一条哈密顿回路。
当V1顶点在C上均不相邻时, p(CV1)达到最大值|V1|,
求图中1所示带权图k29主要内容欧拉通路欧拉回路欧拉图半欧拉图及其判别法哈密顿通路哈密顿回路哈密顿图半哈密顿图带权图货郎担问题基本要求深刻理解欧拉图半欧拉图的定义及判别定理深刻理解哈密顿图半哈密顿图的定义
第十五章 欧拉图与哈密顿图
主要内容
➢ 欧拉图 ➢ 哈密顿图 ➢ 带权图与货郎担问题
1
15.1 欧拉图
大时,计算量惊人地大
27
例6 求图中(1) 所示带权图K4中最短哈密顿回路.
(1)
(2)
解 C1= a b c d a,
W(C1)=10
C2= a b d c a,
W(C2)=11
C3= a c b d a,
W(C3)=9
可见C3
(见图中(2))
是最短的,其权为9. 28
第十五章 习题课
主要内容 欧拉通路、欧拉回路、欧拉图、半欧拉图及其判别法 哈密顿通路、哈密顿回路、哈密顿图、半哈密顿图 带权图、货郎担问题
点.
由vi 的任意性,结论为真. 充分性 对边数m做归纳法(第二数学归纳法). (1) m=1时,G为一个环,则G为欧拉图. (2) 设mk(k1)时结论为真,m=k+1时如下证明:
5
从以上证明不难看出:欧拉图是若干个边不重的圈之 并,见示意图3.
哈密顿图

定义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 图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
依据定理可判断下图(a)不是哈密尔顿图,这是因 若取V ’= {v},有ω(G -V ’) =2 > 1 =|V ’| Note 2: 可验证彼得森图(下图(b)所示)不是 哈密尔顿图,但满足定理的条件。这表明定理所给 出的条件只是哈密尔顿图的必要条件而不是充分条 件。 v
(a)
(b)
• 这两个图是H图, 但用定理无法判断
带权图与货郎担问题
• 设有n个城市,城市之间有道路, 道路的长度均大于等于 0,可能是无穷大。 一个旅行商从一个城市出发要经过每 个城市一次且仅一次, 问他如何走才能使他走的路线最 短? • G=(V, E, w)求一个H-圈, 使得圈中的边的权往往要结合定义 进行。由定义知:一个图若有度为1的顶点,一定不 是哈密尔顿图,只可能有哈密尔顿路;若图是哈密尔 顿图,则图中2度顶点关联的边必属于所有哈密尔顿 圈;一个顶点关联的边再多,一个哈密尔顿圈只能用 其两条边。
左图不是哈密尔顿图, 因图中二度顶点所关联 的8条边(红边)已构 成圈,而此圈不是哈密 尔顿圈。
定理:设G = (V, E) 是哈密尔顿图,则对任意的V V ,V ’ ≠Ф,有 ω(G -V’)≤| V’| 其中ω(G -V ’) 表示G 中删去V ’ (即删去V ’中各点及其 关联的边)后所得图的连通分支数。
证明:设C 是G 中一条哈密尔顿回路。任取 V 中非 空子集V’ ,因 C 是G 的哈密尔顿回路含G 的所有点, 故V’ 也是子图 C 的非空子集。由点不重复的回路的 特性知任意删去C 中 | V’ | 个点,最多将C 分为 | V’ | “段” ,即 ω(C-V’) ≤ | V’ |
• 根据定理, 图G1,G4不是Hamilton图, 但对其他 图无法判断
推论1:每个H图都无割点.
证明:反证法:假设存在图G是H图, 但有割点, 不妨设割点为v, 令V’={v}, ω(G -V’)≥2, 而|V’|=1, 与定理矛盾。
推论2: 奇数阶的两分图不是H图.
证明: 反证法: G=(X, Y;E)是奇数阶的两分图,且 为H图, 则必定|X|不等于|Y|, 不妨设|X|<|Y|, 则 ω(G -X)=|Y|>|X|, 与定理矛盾
设G是具有n 个点的简单图,则对G的任意两个 不相邻顶点 u 和 v , (1)若d(u) + d(v)≥n-1, 则 G 有哈密尔顿路; (2)若d(u) + d(v)≥n, 则 G 是哈密尔顿图。
由定理可知当n≥3时, Kn是哈密尔顿图。
是哈密尔顿图, 但不满足定理的条件 故该定理的条件是哈密尔顿图的充分条件,但不是 必要条件。
哈密而尔顿图
例: 周游世界问题 1859年 Hamilton 提出这样一个问题:一个
正十二面体有20个顶点,它们代表世界上
20个重要城市。正十二面体的每个面均为
五边形,若两个顶点之间有边相连,则表 示相应的城市之间有航线相通。 Hamilton 提出“能否从某城市出发经过每个城市一 次且仅一次然后返回出发点?”
定义: 经过图中每个点一次且仅一次的路 (回路) 称为 哈密尔顿路 (回路或圈) ,存在哈密尔顿圈的图称为哈 密尔顿图。 例
只有哈密尔顿路,但不是哈密尔顿图
无哈密尔顿路
哈密尔顿图
注意:
• 欧拉回路和H圈的区别: 欧拉回路是包含G 中的所有边, 但H圈不是, 它仅仅包含了G中 的n条边….. • Euler图感兴趣的是边, 而H图感兴趣的是 点。 • 一个邮递员如果他的任务是要遍历某些特 定的街道,那么他最好走的是Euler 回路, 如果他要投放特定的点, 最好走H-圈
(2)证明:反证法:设存在满足条件的图是非 Hamilton 图. 我们设 G是满足条件的非H-图 中边数最多的图, 即增加一条边使得变为H图. 则G中存在一条哈密尔顿通路, p=v1v2…vn但 v1与vn不相邻, 但 d(v1)+d(v2) ≥n, 可知一定存在一个顶点vi在 与v1相邻,且vn与vi-1相邻. 证明如下: 令S={vi|v1vi+1∈E}, T={vi|vivn ∈E}
• 根据定理我们可以证明:
• 设G是n个点, m条边的图, 若m≥(n23n+6)/2,则G是H-图.
• 定理:若u, v是G的两个不相邻的点,且 d(u)+d(v)>=n,则G为H图的充分必要条件为 G+uv是H图。 • 这是习题17 • 证明:必要性显然 • 充分性:反证法: 假设G+uv是H图,但G 不是,则G中存在H-路, v1v2….vn, 其中 v1=u, vn=v,若对某个vi, i在2与n-1之间, v1vi是G中的边, 则vivn一定不是, 否则G 有H圈, 因而d(u)<=n-1-d(v), 与d(u) +d(v)>=n矛盾
• Euler图和Hamilton图相比较, 前者是要周 游边, 后者要周游点, 虽然仅有一字之差, 但两者的困难程度却大不相同。(1)对于 Euler图, 我们已经有一个判别定理,简单 易行。 但寻找一个图是不是Hamilton图的 充分必要条件仍然是图论中的一个重要问 题。 (2)判断一个图是不是欧拉图是P问 题。 判断一个图是不是Hamilton图是NP-困 难问题。
我们知道vn不属于S∪T, 因而| S∪T|<n 而d(v1)=|S|, d(vn)=|T|,但d(v1)+d(v2) ≥n, 所以 S∩T≠Φ,即存在一个顶点vi与v1相邻,且vn与 vi-1相邻, 此时(v2,…,vi-1,vn, vn-1,…,vi+1,vi,v1) 是一个H圈, 矛盾.
注:这个证明的巧妙之处在于找出vi满足v1与 vi相邻,但vi-1, vn与vi-1相邻。