3

Consider a weighted graph G=(V,E,w). We are given a family of subsets of vertices V_i.

A Steiner Forest is a forest that for each subset of vertices V_i connects all of the vertices in this subset with a tree.

Example: only one subset V_1 = V. In this case a Steiner forest is a spanning tree of the whole graph.

Example: a graph P4 (path with 4 vertices) and two subsets: V_1 = {v1, v4} and V_2 = {v2, v3}. The Steiner tree for this example is the whole graph.

Enough theory. Finding such a forest with minimal weight is difficult (NP-complete). Do you know any quicker approximate algorithm to find such a forest with non-optimal weight?

Tadeusz A. Kadłubowski
  • 8,047
  • 1
  • 30
  • 37
  • 1
    This *might* be appropriate for SO, but given the apparent difficulty level of the math, you might have better luck on http://mathoverflow.net. – Michael Petrotta Apr 19 '10 at 16:42
  • For completeness: the same question I've asked on mo.net: http://mathoverflow.net/questions/21859/an-approximate-algorithm-for-finding-steiner-forest-in-a-graph – Tadeusz A. Kadłubowski May 12 '11 at 11:55

2 Answers2

4

Chapter 20 of Approximation Algorithms by Vijay Vazirani describes a schema for generating a Steiner Forest. The analysis uses LP-duality, which he uses to determine the factor of the algorithm:

(This is a factor-2 algorithm but in practice it probably fares quite well)

Approximation Algorithms

Also: see the note in 22.5 that describes three papers for further reading, including a survey of the topic.

cjb
  • 56
  • 2
0

Maybe you can restate this problem as other NP-complete, for which you know any suboptimal algorithms? This is just a guess, though -- I can't find such mapping with my very limited math skills :)

Victor Sorokin
  • 11,878
  • 2
  • 35
  • 51