Christofides定理
概述
Christofides定理(Christofides’ Theorem):对于满足三角不等式的旅行商问题(metric TSP),Christofides算法可以找到一个代价不超过最优TSP回路 倍的哈密顿回路,即给出 -近似解。
定理陈述
形式化陈述
设 是完全图,边权函数 满足三角不等式:
设 为最优TSP回路的总权重。Christofides算法输出的哈密顿回路 满足:
该算法是多项式时间可执行的,时间复杂度主要由最小权完美匹配步骤决定。
Christofides算法步骤
- 构造最小生成树 :在 上计算MST,权重
- 识别奇度顶点: 中所有度数为奇数的顶点构成集合 ( 必为偶数)
- 最小权完美匹配 :在 上计算最小权完美匹配,权重
- 构造欧拉多重图 : 中每个顶点的度数均为偶数,故存在欧拉回路
- Shortcut得到哈密顿回路 :沿欧拉回路遍历,利用三角不等式跳过已访问顶点
证明概要
证明思路
证明分为三个关键引理,分别界定MST权重、匹配权重和shortcut代价:
引理1:
- 从最优TSP回路中删除任意一条边,得到一条生成树(哈密顿路径)
- MST是最小权生成树,故 任意生成树的权重
引理2:
- 设最优TSP回路为 ,将 中 内的顶点按 上的顺序排列为
- 考虑 上的两种匹配:
- 和 都是 上的完美匹配
- (因为 恰好覆盖 上所有边)
- 因此
- 是最小权完美匹配,故
引理3:
- 是欧拉多重图,存在欧拉回路遍历每条边恰好一次
- 欧拉回路总权重
- 利用三角不等式进行shortcut:当欧拉回路经过已访问顶点时,直接跳到下一个未访问顶点
- 由三角不等式,shortcut不会增加总权重:
综合结论
参考资源:
- Cornell CS6820 Christofides算法分析:http://www.cs.cornell.edu/courses/cs6820/2022fa/Handouts/Christofides.pdf
- Princeton近似算法讲义:https://www.cs.princeton.edu/~wayne/cs423/lectures/approx-alg.pdf
- UIUC CS598CSC近似算法课程:https://courses.grainger.illinois.edu/cs598csc/sp2009/lectures/lecture_2.pdf
关键推论
- 紧致性: 的近似比是紧的——存在实例使得Christofides算法恰好达到
- P=NP暗示:若P=NP,则可在多项式时间内精确求解metric TSP,但Christofides的 -近似仍是P!=NP假设下最好的多项式时间保证之一
- 超越Christofides:2011年Svensson、Tarnawski、Vegh等人的工作对特殊情形改进了近似比,但一般metric TSP的 -近似仍是经典最优
应用场景
在算法导论(CLRS)Ch35近似算法中的具体应用:
- 旅行商问题的实际求解:当问题规模较大且需要多项式时间保证时,Christofides算法是metric TSP的标准近似方法
- VLSI布线:芯片设计中需要找到访问一组焊盘的最短路径,距离满足欧几里得距离的三角不等式
- 物流配送:快递配送路线规划中,城市间距离满足三角不等式
- 贪心算法:Christofides算法中的MST步骤使用了贪心策略(Kruskal或Prim算法)