哈密顿路径

概述

哈密顿路径(Hamiltonian path)是图中经过每个顶点恰好一次的路径。若该路径的起点和终点相同(即首尾相连形成回路),则称为哈密顿回路(Hamiltonian circuit/cycle)。与欧拉路径(遍历每条边恰好一次)不同,哈密顿路径关注的是顶点的遍历。判断一个图是否存在哈密顿路径/回路是NP 完全问题,没有已知的多项式时间算法。Dirac 定理Ore 定理给出了哈密顿回路存在的充分条件(基于顶点度数)。哈密顿路径的加权版本即为著名的旅行商问题(TSP),是组合优化领域的核心问题之一。

定义

哈密顿路径(Hamiltonian Path)

是一个简单图, 中的一条哈密顿路径是一个包含 中所有 个顶点的简单路径,即经过每个顶点恰好一次的路径:

其中 ),且 )。

哈密顿回路(Hamiltonian Circuit / Hamiltonian Cycle)

若一条哈密顿路径的起点和终点之间存在边,即 ,则称该路径构成一个哈密顿回路

哈密顿回路经过每个顶点恰好一次并回到起点,是哈密顿路径的特殊情况。

哈密顿图(Hamiltonian Graph)

若图 中存在哈密顿回路,则称 哈密顿图

旅行商问题(Traveling Salesman Problem, TSP)

加权完全图 中,旅行商问题要求找到一条经过所有 个顶点恰好一次并返回起点的回路,使得回路的总权重最小:

TSP 是哈密顿回路问题在加权图上的优化版本,是经典的NP 困难问题。

核心性质

性质描述备注
NP 完全性判断哈密顿路径/回路的存在性是 NP 完全问题不存在已知的多项式时间算法
与欧拉路径的区别哈密顿路径遍历所有顶点,欧拉路径遍历所有边两者关注对象不同,不可混淆
Dirac 定理简单图 )中若 ),则 是哈密顿图充分条件,非必要条件
Ore 定理简单图 )中若 不相邻 ),则 是哈密顿图Dirac 定理的推广
必要条件哈密顿图必须是连通图不连通图不可能存在哈密顿路径
子图必要条件删除任意 个顶点后,剩余连通分支数不超过 用于判断图不是哈密顿图

关系网络

graph TB
    A["哈密顿路径"] --> B["基本概念"]
    A --> C["存在性判定"]
    A --> D["计算复杂性"]
    A --> E["应用问题"]

    B --> B1["哈密顿路径:遍历所有顶点"]
    B --> B2["哈密顿回路:首尾相连"]
    B --> B3["哈密顿图:存在哈密顿回路"]

    C --> C1["Dirac 定理:deg(v) ≥ n/2"]
    C --> C2["Ore 定理:deg(u)+deg(v) ≥ n"]
    C --> C3["必要条件:连通性"]

    D --> D1["NP 完全问题"]
    D --> D2["无多项式时间算法"]
    D --> D3["穷举搜索 O(n!)"]

    E --> E1["旅行商问题 TSP"]
    E --> E2["Gray 码构造"]
    E --> E3["DNA 序列拼接"]

    A --> F["关联概念"]
    F --> F1["[[离散数学/concepts/加权图]]"]
    F --> F2["[[离散数学/concepts/贪心算法]]"]
    F --> F3["[[离散数学/concepts/算法复杂度]]"]
  • 前置知识:图的基本概念(路径、连通性、顶点度数)
  • 核心关联:哈密顿路径与欧拉路径是图论中两个经典遍历问题,前者遍历顶点、后者遍历边。两者在判定难度上存在本质差异——欧拉路径有多项式时间判定算法,而哈密顿路径是 NP 完全的
  • 后继概念加权图(加权哈密顿回路即旅行商问题 TSP)

章节扩展

第10章:图论

哈密顿路径是 Rosen 第8版第10章中图论的重要概念,与欧拉路径并列讨论,体现了”遍历”这一核心主题的两个不同维度。

哈密顿路径与欧拉路径的本质区别

比较维度哈密顿路径欧拉路径
遍历对象每个顶点恰好一次每条边恰好一次
判定复杂性NP 完全多项式时间($O(
存在性条件仅有充分条件(Dirac、Ore)充要条件(度数为奇数的顶点个数)
应用场景旅行商问题、调度问题一笔画问题、邮递员问题

Dirac 定理与 Ore 定理的关系:Ore 定理是 Dirac 定理的推广。若 对所有 成立,则对任意两个不相邻顶点 ,有 ,满足 Ore 条件。因此 Dirac 定理是 Ore 定理的推论。

NP 完全性说明:哈密顿路径问题是 NP 完全的,意味着:

  • 可以在多项式时间内验证一个给定的路径是否为哈密顿路径(只需检查是否包含所有顶点且无重复)
  • 但不存在已知的多项式时间算法来判定哈密顿路径是否存在
  • 对于 个顶点的图,穷举所有排列需要 时间,实际中不可行

补充

哈密顿路径的实际应用

哈密顿路径及旅行商问题在多个领域有重要应用:

  • Gray 码 位 Gray 码对应 维超立方体 中的一条哈密顿路径,相邻码字仅有一位不同,用于数字通信和误差检测
  • DNA 序列拼接:在生物信息学中,DNA 片段的拼接可建模为在有向图(de Bruijn 图)中寻找哈密顿路径
  • 旅行商问题:物流配送、芯片钻孔、电路板布线等场景中,需要在多个地点之间找到最短巡回路线
  • 调度问题:任务调度中,若任务之间存在先后约束,可建模为哈密顿路径问题

判断哈密顿路径的实用策略

  • 充分条件优先:先检查 Dirac/Ore 条件,若满足则直接判定存在哈密顿回路
  • 必要条件排除:检查连通性、删除顶点后的连通分支数等必要条件,若不满足则判定不存在
  • 小图穷举:对于顶点数较少的图(),可直接穷举所有排列
  • 启发式算法:对于大规模问题,使用近似算法(如最近邻启发式、2-opt 局部搜索)求近似解

常见误区

  • 不要混淆哈密顿路径与欧拉路径:哈密顿遍历顶点,欧拉遍历边,两者是不同的问题
  • Dirac/Ore 定理是充分条件而非充要条件:不满足这些条件的图仍可能是哈密顿图(如长度 的奇数环
  • 完全图 一定存在哈密顿回路 中有 条不同的哈密顿回路
  • 二分图中的哈密顿路径:完全二分图 存在哈密顿回路的充要条件是

参见

  • 加权图 — 加权图中的哈密顿回路即旅行商问题
  • 贪心算法 — TSP 的近似算法常采用贪心策略
  • 算法复杂度 — 哈密顿路径的 NP 完全性分析