Steiner Tree Problem: Definition and Approximation Algorithms, Study notes of Computer Science

The steiner tree problem is a classic optimization problem in graph theory, where the goal is to find a minimum-weight tree that spans all required vertices (r) and possibly some steiner vertices (s) in a weighted graph. This problem goes back to gauss and is np-hard. Approximation algorithms like the minimum spanning tree heuristic and christofides' algorithm can provide suboptimal solutions with guaranteed approximation ratios.

Typology: Study notes

Pre 2010

Uploaded on 09/02/2009

koofers-user-17l
koofers-user-17l 🇺🇸

10 documents

1 / 14

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Steiner tree problem: definition
Given: A graph G= (V,E), edges weighted by c, where c
satisfies triangle inequality
c(x,y) + c(y,z)c(x,z)
and Vis partitioned as
V=RS
(R= required vertices, terminals;S=Steiner vertices),
Find: A minimum-weight tree that spans all of R(and possibly
some of S).
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Partial preview of the text

Download Steiner Tree Problem: Definition and Approximation Algorithms and more Study notes Computer Science in PDF only on Docsity!

Steiner tree problem: definition

Given: A graph G = (V , E ), edges weighted by c, where c satisfies triangle inequality

c(x, y ) + c(y , z) ≥ c(x, z)

and V is partitioned as V = R ∪ S (R = required vertices, terminals; S = Steiner vertices), Find: A minimum-weight tree that spans all of R (and possibly some of S).

Steiner tree problem: notes

Triangle inequality implies G is complete (if G is not complete, we may still make it so for the purpose of this problem by using instead its metric completion: for every pair of vertices u, v , add an edge of weight d(u, v ), where d is the length of the shortest path between u and v. NP-hard optimization problem Problem goes back to Gauss (early 19th century) Often considered in the Euclidean plane; then, R only given, S implicitly all the vertices of the plane

Minimum spanning tree heuristic

Since G is complete, we can try to ignore the Steiner points: Algorithm: Find a minimum spanning tree on R, use this as an “approximate” Steiner tree. How good (or bad) is this?

Minimum spanning tree analysis

(^1) Double every edge of the tree.

(Note: the image shows Steiner vertices in the tree; this may happen if, as mentioned above, we had to form the metric completion of the original input graph.) (^2) This graph has all even degrees; find an Eulerian tour (possible in time O(n)). (^3) The cost of the tour: ≤ 2 ·OPT. (^4) Now find a Hamilton tour of R by shortcutting around vertices of S in the tree and previously visited vertices of R

Notes

The analysis is actually tight. (Example?) More complicated algorithms can improve the approximation guarantee to 11/6 (instead of 2) [Zelikovsky] Best known guarantees: for the general graph problem: roughly 5/3 (3/2 is the goal, but seems unreachable right now) if the terminals are in the Euclidean plane, 1 +  is possible for any  > 0 (we’ll see this later in the course)

(Metric) Traveling salesman problem (TSP)

Given: A graph G = (V , E ), edges weighted by c, where c satisfies triangle inequality

c(x, y ) + c(y , z) ≥ c(x, z)

Find: A minimum-weight cycle that visits every vertex exactly once. Note: Solution exists because G is wlog complete If no triangle inequality, no approximation ratio is possible unless P=NP. (Proof sketch on the board.)

MST approximation to TSP: analysis

The same argument as for the Steiner tree problem: (^1) cost(T ) ≤OPT (Take an optimal TSP tour, remove an edge, giving an MST of smaller cost.) (^2) cost(T ) ≤ 2OPT (^3) Shortcutting gives cost(C) ≤ 2OPT. Tight example?

3 /2 approximation for metric TSP

Where do we lose factors in the analysis? Answer: Making an Euler tour from T takes a factor of 2 immediately. Note: ANY Eulerian graph built on top of T would work! So: Can we find a cheaper Eulerian graph containing T?

Christofides’ algorithm

(^1) Find an MST T of G. (^2) Find a minimum-weight matching on the set of odd degree vertices of T , and add the matching edges to T. (^3) Find an Euler tour T on this new graph. (^4) Output the tour that visits vertices of G in order of their first appearance in T. Let C be this tour. Claim: The above is a 3/2-approximation algorithm for metric TSP.

Christofides’ approximation to TSP: analysis

The same argument as before: (^1) cost(T ) ≤OPT (Take an optimal TSP tour, remove an edge, giving an MST of smaller cost.) (^2) cost(T ) ≤ 3 /2OPT (^3) Shortcutting gives cost(C) ≤ 3 /2OPT. The missing piece: The minimum-weight perfect matching on the set of odd-degree vertices of T has weight ≤OPT/2. Argument: on the board.