Cycles · Traveling Salesman Problem
Lesson 4
We present a \(2\)-approximation algorithm for the traveling salesman problem in a metric graph. A complete undirected graph \(G(V,E=\binom{V}{2})\) is called metric if the weight function \(w \colon E \to \mathbb{R}_{\ge 0}\) of its edges is a metric: for any three distinct vertices \(u,v,z\in V\) the triangle inequality holds \[w(u,v) \le w(u,z)+w(z,v) \ .\] (The two remaining metric axioms are automatically satisfied: there are no loops in the graph, so we can assume \(w(u,u)=0\), and the graph is undirected, so \(w(u,v)=w(v,u)\).)
It is easy to see that for any undirected graph (whose edge weights are non-negative), the minimum weight of a spanning tree is no greater than the minimum weight of a Hamiltonian path (or cycle). Indeed, a Hamiltonian path is a special case of a spanning tree, and deleting any edge of a Hamiltonian cycle gives a spanning tree. (It is interesting to note that a spanning tree has \(n-1\) edges and forms a connected subgraph, whereas a Hamiltonian cycle has \(n\) edges and every vertex has degree two. This additional, seemingly harmless, requirement significantly increases the computational complexity of the problem: the minimum spanning tree can be found in almost linear time, while no polynomial-time exact algorithm for the traveling salesman problem is known.)
Thus, in the first step, the algorithm constructs the minimum spanning tree of the graph. Its weight is certainly no greater than \(\text{OPT}\), the minimum Hamiltonian cycle. For example, for the graph

such a tree can be obtained.


