Jump to content

Christofides algorithm

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by CommonsDelinker (talk | contribs) at 12:35, 4 February 2014 (Replacing Metrischer_Graph_mit_4_Knoten.svg with File:Metrischer_Graph_mit_5_Knoten.svg (by Marcus Cyron because: File renamed: ).). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The goal of the Christofides approximation algorithm (named after Nicos Christofides) is to find a solution to the instances of the traveling salesman problem where the edge weights satisfy the triangle inequality. Let be an instance of TSP, i.e. is a complete graph on the set of vertices with weight function assigning a nonnegative real weight to every edge of .

Algorithm

In pseudo-code:

  1. Create a minimum spanning tree of .
  2. Let be the set of vertices with odd degree in and find a perfect matching with minimum weight in the complete graph over the vertices from .
  3. Combine the edges of and to form a multigraph .
  4. Form an Eulerian circuit in (H is Eulerian because it is connected, with only even-degree vertices).
  5. Make the circuit found in previous step Hamiltonian by skipping visited nodes (shortcutting).

Approximation ratio

The cost of the solution produced by the algorithm is within 3/2 of the optimum.

The proof is as follows:

Let A denote the edge set of the optimal solution of TSP for G. Because (V,A) is connected, it contains some spanning tree T and thus w(A)w(T). Further let denote the edge set of the optimal solution of TSP for the complete graph over vertices from . Because the edge weights are triangular (so visiting more nodes cannot reduce total cost), we know that w(A)w(B). We show that there is a perfect matching of vertices from with weight under w(B)/2w(A)/2 and therefore we have the same upper bound for (because is a perfect matching of minimum cost). Because must contain an even number of vertices, a perfect matching exists. Let e1,...,e2k be the (only) Eulerian path in . Clearly both e1,e3,...,e2k-1 and e2,e4,...,e2k are perfect matchings and the weight of at least one of them is less than or equal to w(B)/2. Thus w(M)+w(T)w(A) + w(A)/2 and from the triangle inequality it follows that the algorithm is 3/2-approximative.

Example

Given: metric graph with edge weights
Calculate minimum spanning tree .
Calculate the set of vertices with odd degree in .
Reduce to the vertices of ().
Calculate matching with minimum weight in .
Unite matching and spanning tree ().
Calculate Euler tour on (A-B-C-A-D-E-A).
Remove reoccuring vertices and replace by direct connections (A-B-C-D-E-A). In metric graphs, this step can not lengthen the tour.

This tour is the algorithms output.


References

  • NIST Christofides Algorithm Definition
  • Nicos Christofides, Worst-case analysis of a new heuristic for the travelling salesman problem, Report 388, Graduate School of Industrial Administration, CMU, 1976.