图论导引 - 第三章 第三节:哈密顿图 - 11/11

哈密顿图 Hamiltonian Graphs

定义

欧拉图:给定的连通图 G G G 是否存在一条包含其每一条闭迹

哈密顿图(Hamiltonian graph):图中存在一条闭迹 恰好一次经过 G G G 的每一个顶点

  • 这样的迹一定是一个 ,除了当 G G G 是图 N 1 N_1 N1(只有 1 个顶点的零图)时。
  • 这样的圈是一个哈密顿圈(Hamiltonian cycle) ,而 G G G 是一个哈密顿图。

半哈密顿图:如果一个非哈密顿图 G G G 存在一条经过每一个顶点 的路径,那么 G G G 是半哈密顿图。

  • 不一定封闭!

哈密顿图的判定

如何判定一个图是不是哈密顿图?

其中最著名的可能是由 G.A.Dirac 提出的,被称为狄拉克定理(Dirac's theorem)。我们从 O.Ore(奥勒)的一个更一般的结果推导出狄拉克定理。奥勒定理(Ore's Theorem)是图论中的一个经典定理,它给出了图是哈密顿图的一个充分条件。

定理7.1(奥勒,1960):设 G G G 是一个具有 n n n( n ≥ 3 n\geq3 n≥3)个顶点的简单图,如果对于每一对不相邻的顶点 v v v 和 w w w,都有 d e g ( v ) + d e g ( w ) ≥ n deg(v)+deg(w)\geq n deg(v)+deg(w)≥n,那么 G G G​ 是哈密顿图。

证明:

  • 反证法假设 :假设存在一个不包含哈密顿圈 的非哈密顿图 G G G,它满足对于每一对非相邻顶点 v v v 和 w w w,都有 deg ⁡ ( v ) + deg ⁡ ( w ) ≥ n \deg(v) + \deg(w) \geq n deg(v)+deg(w)≥n。

  • 最长路径的存在性 :在 G G G 中,我们可以找到一个最长的路径 P P P。这条路径可能不包含 G G G​ 的所有顶点,但包含尽可能多的顶点。

    • 设该路径 P P P 的顶点序列为 v 1 , v 2 , ... , v k v_1, v_2, \dots, v_k v1,v2,...,vk ,其中路径的顶点数 k < n k < n k<n ,一定是小于 n n n,否则就是半哈密顿图。
  • 路径的性质 :由于 P P P 是最长路径,故两个端点 v 1 v_1 v1 和 v k v_k vk 一定不相邻 ,否则我们可以通过加入边 v k v 1 v_kv_1 vkv1 将 P P P 封闭成一个圈,并且尝试在该圈上找到更长的路径,这与假设 P P P 是最长路径矛盾。

  • 非相邻顶点的度数和 :由于 v 1 v_1 v1 和 v k v_k vk 不相邻,根据假设条件,我们有 deg ⁡ ( v 1 ) + deg ⁡ ( v k ) ≥ n \deg(v_1) + \deg(v_k) \geq n deg(v1)+deg(vk)≥n,说明 v 1 v_1 v1 和 v k v_k vk 总共至少与 n n n​ 个顶点相连

    • 由于 v 1 v_1 v1 和 v k v_k vk 都位于路径 P P P 的端点,且 P P P 是最长路径,说明 v 1 v_1 v1 和 v k v_k vk 不可能和路径外的其他 n − k n-k n−k 个顶点相连
    • 而 v 1 v_1 v1 和 v k v_k vk 又总共至少与 n n n 个顶点相连,说明 v 1 v_1 v1 和 v k v_k vk 只能和路径 P P P 中的顶点相连,即度数不会超过 n − k + 1 n-k+1 n−k+1
    • 同时,v 1 v_1 v1 和 v k v_k vk 至少各自与 P P P 中的一个其他顶点相连 ,不会存在其中一个端点度为 1 的情况。
      • 假如 v 1 v_1 v1 度为 1,那么 v k v_k vk 的度为 n − 1 n-1 n−1,这与 v k v_k vk 的度不会超过 n − k + 1 n-k+1 n−k+1 矛盾。
  • 路径 P P P 中必存在圈 :综上所述,存在至少一个顶点 v i v_i vi( 1 < i < n − 1 1<i<n-1 1<i<n−1)在 P P P 上与 v 1 v_1 v1 相邻,并且 v i − 1 v_{i−1} vi−1 与 v k v_k vk 相邻。这意味着我们可以将 v 1 v_1 v1 和 v k v_k vk 连接起来,形成一个圈: v 1 → v 2 → ⋯ → v i − 1 → v k → v k − 1 → ⋯ → v i + 1 → v i → v 1 v_1→v_2→\cdots→v_{i - 1}→v_k→v_{k - 1}→\cdots→v_{i + 1}→v_i→v_1 v1→v2→⋯→vi−1→vk→vk−1→⋯→vi+1→vi→v1​(如图 7.5 所示)。

  • 拓展路径构成矛盾 :最长路径 P P P 中形成了圈,设 u u u 是一个不在 P P P 中的顶点,考虑 u u u 与路径 P P P 上顶点的连接情况。

    • 情况 1 :如果 u u u 与 v 1 v_1 v1 或 v k v_k vk 中的一个顶点相邻。
      • 这样就可以将 u u u 加入到路径 P P P 中,使得 P P P 变得更长,从而与 P P P 是最长路径的假设矛盾。
    • 情况 2 :如果 u u u 与 v 1 v_1 v1 和 v k v_k vk 都不相邻。
      • 根据假设条件,对于不相邻的 v 1 v_1 v1 和 u u u,有 d e g ( v 1 ) + deg ⁡ ( u ) ≥ n deg(v_1) + \deg(u) \geq n deg(v1)+deg(u)≥n。同理,对于不相邻的 v k v_k vk 和 u u u 也有 d e g ( v k ) + deg ⁡ ( u ) ≥ n deg(v_k) + \deg(u) \geq n deg(vk)+deg(u)≥n。因此 u u u 必然与路径 P P P 中的许多顶点相邻
      • 那么通过路径中的圈,该路径总能和顶点 u u u 相连,于是可以添加顶点 u u u 到该路径 P P P 中,形成更长的路径,这与 P P P 是最长路径的假设相矛盾。
  • 结论 :因此,我们的假设是错误的,如果在图中对于每一对不相邻的顶点 v v v 和 w w w,都有 d e g ( v ) + d e g ( w ) ≥ n deg(v)+deg(w)\geq n deg(v)+deg(w)≥n,图 G G G 中必然包含一个具有 n n n 个顶点且存在圈的路径,即哈密顿圈,图 G G G 肯定是哈密顿图。

