图论-06

本文详细解析了Euler图和Hamilton图的概念,包括它们的轨迹和回路定义,关键定理如Euler图的性质、有向图的Euler特性,以及实际应用如计算机科学中的邮政路线设计、De Bruijn序列和邮递员问题。讨论了Edmonds-Johnson算法、寻找最优投递路线和旅行商问题的解决策略。同时,文中涵盖了Hamilton图的定义、定理以及与Euler图的关系,涉及的算法如最小生成树法和最小权匹配法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

06-Euler图与Hamilton图
注:所写主要参考为许胤龙《图论导引》,因觉得此书所写不合理,故附参考张先迪《图论及其应用》

Euler图

  • Euler迹:经过图GGG的每条边的行迹(边不重复)称为Euler迹
  • Euler回路:经过图GGG每条边的闭行迹称为Euler回路
  • Euler图:如果图GGG含有Euler回路,则称GGGEuler图
  • 定理:设GGG是连通图,则下面三个命题等价
    • GGG是Euler图
    • GGG的每个顶点的度数都是偶数
    • GGG可以表示成无公共边的圈之并
      • 推论:连通图GGG有Euler迹,当且仅当GGG中最多有两个度数为奇数的顶点
  • 定理:设DDD是有向图,且略去DDD中边的方向后,对应的无向图连通,则下面三个命题等价
    • DDD是Euler图
    • ∀v∈V(D),deg+(v)=deg−(v)\forall v\in V(D),deg^+(v)=deg^-(v)vV(D),deg+(v)=deg(v)
    • DDD可以表示成无公共边的有向圈之并
      • 推论:连通有向图DDD有Euler有向迹但不是有向Euler图,当且仅当DDD中恰有两个度数为奇数的顶点,其中一个顶点入度比出度大1,另一个的出度比入读大1,其余顶点入度等于出度
  • 高效率计算机鼓轮的设计
    • De Bruijn序列:对于固定正整数kkk的一个(0,1)(0,1)(0,1)周期序列,它具有最大的周期τ\tauτ,而使得kkk部分序列S1,S2,⋯ ,SτS_1,S_2,\cdots,S_{\tau}S1,S2,,Sτ均不同
    • 一个圆盘等分成mnm^nmn格扇形,每个扇形表示S={a1,⋯ ,am}S=\{a_1,\cdots,a_m\}S={a1,,am}中的一个符号,连续nnn个扇形表示一个长为nnn的符号串。将mnm^nmn个字符(mn−1个a1,mn−1个a2,⋯ ,mn−1个amm^{n-1}个a_1,m^{n-1}个a_2,\cdots,m^{n-1}个a_mmn1a1,mn1a2,,mn1am)放到这样的圆盘上,使圆盘转动一周得到mnm^nmn个各不相同的符号串
      • 构造有向图D=(V,E),V={α1α2⋯αn−1∣αi∈S,1≤i≤n−1},E={α1α2⋯αn−1αn=(α1α2⋯αn−1,α2⋯αn−1αn)∣αi∈S,1≤i≤n}D=(V,E),V=\{\alpha_1\alpha_2\cdots\alpha_{n-1}|\alpha_i\in S,1\leq i \leq n-1\},E=\{\alpha_1\alpha_2\cdots\alpha_{n-1}\alpha_n=(\alpha_1\alpha_2\cdots\alpha_{n-1},\alpha_2\cdots\alpha_{n-1}\alpha_n)|\alpha_i\in S,1\leq i \leq n\}D=(V,E),V={α1α2αn1αiS,1in1},E={α1α2αn1αn=(α1α2αn1,α2αn1αn)αiS,1in}
      • 显然DDD连通,每个顶点的入度等于出度,为mmm,所以DDD是有mn−1m^{n-1}mn1个顶点,mnm^nmn条边的有向Euler图,存在Euler回路。取回路中各边的最后一个字母,按边在回路中的顺序依次放在圆盘上。
  • Fluery算法
    • 输入:图G=(V(G),E(G))G=(V(G),E(G))G=(V(G),E(G))
    • 输出:图GGG的一条行迹
    • 初始化:任取v0∈V(G)v_0\in V(G)v0V(G),令P0=v0P_0=v_0P0=v0
    • 选边:假设Pi=v0e1v1e2⋯eiviP_i=v_0e_1v_1e_2\cdots e_iv_iPi=v0e1v1e2eivi走到顶点viv_ivi,在E(G)−{e1,e2,⋯ ,ei}E(G)-\{e_1,e_2,\cdots,e_i\}E(G){e1,e2,,ei}选取与viv_ivi关联的边,除非无边可选,否则不选桥,将该边及其关联另一顶点加入PPP,直至无边可选
  • 逐步插入回路算法
    • 输入:Euler图G=(V(G),E(G))G=(V(G),E(G))G=(V(G),E(G))
    • 输出:图GGG的一条Euler回路
    • 初始化:i←0,v∗=v1,v=v1,P0=v1,G0=Gi\leftarrow0,v^*=v_1,v=v_1,P_0=v_1,G_0=Gi0,v=v1,v=v1,P0=v1,G0=G
    • 找圈:在GiG_iGi中选取与vvv关联的任意一条边e=vv′e=vv'e=vv,将eee加入PiP_iPi中得到Pi+1=Piev′P_{i+1}=P_iev'Pi+1=Piev,直至v′=v∗v'=v^*v=v
    • 判断是否已找完:若E(Pi+1)=E(G)E(P_{i+1})=E(G)E(Pi+1)=E(G),结束算法;否则,Gi+1=G−E(Pi+1)G_{i+1}=G-E(P_{i+1})Gi+1=GE(Pi+1),在Gi+1G_{i+1}Gi+1中取一条与Pi+1P_{i+1}Pi+1中某顶点vkv_kvk关联的边eee,令v∗=vk,v=vkv^*=v_k,v=v_kv=vk,v=vk

