图论-06

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

Euler图

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

中国邮递员问题

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

Hamilton图

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

旅行商问题

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

超Hamilton图

  • 超Hamilton图:若 G G G不是Hamilton图,但对于 G G G的任意点 v ∈ V ( G ) , G − v v\in V(G),G-v vV(G),Gv都是Hamilton图,则称 G G G超Hamilton图
  • 超可迹的:若 G G G中没有Hamilton轨道,但对任意的点 v ∈ V ( G ) , G − v v\in V(G),G-v vV(G),Gv存在 H H H路,则称 G G G超可迹的
  • 定理 P e t e r s o n Peterson Peterson图是超Hamilton图
  • 定理 T h o m a s s e n Thomassen Thomassen图是超可迹的

Euler图和Hamilton图的联系

  • 线图:将一个图 G G G的边集 E ( G ) E(G) E(G)看作 V ( G ) V(G) V(G)的2点子集的一个族,则交图 Ω ( E ) \Omega(E) Ω(E)称为 G G G线图,记为 L ( G ) L(G) L(G)
    • 显然 L ( G ) L(G) L(G)的点是 G G G的边,当 G G G中相应的边邻接时 L ( G ) L(G) L(G)的两个点邻接。
  • 迭线图:一般地, L n ( G ) = L ( L n − 1 ( G ) ) L^n(G)=L(L^{n-1}(G)) Ln(G)=L(Ln1(G))
  • 细分图:若 e = u v e=uv e=uv G G G的一条边,又 w w w不是 G G G的一个点,则当用边 u w uw uw w v wv wv来代替 e e e时称 e e e被细分,又称 G G G的每一条边被细分后产生的图为 G G G细分图,记为 S ( G ) S(G) S(G)
  • L n ( G ) L_n(G) Ln(G):用 S n ( G ) S_n(G) Sn(G)来表示 G G G中每条边被插进 n n n个度数为2的新点得到的图,定义 L n ( G ) = L ( S n − 1 ( G ) ) L_n(G)=L(S_{n-1}(G)) Ln(G)=L(Sn1(G))
    • 一般地, L n ( G ) ≠ L n ( G ) L_n(G)\neq L^n(G) Ln(G)=Ln(G)
  • 定理:若 G G G E E E图,则 L ( G ) L(G) L(G)既是 E E E图又是 H H H
  • 定理:若 G G G H H H图,则 L ( G ) L(G) L(G) H H H
  • 定理:一个图 G G G E E E的充要条件是 L 3 ( G ) L_3(G) L3(G) H H H
  • Chartarand定理:若 G G G n n n个点的非平凡连通图,且不是一条路,则对所有 m ≥ n − 3 m\geq n-3 mn3 L m ( G ) L^m(G) Lm(G) H H H
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值