0.810.60.40.20xt00.511.5210.500.51n1第四章欧拉图与哈密尔顿图主要内容一、欧拉图与中国邮路问题二、哈密尔顿图三、最短路问题与货郎担问题教学时数安排8学时讲授本章内容0.810.60.40.20xt00.511.5210.500.51n2本次课主要内容(一)、欧拉图及其性质(二)、Fleury算法(三)、中国邮路问题欧拉图与中国邮路问题0.810.60.40.20xt00.511.5210.500.51n31、欧拉图的概念(一)、欧拉图及其性质(1)、问题背景——欧拉与哥尼斯堡七桥问题结论:在一个点线连接的图形中,如果每个顶点关联偶数条边,并且点与点之间有路可行,则从某点出发,经过每条边一次且仅一次,可以回到出发点。0.810.60.40.20xt00.511.5210.500.51n4哥尼斯堡城(位于德国北部),在欧拉的生活与图论历史中扮演着非常重要角色。因为它,产生了著名的欧拉图定理,因为它,产生了图论。注:一笔画----中国古老的民间游戏要求:对于一个图G,笔不离纸,一笔画成.(2)、欧拉图概念定义1对于连通图G,如果G中存在经过每条边的闭迹,则称G为欧拉图,简称G为E图。欧拉闭迹又称为欧拉环游,或欧拉回路。欧拉图41324132非欧拉图有欧拉迹非欧拉图无欧拉迹12340.810.60.40.20xt00.511.5210.500.51n52、欧拉图的性质定理1下列陈述对于非平凡连通图G是等价的:(1)G是欧拉图;(2)G的顶点度数为偶数;(3)G的边集合能划分为圈。证明:(1)→(2)由(1),设C是欧拉图G的任一欧拉回路,v是G中任意顶点,v在环游中每出现一次,意味在G中有两条不同边与v关联,所以,在G中与v关联的边数为偶数,即v的度数为偶数,由v的任意性,即证明(2)。(2)→(3)由于G是连通非平凡的且每个顶点度数为偶数,所以G中至少存在圈C1,从G中去掉C1中的边,得到G的生成0.810.60.40.20xt00.511.5210.500.51n6子图G1,若G1没有边,则(3)成立。否则,G1的每个非平凡分支是度数为偶数的连通图,于是又可以抽取一个圈。反复这样抽取,E(G)最终划分为若干圈。(3)→(1)设C1是G的边划分中的一个圈。若G仅由此圈组成,则G显然是欧拉图。否则,由于G连通,所以,必然存在圈C2,它和C1有公共顶点。于是,C1∪C2是一条含有C1与C2的边的欧拉闭迹,如此拼接下去,得到包含G的所有边的一条欧拉闭迹。即证G是欧拉图。推论1连通图G是欧拉图当且仅当G的顶点度数为偶。推论2连通非欧拉图G存在欧拉迹当且仅当G中只有两个顶点度数为奇数。0.810.60.40.20xt00.511.5210.500.51n7例1下面图中谁是欧拉图?谁是非欧拉图但存在欧拉迹?谁是非欧拉图且不存在欧拉迹?G1G2G3解:G1是欧拉图;G2是非欧拉图,但存在欧拉迹;G3中不存在欧拉迹。0.810.60.40.20xt00.511.5210.500.51n8(二)、Fleury算法该算法解决了在欧拉图中求出一条具体欧拉环游的方法。方法是尽可能避割边行走。1、算法(1)、任意选择一个顶点v0,置w0=v0;0.810.60.40.20xt00.511.5210.500.51n9(2)、假设迹wi=v0e1v1…eivi已经选定,那么按下述方法从E-{e1,e2,…,ei}中选取边ei+1:1)、ei+1与vi+1相关联;2)、除非没有别的边可选择,否则ei+1不能是Gi=G-{e1,e2,…,ei}的割边。(3)、当(2)不能执行时,算法停止。例3在下面欧拉图G中求一条欧拉回路。dcbafeg图Ghji0.810.60.40.20xt00.511.5210.500.51n10解:dcbafeg图Ghji例4某博物馆的一层布置如下图,其中边代表走廊,结点e是入口,结点g是礼品店,通过g我们可以离开博物馆。请找出从博物馆e进入,经过每个走廊恰好一次,最后从g处离开的路线。afedcbihgj0.810.60.40.20xt00.511.5210.500.51n11解:图中只有两个奇度顶点e和g,因此存在起点为e,终点为g的欧拉迹。为了在G中求出一条起点为e,终点为g的欧拉迹,在e和g间添加一条平行边mafedcbihgjm用Fleury算法求出欧拉环游为:emgcfabchbdhgdjiejge所以:解为:egjeijdghdbhcbafcg0.810.60.40.20xt00.511.5210.500.51n12例4证明:若G有2k0个奇数顶点,则存在k条边不重的迹Q1,Q2,…,Qk,使得:12()()()()kEGEQEQEQ证明:不失一般性,只就G是连通图进行证明。设G=(n,m)是连通图。令vl,v2,…,vk,vk+1,…,v2k是G的所有奇度点。在vi与vi+k间连新边ei得图G*(1≦i≦k).则G*是欧拉图,因此,由Fleury算法得欧拉环游C.在C中删去ei(1≦i≦k).得k条边不重的迹Qi(1≦i≦k):12()()()()kEGEQEQEQ0.810.60.40.20xt00.511.5210.500.51n13例5设G是非平凡的欧拉图,且v∈V(G)。证明:G的每条具有起点v的迹都能扩展成G的欧拉环游当且仅当G-v是森林。证明:“必要性”若不然,则G-v有圈C。考虑G1=G-E(G)的含有顶点v的分支H。由于G是非平凡欧拉图,所以G1的每个顶点度数为偶数,从而,H是欧拉图。0.810.60.40.20xt00.511.5210.500.51n14H是欧拉图,所以存在欧拉环游T.对于T,把它看成v为起点和终点的一条欧拉迹,显然不能扩充为G的欧拉环游。这与条件矛盾!“充分性”若不然,设Q=(v,w)是G的一条不能扩充为G的欧拉环游的最长迹,显然v=w,且Q包含了与v关联的所有边。即Q是一条闭迹。于是,G-v包含G-Q且G-Q的每个顶点度数为偶数.于是,G-Q的非平凡分支是欧拉图,说明有圈,即G-v有圈,这与条件矛盾.0.810.60.40.20xt00.511.5210.500.51n150.810.60.40.20xt00.511.5210.500.51n160.810.60.40.20xt00.511.5210.500.51n170.810.60.40.20xt00.511.5210.500.51n180.810.60.40.20xt00.511.5210.500.51n190.810.60.40.20xt00.511.5210.500.51n200.810.60.40.20xt00.511.5210.500.51n210.810.60.40.20xt00.511.5210.500.51n220.810.60.40.20xt00.511.5210.500.51n230.810.60.40.20xt00.511.5210.500.51n24定理15.7定理15.80.810.60.40.20xt00.511.5210.500.51n250.810.60.40.20xt00.511.5210.500.51n26(三)、中国邮路问题1962年,中国数学家管梅谷提出并解决了“中国邮路问题”1、问题邮递员派信的街道是边赋权连通图。从邮局出发,每条街道至少行走一次,再回邮局。如何行走,使其行走的环游路程最小?如果邮路图本身是欧拉图,那么由Fleury算法,可得到他的行走路线。如果邮路图本身是非欧拉图,那么为得到行走环游,必须重复行走一些街道。于是问题转化为如何重复行走街道?0.810.60.40.20xt00.511.5210.500.51n272、管梅谷的结论定理2若W是图G中一条包含所有边的闭途径,则W在这样的闭途径中具有最短的长度当且仅当下列两个条件被满足:(1)每一条边最多重复经过一次;(2)在G的每一个圈上,重复经过的边的条数不超过圈长的一半。证明:“必要性”首先,设G是连通非欧拉图,u与v是G的两个奇度顶点,把连接u与v的路上的边改为2重边,则路中的点的度数奇偶性没有改变,仍然为偶数,但u与v的度数由奇数变成了偶数。如果对G中每对奇度点都如此处理,则最终得到的图为欧拉图。设该图为G1.0.810.60.40.20xt00.511.5210.500.51n28其次,对G1作修改:如果在G1中,边e重复数大于2,则在G1中删掉2条重复的e边后,所得之图仍然是包含G的欧拉图。在G1中,对每组平行边都做上面的处理,最后得到一个重复边数最多为1的包含G的欧拉图G2。这说明,若W是包含G的所有边的欧拉环游,则G中每条边至多在W里出现两次。这就证明了(1).又设C是G2中任意一个圈,在该圈中,如果有平行边条数超过该圈长度的一半,那么可以把该圈中平行边改为非平行边,而把非平行边改为平行边,如此修改,得到的图仍然是包含G的欧拉图,但对应的欧拉环游长度减小了。0.810.60.40.20xt00.511.5210.500.51n29这就是说,只要对G2的每个圈都作上面的修改,最后得到的图仍然为包含G的欧拉图,而最后的图正好满足(2).“充分性”我们证明:任何两条包含G中所有边的闭途径W1与W2,如果满足定理2的两个条件,则它们有相同的长度。设Y1与Y2分别表示W1与W2中重复出现的边集合。如果能够证明:|Y1-Y2|=|Y2-Y1|,那么d(W1)=d(W2).断言1:G[Y]的每个顶点度数必然为偶数。令:Y=(Y1-Y2)∪(Y2-Y1)首先:对于G中任意点v,如果dG(v)是奇数,那么Y1与Y2中与v关联的边数均为奇数;0.810.60.40.20xt00.511.5210.500.51n30如果dG(v)是偶数,那么Y1与Y2中与v关联的边数均为偶数。所以Y1与Y2中与G中任意点关联的边数奇偶性相同。其次,设Y1与Y2中与v关联的边数分别为y1与y2,其中相同的边数为y0,那么,Y中与v关联的边数为:10201202yyyyyyy所以,Y中与v关联的边数为偶数,说明G[Y]的每个顶点度数必然为偶数。断言2:|Y1-Y2|=|Y2-Y1|由于G[Y]的每个顶点度数为偶数。所以,它的每个分支是欧拉图。因此,G[Y]可以作不重圈分解。0.810.60.40.20xt00.511.5210.500.51n31由定理2的条件(2),Y1与Y2在圈中的边数不能超过圈长的一半,但圈中边不是属于Y1就是属于Y2,所以,在每个圈中,Y1-Y2与Y2-Y1中边各占一半,即:122112YYYYY由此,证明了定理的充分性。注:(1)定理2的必要性证明过程实际上给出了求中国邮路问题的方法.下面看一个例题。例5求包含下图G的一个最优欧拉环游。0.810.60.40.20xt00.511.5210.500.51n32解:由定理2:v8v7v6v5v4v3v2v1v12v11v10v9Gv15v14v13v8v7v6v5v4v3v2v1v12v11v10v9Gv15v14v130.810.60.40.20xt00.511.5210.500.51n33修改后得:v8v7v6v5v4v3v2v1v12v11v10v9Gv15v14v13由Fleury算法得可得到具体的最优欧拉环游。3、非负权值的赋权图的最优欧拉环游0.810.60.40.20xt00.511.5210.500.51n34对于一般的具有非负权值的赋权图G来说,如何求一条包含G的边的最优欧拉环游?其实,可以证明:一般问题和中国邮路问题的特殊情况是等价的(定理2).也就是说:可以通过定理2的求最优欧拉环游的方法来求一般情况下的最优欧拉环游。所以,求一般非负权赋权图的最优欧拉环游步骤为:(1)、用添加重复边的方法求G的一个赋权母图G*,使:(*)()()eEG