中国邮递员问题

  • 最优投递路线:构造无向加权图G=(V,E,w)G=(V,E,w)G=(V,E,w)EEE为街道集合,VVV中的元素是街道的交叉点,街道的长度为该街道对应的边的权,显然所有权均为整数。中国邮递员问题为求GGG中一条经过每条边至少一次的回路CCC,使该回路的权∑e∈E(Cw(e)\sum_{e\in E(C}w(e)eE(Cw(e)最小,且称满足以上条件的回路使最优投递路线
  • 定理:若WWW是图GGG中一条包含所有边的闭通道,则WWW在这样的闭通道中具有最小长度的充要条件是
    • 每一条边最多重复经过一次
    • GGG的每一个圈上,重复经过的边的数目不超过圈的长度的一半
  • Edmonds-Johnson算法
    • 输入:加权图G=(V(G),E(G),w(G))G=(V(G),E(G),w(G))G=(V(G),E(G),w(G))
    • 输出:图GGG的一条最优投递路线
    • Euler图:直接求Euler回路
    • 变成Euler图:令V0V_0V0GGG中度数为奇数的顶点集合,对V0V_0V0中每对顶点uuuvvv,用DijkstraDijkstraDijkstra算法求出其在GGG中的最短距离distG(u,v)dist_G(u,v)distG(u,v)以及最短路径。构建加权完全图K∣V0∣K_{|V_0|}KV0,每条边uvuvuv的权为distG(u,v)dist_G(u,v)distG(u,v),求K∣V0∣K_{|V_0|}KV0的总权最小的完备匹配,将MMM中的每条边,给出其两个端点,将这个端点在GGG中的最短路径上的每条边重复一遍,得到Euler图G∗G^*G

Hamilton图

  • Hamilton轨道:经过图GGG每个顶点的轨道称为Hamilton轨道
  • Halimton圈:经过图GGG每个顶点的圈称为Hamilton圈
  • Hamilton图:如果图GGG含有Hamilton圈,则称这个图为Hamilton图
  • 定理:设GGG是Hamilton图,则对V(G)V(G)V(G)的每个非空真子集SSS,均有w(G−S)≤∣S∣w(G-S)\leq|S|w(GS)Swww为连通片个数
  • Dirac定理:设GGG是简单图,且v(G)>3,δ(G)≥v(G)/2v(G)>3,\delta(G)\geq v(G)/2v(G)>3,δ(G)v(G)/2,则GGG是Hamilton图
  • 引理:设G=(V,E)G=(V,E)G=(V,E)是简单图,uuuvvvGGG中两个不相邻的顶点,且deg(u)+deg(v)≥v(G)deg(u)+deg(v)\geq v(G)deg(u)+deg(v)v(G),则GGG是Hamilton图,当且仅当当G+uvG+uvG+uv是Hamilton图
  • 闭包:反复连接GGG中度数之和不小于v(G)v(G)v(G)的不相邻顶点对,直到没有这样的点对为止,称为GGG闭包,记为c(G)c(G)c(G)
  • 引理c(G)c(G)c(G)是唯一确定的
  • 定理:简单图GGG是Hamilton图,当且仅当它的闭包c(G)c(G)c(G)是Hamilton图
    • 推论:设GGGv(G)≥3v(G)\geq3v(G)3的简单图,若c(G)c(G)c(G)是完全图,则GGG是Hamilton图
  • Ore定理:设v(G)≥3v(G)\geq3v(G)3,对GGG的任意一对顶点u,vu,vu,v,若deg(u)+deg(v)≥v(G)−1deg(u)+deg(v)\geq v(G)-1deg(u)+deg(v)v(G)1,则GGG有Hamilton轨道;若deg(u)+deg(v)≥v(G)deg(u)+deg(v)\geq v(G)deg(u)+deg(v)v(G),则$G是Hamilton图

旅行商问题

  • Kv=(V,E,w)K_v=(V,E,w)Kv=(V,E,w)vvv阶完全加权图,各边的权非负,有的边的权可为+∞+\infty+,求KvK_vKv权最小的Hamilton圈
  • 最近邻法
    • 输入:加权图G=(V(G),E(G),w(G))G=(V(G),E(G),w(G))G=(V(G),E(G),w(G)),顶点v1v_1v1
    • 输出:图GGG的一条Hamilton圈
    • 一句概括:找与P中最后顶点的最近顶点作为下一顶点
    • 复杂度O(v2)O(v^2)O(v2)
  • 定理:设G=(V,E,w)G=(V,E,w)G=(V,E,w)v(v≥3)v(v\geq3)v(v3)阶完全加权图,各边的权均为整数,且满足三角不等式,则dd0≤12(┌log2n┐+1)\frac{d}{d_0}\leq \frac{1}{2}(\ulcorner log_2n\urcorner+1)d0d21(log2n+1),其中d0d_0d0GGG中最短Hamilton圈的权,ddd是最近邻法求出的Hamilton圈的权
  • 最小生成树法
    • 输入:加权图G=(V(G),E(G),w(G))G=(V(G),E(G),w(G))G=(V(G),E(G),w(G))
    • 输出:图GGG的一条Hamilton圈
    • 造Euler图,找Euler回路:找最小生成树TTT,将TTT中各边都添加一条平行边,所得图为G∗G^*GG∗G^*G为Euler图,从vvv出发找Euler回路CvC_vCv
    • 抄近路:Euler回路跳过已访问过的结点得到的Hamilton圈
    • 复杂度O(v2)O(v^2)O(v2)
  • 定理:设G=(V,E,w)G=(V,E,w)G=(V,E,w)v(v≥3)v(v\geq3)v(v3)阶完全加权图,各边的权均为整数,且满足三角不等式,则dd0<2\frac{d}{d_0}<2d0d<2,其中d0d_0d0GGG中最短Hamilton圈的权,ddd是最小生成树法求出的Hamilton圈的权
  • 最小权匹配法
    • 输入:加权图G=(V(G),E(G),w(G))G=(V(G),E(G),w(G))G=(V(G),E(G),w(G))
    • 输出:图GGG的一条Hamilton圈
    • 提升最小生成树法:在其算法基础上,另种方法求Euler图
    • 求Euler图:设TTT中度数为奇数的顶点集合为V0={v1,v2,⋯ ,v2k}V_0=\{v_1,v_2,\cdots,v_2k\}V0={v1,v2,,v2k},求V0V_0V0的导出子图G[V0]=K2kG[V_0]=K_{2k}G[V0]=K2k中总权最小的完备匹配MMM,将MMM中的KKK条边加到TTT上,得到Euler图G∗G^*G
  • 定理:设G=(V,E,w)G=(V,E,w)G=(V,E,w)v(v≥3)v(v\geq3)v(v3)阶完全加权图,各边的权均为整数,且满足三角不等式,则dd0<32\frac{d}{d_0}<\frac{3}{2}d0d<23,其中d0d_0d0GGG中最短Hamilton圈的权,ddd是最小权匹配法求出的Hamilton圈的权

超Hamilton图

  • 超Hamilton图:若GGG不是Hamilton图,但对于GGG的任意点v∈V(G),G−vv\in V(G),G-vvV(G),Gv都是Hamilton图,则称GGG超Hamilton图
  • 超可迹的:若GGG中没有Hamilton轨道,但对任意的点v∈V(G),G−vv\in V(G),G-vvV(G),Gv存在HHH路,则称GGG超可迹的
  • 定理PetersonPetersonPeterson图是超Hamilton图
  • 定理ThomassenThomassenThomassen图是超可迹的

Euler图和Hamilton图的联系

  • 线图:将一个图GGG的边集E(G)E(G)E(G)看作V(G)V(G)V(G)的2点子集的一个族,则交图Ω(E)\Omega(E)Ω(E)称为GGG线图,记为L(G)L(G)L(G)
    • 显然L(G)L(G)L(G)的点是GGG的边,当GGG中相应的边邻接时L(G)L(G)L(G)的两个点邻接。
  • 迭线图:一般地,Ln(G)=L(Ln−1(G))L^n(G)=L(L^{n-1}(G))Ln(G)=L(Ln1(G))
  • 细分图:若e=uve=uve=uvGGG的一条边,又www不是GGG的一个点,则当用边uwuwuwwvwvwv来代替eee时称eee被细分,又称GGG的每一条边被细分后产生的图为GGG细分图,记为S(G)S(G)S(G)
  • Ln(G)L_n(G)Ln(G):用Sn(G)S_n(G)Sn(G)来表示GGG中每条边被插进nnn个度数为2的新点得到的图,定义Ln(G)=L(Sn−1(G))L_n(G)=L(S_{n-1}(G))Ln(G)=L(Sn1(G))
    • 一般地,Ln(G)≠Ln(G)L_n(G)\neq L^n(G)Ln(G)=Ln(G)
  • 定理:若GGGEEE图,则L(G)L(G)L(G)既是EEE图又是HHH
  • 定理:若GGGHHH图,则L(G)L(G)L(G)HHH
  • 定理:一个图GGGEEE的充要条件是L3(G)L_3(G)L3(G)HHH
  • Chartarand定理:若GGGnnn个点的非平凡连通图,且不是一条路,则对所有m≥n−3m\geq n-3mn3Lm(G)L^m(G)Lm(G)HHH
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值