A Bit of History
Nicos Christofides, a Cypriot-British operational researcher, described this algorithm in a 1976 technical report at Carnegie Mellon University — and, in an unusual quirk of academic history, never formally published it in a peer-reviewed journal for decades, even as it became one of the most cited and taught results in combinatorial optimization, circulated informally among researchers who recognized its significance long before any formal publication. For over 40 years it stood as the best known polynomial-time approximation guarantee for metric TSP, until a 2020 paper by Anna Karlin, Nathan Klein, and Shayan Oveis Gharan achieved a very slightly better (though still \(3/2 - \epsilon\) for a tiny \(\epsilon\)) bound — a reminder that even 44-year-old landmark results can eventually be nudged forward by new techniques.
Working Principle
Christofides' algorithm applies only to metric TSP — instances where distances satisfy the triangle inequality (\(d(a,c) \leq d(a,b) + d(b,c)\)) — and combines three algorithms already covered in this series into one guaranteed-quality tour:
- Build a Minimum Spanning Tree \(T\) of the graph (via Prim's or Kruskal's algorithm from earlier deep dives).
- Find all odd-degree vertices in \(T\). By the Handshake Lemma (Part 4), there is always an even number of them.
- Compute a minimum-weight perfect matching \(M\) on just those odd-degree vertices (via the Blossom Algorithm, since this matching is not necessarily bipartite — see the next deep dive), and add \(M\)'s edges to \(T\), producing a multigraph where every vertex now has even degree.
- Find an Eulerian circuit on this multigraph (via Hierholzer's algorithm, previewed for the next deep dive) — guaranteed to exist by Euler's own theorem from Part 12, since every vertex now has even degree.
- Shortcut the Eulerian circuit into a Hamiltonian cycle by skipping any already-visited vertex, using the triangle inequality to guarantee skipping never increases total distance.
Worked Example
Consider 5 points roughly forming a pentagon. The MST connects them with 4 edges forming a tree (say, a "star" or "path" shape depending on exact distances); in a path-shaped MST, exactly the two endpoints have odd degree (degree 1) — everything else has even degree. Matching those two odd-degree endpoints directly (a trivial 1-edge matching, since there are only two of them) and adding that edge to the tree creates a multigraph where every vertex has even degree, so an Eulerian circuit exists trivially by simply traversing the tree and returning via the matching edge. Shortcutting (skipping repeats) then reconstructs a valid tour of all 5 cities.
Why 3/2 Is Guaranteed
The approximation guarantee follows from comparing three quantities. Let \(OPT\) be the optimal tour cost. Since removing any single edge from the optimal tour produces a spanning tree, the MST cost satisfies \(w(T) \leq OPT\). The minimum-weight matching on the odd-degree vertices costs at most half the optimal tour's cost restricted to those vertices — a clever argument using the fact that the optimal tour, restricted to just the odd-degree vertices in order, splits into two matchings whose combined weight is at most \(OPT\), so the cheaper of the two is at most \(OPT/2\): \(w(M) \leq OPT/2\). Combining:
$$w(T) + w(M) \leq OPT + \frac{OPT}{2} = \frac{3}{2}OPT$$
The Eulerian circuit built from \(T \cup M\) costs exactly \(w(T)+w(M)\), and the triangle inequality guarantees shortcutting can only decrease (never increase) the total distance — so the final tour costs at most \(\frac{3}{2}OPT\), guaranteeing the algorithm is never more than 50% worse than optimal.
Complexity Analysis
Each stage runs in polynomial time — MST construction \(O(E \log V)\), minimum-weight perfect matching on the odd-degree vertices (the bottleneck) \(O(V^3)\) via classical implementations of the Blossom Algorithm, and Hierholzer's Eulerian circuit \(O(E)\):
$$\text{Time: } O(V^3) \qquad \text{(dominated by the minimum-weight matching step)}$$
This is polynomial — a dramatic contrast with Held-Karp's exponential exact solving, at the cost of only guaranteeing a 3/2-approximation rather than the true optimum.
Implementation
Real-World Applications
Large-Scale Delivery Route Planning
Postal services and large delivery networks with hundreds or thousands of stops per route are far past the practical reach of exact Held-Karp solving, but the euclidean/road-network distances involved genuinely satisfy the triangle inequality — making Christofides' guaranteed 3/2-approximation a principled, provably-bounded choice for daily route generation, rather than relying purely on unguaranteed heuristics.
Exercises
- Verify by hand that the Handshake Lemma guarantees an even number of odd-degree vertices in any spanning tree, and explain why this is essential for Christofides' algorithm to work at all.
- Explain in your own words why the minimum-weight matching step specifically needs the (non-bipartite) Blossom Algorithm rather than Hopcroft-Karp, referencing the "odd-degree vertices" set the matching is computed on.
- Trace through the 5-city worked example by hand: build the MST, identify odd-degree vertices, match them, and shortcut the resulting Eulerian circuit into a final tour.
- Challenge: Research the 2020 Karlin-Klein-Oveis Gharan result that slightly improved on the 3/2 bound, and summarize (at a high level) what new technique enabled the improvement after 44 years.
Limitations
Requires the Triangle Inequality
Christofides' 3/2 guarantee depends entirely on metric distances satisfying the triangle inequality — for general (non-metric) TSP instances, no polynomial-time algorithm can guarantee any constant approximation ratio unless P = NP, since arbitrarily bad instances can be constructed. The algorithm is also comparatively complex to implement correctly end-to-end, requiring working MST, minimum-weight matching, and Eulerian circuit implementations all cooperating precisely.