推论7.2(狄拉克,1952):设 G G G 是一个具有 n n n( n ≥ 3 n\geq3 n≥3)个顶点的简单图,如果对于每个顶点 v v v,都有 d e g ( v ) ≥ n / 2 deg(v)\geq n/2 deg(v)≥n/2,那么 G G G 是哈密顿图。

证明:这个结果直接由定理7.1得出,因为对于每一对顶点 v v v 和 w w w,无论它们是否相邻,都有 d e g ( v ) + d e g ( w ) ≥ n deg(v)+deg(w)\geq n deg(v)+deg(w)≥n。

相关推荐
南宫生20 小时前
力扣-图论-19【算法学习day.69】
java·学习·算法·leetcode·图论
南宫生1 天前
力扣-图论-15【算法学习day.65】
java·学习·算法·leetcode·图论
mit6.8241 天前
[数据结构#2] 图(1) | 概念 | 邻接矩阵 | 邻接表 | 模拟
算法·深度优先·图论
南宫生1 天前
力扣-图论-18【算法学习day.68】
java·学习·算法·leetcode·图论
autotian2 天前
多智能体/多机器人网络中的图论法
机器人·图论·graph·multiagent·多智能
ChoSeitaku2 天前
图的基本概念|存储
算法·图论
打不了嗝 ᥬ᭄4 天前
P8795 [蓝桥杯 2022 国 A] 选素数
算法·leetcode·职场和发展·蓝桥杯·图论
南宫生4 天前
力扣-图论-16【算法学习day.66】
java·学习·算法·leetcode·图论
薔薇十字5 天前
【代码随想录day58】【C++复健】 117. 软件构建(拓扑排序);47. 参加科学大会(dijkstra(朴素版)精讲)
c++·算法·leetcode·图论
南宫生6 天前
力扣-图论-14【算法学习day.64】
java·学习·算法·leetcode·图论