Approximation Algor ithms for Directed Steiner Tree
Problems
y z x {
Moses Charikar Chandra Chekuri Ashish Goel Sudipto Guha
Dept of Computer Science
Stanford Univers ity
fmoses,chekuri,agoel,[email protected]
March 20, 1997
Ab stract
TheSteiner tree problem which i s known to b e NP-Completeisthe following. Givenawe ighted
undirecte d graph G =V; E, andaset X V of terminals,the ob jectiveisto nd a tree
of minimum cost which connects all theterminals. If the graph i s directed, in addition to
X ,we are given a ro ot r 2 V ,andthe ob jectiveisto nd a minimum cost arb ore scence
which connectstherootto eachoftheterminals. In the Generalize d Steiner tree problem, we
are givenaset X of pairs of vertice s, andthe goal i s to nda subgraph of minimum cost
suchthat each pair in X i s connected. In theundirecte d cas e, constant f actor algor ithms are
known for b oththevers ions [11, 14, 17, 1, 15], but e ss entially no approximation algor ithms
were known for the s e problems in the directe d cas e, other than the tr ivial O k -approximations.
We obtain the rst non-tr ivial approximation algor ithms for b oth problems in general directed
graphs. For the Directed Steiner tree problem, wede s ign a f amily of algor ithms thatachieve
1=
an approximation ratio of O k intime O kn for any xe d >0, where k is thenumber of
terminals. For the Directe d Generalize d Steiner tree problem, we give an algor ithm thatachieves
1=3
2=3
an approximation ratio of O k log k , where k is thenumb er of pairs of vertice s that are to
b e connecte d. Relate d problems includingthe Group Steiner tree problem, theNodeWe ighted
Steiner tree problem andseveral others can b e re ducedinanapproximation pre s erving f ashion
tothe problems we solve, givingthe rst non-tr ivial approximations tothos e as well.
For the Directed Steiner tree problem, a re sult s imilar to ours has b een obtained indep endentl y in [6] byTo-yat
Cheung, Zuo Dai and MingLiofthe Department of Computer Science, City Univers ity of Hong Kong.
y
Supp orted byanARO MURI GrantDAAH04-96-1-0007 and NSF Award CCR-9357849, withmatchingfunds
f rom IBM, Schlumb erger Foundation, Shell Foundation, and Xerox Corp oration.
z
Supp orted byanARO MURI GrantDAAH04-96-1-0007 and NSF Award CCR-9357849, withmatchingfunds
f rom IBM, Schlumb erger Foundation, Shell Foundation, and Xerox Corp oration.
x
Supp orted byARO GrantDAAH04-95-1-0121 and NSF Grant CCR9304971
{
Supp orted byanARO MURI GrantDAAH04-96-1-0007 and NSF Award CCR-9357849, withmatchingfunds
f rom IBM, Schlumb erger Foundation, Shell Foundation, and Xerox Corp oration.
1 Intro duction
TheSteiner tree problem i s de ne d as follows: given a graph G =V; E with a cost function c on
the e dge s, andasubs et of vertice s X V calle d terminals, the goal i s to nd a minimum cost
tree that include s all thevertice s in X .The cost of the tree i s de ne d as thesumofthe costsofthe
edgesinthe tree. Notethatthe tree may includevertice s not in X as well.
TheSteiner tree problem i s known to b e NP-Hard even when the graph i s induce d by p ointsin
the plane[7], and i s MAXSNP-hard [4] for general graphs. The rst p olynomial timeapproximation
algor ithms for thi s problem were developed by Kou, Markowsky and Berman [11]andbyTakahashi
1
where k is the andMatsuyama [14]. The s e algor ithms achieve d an approximation f actor of 2
k
11
numberofterminals. Zelikovsky [17] obtained a ratio of andthi s has b een further improved by
6
Berman and Ramaiyer [3]and Karpinski and Zelikovsky [13]. The best ratio achievable currently i s
1:644. In a recent breakthrough re sult, Arora [2]has given a p olynomial timeapproximation scheme
for theSteiner tree problem on graphs induce d by p ointsinthe plane.
The directed vers ion of theSteiner tree problem i s a natural extens ion of theundirected vers ion
andisde ne d as follows. Given a directe d graph G =V; A, a sp eci e d ro ot r 2 V ,and a s et of
terminals X V; jX j = kthe ob jectiveisto ndthe minimum cost arb ore scence ro oted at r and
spanning all thevertice s in X in other words r should havea pathtoevery vertex in X . The Directed
Steiner tree problem has s everal applications in networkde s ign, routinginmulticast networks and
other relate d areas. See [16] for a survey on the us e of Steiner tree problems in networks. From a
theoretical p oint of view it tur ns outto b e us eful in a numberofreductions of problems involving
connectivityandcover ing including, the Group Steiner tree problem in b oth directed andundirected
graphs, s everal intere sting problems in connecte d domination, namely Edge We ighte d Connected
Dominatingsets, Group or Set TSP,Nodewe ighted Steiner Connecte d domination, andothers.
For someofthereductions regarding connecte d domination s ee [9]. We also cons ider the Directed
Generalize d Steiner tree problem where instead of a ro ot and a s et of terminals we are given a s et of
k pairs of vertice s, andthe ob jectiveisto nd a minimum cost subgraph which connects each pair.
Constant f actor algor ithms are known for theundirecte d cas e [1,15].
A f airly easy re duction f rom the Set cover problem as has b een obs erved bymanyothers shows
thatitishard toapproximate Directed Steiner tree toafactor b etter than ln k where k is thenumber
of terminals. It i s also easy to obtain an approximation f actor of k ,by connectingevery terminal to
therootviaashortest path. The only known p olynomial timeapproximation algor ithm even for a
sp ecial cas e i s due to Zelikovsky [18], where he give s an approximation algor ithm of ratio O k for
any > 0 for directed acyclic graphs. No algor ithms were known for the cas e of general directed
graphs.
In thi s pap er, we presentafactor O k approximation algor ithm for any >0 for the Directed
Steiner tree problem. Thi s i s a new and s impler approach compare d to Zelikovsky's approach in [18].
p
log k
Our algor ithm can b e mo di e d to giveanO2 approximation in quas i-p olynomial time. Thi s
f act hintsatthe p oss ibility of obtaining p olylogar ithmic approximation guarantee s for the problem.
We also pre s ent an algor ithm for the Directe d Generalize d Steiner tree problem whichachieves an
1
2
3 3
approximation f actor of O k log k . Our re sults imply s imilar ratios for s everal other var iants
includingthe Group Steiner tree problem andtheNodeWe ighted Steiner tree problem in directed
graphs via somewell known s imple approximation pre s ervingreductions. Therestofthe pap er i s
organize d as follows. In Section 2 we s et up the notation and prove some bas ic lemmas. Sections 3
and4 de scr ib e the algor ithms for the Directed Steiner tree andthe generalize d vers ions re sp ectively.
We br ie y sketchthereductions of someoftheother var iants in Section 5. 1
2 Preliminar ie s
In thi s s ection we will prove some bas ic lemmas concer ningdecomp os ing tree s andhowtousethem
to obtain partial solutions for the problem athand. Wede ne a slightly more general vers ion of the
Directed Steiner tree problem b elow.
De nition 1 Given root r 2 V G, an integer k and a set X V of terminals with jX j k, the
problem D-Steinerk; r;X is to construct a treerootedat r,spanning any k terminals in X and
of minimum possible cost.
We giveaOk approximation totheD-Steinerk; r;X problem which implie s the sameratio
for the Directed Steiner tree problem. It i s also easy to s ee thatthi s implie s a s imilar ratio for
the generalization of the k -MST problem [5,8]to directe d graphs, where the ob jectiveisto ndan
arb ore scence on k vertice s of G of minimum cost.
Let cedenotethe cost of e dge e and let cT denotethe cost of a tree T ,orthesumofthe costs
of theedgesinT. Let k T denotethenumberofterminals in T ;inother words k T = T \X.
De nition 2 De ne dT , the dens ity of tree T to be the ratio of the cost of the tree to the number
of terminals in T ; in other words dT = cT=k T .
We will assume without loss of generalitythat all terminals are atthe leave s of anySteiner tree. We
can arrange thi s by connectingadummyterminal tothe real terminal with a zero cost e dge. The
following lemmashows thatwe can partition a tree intotwo almost equal parts.
0 0 0 0
Lemma1 We can partition any out-tree T into two trees T and T such that cT +cT cT
1 2 1 2
2 1
0 0 0