Improved Approximations of Maximum Planar Subgraph - CiteSeerX

17 downloads 0 Views 185KB Size Report
A simple heuristic for MPSP nds the maximum cost spanning tree of G and then ... Let T be a maximum spanning tree (MST) of G. We denote the cost of T by t2 ...
Improved Approximations of Maximum Planar Subgraph Alexander Zelikovsky Abstract

The maximum planar subgraph problem (MPSP) asks for a planar subgraph of a given graph with the maximum total cost. We suggest a new approximation algorithm for the weighted MPSP. We show that it has performance ratio of 5/12 in the case of graphs where the maxumum cost of an edge is at most twice the minimum cost of an edge. For the variant of MPSP that asks for an outerplanar graph, the algorithm suggested is the rst with the higher performance ratio (7/12 instead of 1/2).

Keywords: Combinatorial problems, approximation algorithms, planar subgraph.

1 Introduction Let G = (V; E ) be a graph with a nonnegative cost function on edges c : E ! R+ . The maximum planar subgraph problem (MPSP) asks for a planar subgraph of G with the maximum total cost. This problem has applications in circuit layout, facility layout, and graph drawings [8, 12]. So many approximation algorithms appear in the last decade [7, 5, 3, 11]. The quality of an approximation algorithm is measured by its performance ratio: a lower bound on the ratio between achieved cost and optimal cost. This problem is MAX SNPhard [4]. This means that there is a constant  > 0 such that unless P = NP , there is no polynomial-time approximation algorithm for MPSP with the performance ratio 1 ? . A simple heuristic for MPSP nds the maximum cost spanning tree of G and then tries to add some edges while it is possible to keep the graph planar. Unfortunately, it was shown in [7] that this heuristic and minimum spanning tree based heuristics cannot guarantee that the output graph costs more than one third of the optimal one. Better heuristics for the unweighted MPSP have been recently appeared in [4]. They found the best and approximately best 3-block trees. A graph is a 3-block tree if any its 2-connected component (block) has at most three vertices. It was proved that performance ratios of these heuristics are at least 187 and 25 , respectively. Here we suggest several approximation algorithms for the weighted MPSP. These algorithms are applications of heuristics rst suggested for the Steiner tree problem [13, 1, 2, 14]. The greedy algorithm approximates the best weighted 3-block tree in the given graph G (Section 2). In Section 3 we estimate the quality of the greedy algorithm. We prove that it 

Computer Science Department, University of Virginia. E-mail: alexz@ r.cs.virginia.edu

1

cannot guarantee more than 5/12 of the optimum and this performance ratio is achievable in the case of graphs where the maxumum cost of an edge is at most twice the minimum cost of an edge. In the last section the greedy algorithm is applied to the maximum weighted outerplanar subgruph problem [9]. In this case it guarantees the output cost at least 7/12 of the optimum.

2 The Greedy Algorithm Let T be a maximum spanning tree (MST) of G. We denote the cost of T by t2 = t2 (G). This tree is a planar graph and its cost is at least one third of OPT , the cost of the optimal planar graph. We try to improve T adding some 3-blocks and keeping the graph to be a 3-block tree. Let  be a triangle in G. We say that an edge e 2 T cuts  if the both connected components of T nfeg contain vertices of  . Let e1 be the smallest edge which cuts  and e2 be the smallest edge of T such that each of the three connected components of T n fe1; e2g contains one vertex of  . We denote Cut( ) = fe1 ; e2g and cut( ) = c(e1) + c(e2). The gain of  , g ( ) = c( ) ? cut( ), is the value which we can gain by adding  to MST. The greedy algorithm (GA) (Fig. 1) nds a triangle with the biggest gain and then stretches  , i.e. assigns the cost 1 to edges of  . GA interrupts when there are no triangles with a positive gain and returns all chosen triangles with the rest of MST-edges. Note that GA outputs a 3-block tree. Indeed, if some chosen triangles make a cycle, the the last triangle  has a gain ?1 since to cut  it is necessary to cut a path consisting of edges of in nite cost. First we show how to nd Cut( ). It is easy to see that in the tree T , three paths connecting three vertices a; b; c of  should have exactly one vertex in common, say m = m( ). Let (m; a)-path contains the least cost edge e1 of the union of all three paths and let the least cost edge e2 in (m; b)-path is cheaper than that in (m; c)-path. Thus Cut( ) = fe1; e2g. For the purposes of analysis we slightly modify GA in the following way. We assume that to stretch  means to extend G with two edges e01 = (a; c) and e02 = (b; c) between ends of  with costs c(e0i ) = c(ei) + g ( ), i = 1; 2. We denote N ( ) = fe01; e02 g. The edges e0i and ei have the following obvious properties.

Remark 1 (i) The forests T ? ei [ e0i , i = 1; 2, and T ? fe ; e g [ fe0 ; e0 g are MST for G [ e0i , i = 1; 2, and G [ fe0 ; e0 g. (ii) The unique cycle of T ? e [ e0 [ e does not contain e0 . 1

1

2

1

2

2

1

1

2

1

Let the modi ed GA nd triangles 1; :::; p. We denote by x2i?1 and x2i the elements of the Cut(i ) (c(x2i?1)  c(x2i)) and by x02i?1 and x02i the corresponding elements of the N (i). For brevity denote Ni = N (i), Gi = G0 [ fx01 ; :::; x0ig, Ti = MST (Gi), denote the gain of  and the vertex m( ) in Gi by gi( ), i = 1; :::; p. The following lemma shows that new edges of a chosen triangle i should be in MST (G) till the algorithm stops. In other words, if we assign the cost 1 to edges of N (i), then the modi ed GA will output the same set of triangles. Therefore, the modi ed and the original GA have the same output 3-block tree.

Lemma 1 N [ ::: [ Np  MST (Gp). 1

2

Greedy Algorithm M

;; G

0

G

repeat forever nd a triangle  2 G0, with the maximum gain,  arg max g( ) if g ( )  0 then exit repeat

M [ stretch  (G G [ N ( )) output A = M [ (MST (G0) \ MST (G)) M

Figure 1: The greedy algorithm GA.

Proof. Each time GA adds an edge xi, it modi es the current MST in the following way Ti Ti?1 n fxi g [ fx0i g: (Further for brevity we denote fxg by x). So we need to show that for i > j , Cut(i) \ Nj = ;: (1) We need the following denotations. Let an edge e 2 Ti cut a triangle  = fa; b; cg and e0 be the smallest edge of Ti such that each of the three connected components of Ti n fe; e0g contains one vertex of  . We denote g (; e) = c( ) ? c(e) ? c(e0), Cuti (; e) = e0 and cuti (; e) = c(e0). Note that g(; e)  g( ). It is easy to nd cuti (; e): If e lies on the Ti -path from mi ( ) to  which contains the rst (smaller) edge of Cut( ) then cuti (; e) is the cost of the second (bigger) edge of Cut( ). Otherwise, cut(; e) coincides with the cost of the rst edge Cuti (; e). Thus we proved Lemma 2 Let edges e; e0 2 Ti cut a triangle  with ends fa; b; cg. Then (i) gi (; e) = gi ( ) ? c(e) + cuti ( ) ? cuti (; e). (ii) If e and e0 belong to the same path from mi ( ) to fa; b; cg, then Cuti (; e) = Cuti (; e0). For a graph G, let Gc denote the graph G, in which all edges of cost at most c are deleted. For vertices u; v of G, cutG (u; v ) denoted the least value of c such that u and v belong to di erent connected components Gc . Note that for a triangle  with ends a; b; c 2 V , cutG ( ) = cutG (a; b) + cutG (b; c) if cutG (a; b)  cutG (b; c)  cutG (a; c). If G  G0 then Gc  G0c , so we obtain a useful

Lemma 3 For any u; v 2 V and triangle  in G, cuti (u; v)  cuti (u; v) and gi( )  +1

gi+1 ( ).

The following claim proves (1). It shows that if g ( ) > 0, then Cut( ) \ Ni = ; in any

Gk , k  2i.

Claim 1 Let x0i 2 N cut a triangle  2 G in Gk ; k  i. Then gk (; x0i)  0. 0

3

Proof. Note that x0k 2 N (j ), where j = b k c. So in GA we stretch j in the graph G j? . We denote the ends of  by a; b; c 2 V . The proof is induction on k ? i. The base case is k = i. Let x0k 2 N (j ) cuts  in Tk . Then the forest F = Tk? ? xk = Tk ? x0k partitions V into two connected components with vertex sets V and V . Since x0k cuts  , we may assume that a; b 2 V and c 2 V . Then +1 2

2

2

1

1

2

1

cutk (; x0k) = cutF (a; b) = cutk?1 (; xk). By Lemma 3, if gk (; x0k ) > 0 then

2

g2j?2( )  gk?1 ( )  gk?1 (; xk) = c( ) ? c(xk ) ? cutk?1 (; xk ) = c( ) ? (c(x0k ) ? g2j ?2 (j )) ? cutk (; x0k ) = gk (; x0k ) + g2j ?2 (j ) > g2j?2 (j ) This is contradiction with the greedy choice of j in G2j ?2. Let Claim be true for k ? 1 and let an edge e = x0i cut  in Gk , k > i.

Lemma 4 If gk (; e) > 0 then

(i) The edge e belongs to the unique cycle C of T  = Tk [ xk . (ii)The edge xk cuts  in Tk?1 and cutk?1 (; xk )  cutk (; e)

Further assume that gk (; e) > 0. First we show how Lemma 4 leads to the contradiction. Let u; v; w be the ends of j . Let Tk?1 ? xk have two connected components such that u belongs to one of them and v; w belong to the other. This fact is shortly referred as (Tk?1 ?xk ; ujv; w). Since x0k connects these two components, we may assume that x0k = (u; v ). Note that Tk?1 ? e has two components and (Tk?1 ? e) [ x0k = T  ? e is connected by (i). Therefore, the ends of x0k , belong to di erent components of Tk?1 ? e. So e cuts j in Tk?1 . Let 2j ? 2 = k ? 1. Then xk is the smaller edge in Cut2j ?2 (j ). By Lemma 2 (i),

g2j?2(j ; e)  g2j?2(j ) ? c(e) + c(xk ) (2) Now we will prove (2) in case of 2j ? 2 = k ? 2. Indeed, since x0k?1 does not connnect components of Tk?1 ? xk , x0k?1 = (v; w). By Remark 1, x0k?1 2= C and by (i), e 6= x0k?1 . Since e cuts j in Tk?1 and x0k?1 2 Tk?1 ? e we assume that (Tk?1 ? x0k?1 ? e; ujv jw). Since Tk?2 ? xk?1 = Tk?1 ? x0k?1 , we have (Tk?2 ? xk?1 ? e; ujvjw). The edge xk?1 is the smaller edge in Cut2j ?2 (j ), so cut2j ?2 (j ; e) = xk?1 and (2) is true. By induction, (2), Lemma 3 and Lemma 4 (ii),

0  g2j ?2(j ; e)  g2j ?2(j ) ? c(e) + c(xk )  gk?1( ) ? c(e) + c(xk )  gk?1(; xk) ? c(e) + c(xk ) = c( ) ? c(e) ? cutk?1 (; xk)  c( ) ? c(e) ? cutk (; e) = gk (; e): Finally, we nish the proof of Claim 1 with the following Proof of Lemma 4. The ends a; b; c 2 V of  are partitioned by e in Tk . W.l.o.g., ee assume that (Tk ? e; abjc). There are two cases depending on e cut  in Tk?1 or not. 4

Case 1. The edge e does not cut  in Gk?1 . In our denotations, (Tk?1 ? e; abc). (i) The forest T  ? e = (Tk?1 ? e) [ (Tk ? e) is connected since (Tk?1 ? e; abc) and (Tk ? e; abjc), so e 2 C . (ii) In the forest F = Tk?1 ? e ? xk the set fa; b; cg may be partition only in two parts. But F = Tk ? e ? x0k and (Tk ? e; abjc), therefore, we obtain (F = Tk?1 ? e ? xk ; abjc). So (Tk?1 ? e; abc) implies (Tk?1 ? xk ; abjc): Since Tk?1 ? xk = Tk ? x0k we have (Tk ? x0k ; abjc): The last expression together with (Tk ? e; abjc) imply that e and x0k lie on (mk ( ); c)-path. By Lemma 2 (ii) cutk (; e) = cutk (; x0k ) = cutk?1 (; xk): Case 2. The edge e cuts  in Gk?1 . By induction we may assume that gk?1 (; e) < gk (; e), and, therefore, cutk?1 (; e) > cutk (; e) (3) (i) Let (Tk?1 ? e; abjc). Then cutk?1 (a; b) = cutk?1 (; e) > cutk (; e) = cutk (a; b): So we may assume (Tk?1 ? e; ajbc) and the forest T  ? e = (Tk?1 ? e) [ (Tk ? e) is connected. (ii) Consider the forest F = Tk ? e ? x0k . If (F ; abjc) then cutk?1 (; e) = cutF (a; b) = cutk (; e): So we may assume (F ; ajbjc). Therefore, (F = Tk?1 ? e ? xk ; ajbjc). This means that e lies on (mk?1 ( ); c)-path and xk lies on the path from mk?1 ( ) to a or b. Thus, m = minfcutk?1 (; xk); cutk?1(; e)g equals to the cost of the smaller edge of Cutk?1 ( ) which is no more than the cost of the smaller edge of Cutk ( ). So m  cutk (; e). By (3), cutk?1 (; xk)  cutk (; e):} To bound the performance ratio of GA we need the following constant. Let N be some set of weighted edges with the vertex set V such that any triangle of G has a nonpositive gain in the graph G0 = (V; E [ N ). We denote by t3 = t3 (G) the in mum of MST cost of G0 over all such N 's.

Theorem 1 The cost of A, the output of GA, is at least t2 (G) + t3 (G) :

2 Proof. GA interrupts when there are no triangles with the positive gain. So for N = N1 [:::[Np, no triangle has a positive gain in G[N . Therefore, the cost of Tp = MST (G[N ) is at least t3 (G). Each time we stretch a triangle i we increase the cost of MST by 2g (i). From the other side, each time we accept a triangle i we increase the cost of a 3-block tree by g (i). Let G P p denote the total gain of chosen triangles, i.e. G = i=1 g (i). By Lemma 1, Tp contains all edges of N , thus, Xp t3  c(Tp) = c(T0) + 2g(i) = t2 + 2G; and

i=1

c(A) = t2 + G  t2 + t3 ?2 t2 = t2 +2 t3 : }

We may estimate the performance ratio of GA using the other constant. Let opt3 (G) be the cost of the biggest 3-block tree in G.

Corollary 1 The cost of the output of GA, is at least t2 (G) + opt3 (G) : 2

5

Proof. We wiil show that opt (G)  t (G). Let P be an optimal 3-block tree in G and i, i = 1; :::; p, be its triangles. Let T be an MST of G [ N such that any triangle of G has a nonpositive gain in G0 = G [ N . Let stretch triangles i , i = 1; :::; p, consequently and 3

3

denote by G00 = G0 , G01 ; :::; G0p the corresponding graphs. Let gi?1 (i ) be the gain of i in G0i?1 . By Lemma 3, gi?1 (i)  g(i) and p X c(P ) ? c(T ) = g i=1

p X ( )  g ( )  0

i?1 i

i=1

i

}

3 The Performance Ratio of the Greedy Algorithm Conjecture 1 Let P be the maximum planar subgraph of the graph G. Then 5 c(P ) t3 (G)  12

Remark 2 If Conjecture 1 is true then performance ratio of the greedy algorithm is at least 3 8

= :375.

Remark 3 There is a series of planar graphs Gi such that limi!1 tc3 GG = . Proof. Let take i triangles which have exactly one vertex in common and make the graph maximum planar adding 3i ? 3 edges. Assign the cost 2 to each edge of the graph. In each ( (

i)

i)

5 12

face we put a vertex and connect it with the boundary vertices. Assign the cost one to each new edge. Let Gi denote the resulted graph. The set of edges Ni is a spanning tree of original i triangles in which any edge has cost 3. It is easy to check that no triangle of Gi has a positive gain in Gi [ Ni , c(Gi ) = 24i ? 30 and the MST-cost of Gi [ Ni is 10i ? 4. } Still the worst known up today performance ratio for the greedy algorithm ( 187 ) happens at the worst case for the heuristic proposed for unweighted maximum planar subgruph problem [4]. It is the case described in Remark 3 but with all edge costs equal to 1. We may assume that the graph G = (V; E; c) is complete, since we may add zero cost edges between all pairs of vertices which are not adjacent. Therefore, we may assume that the maximum planar subgraph P = (V; U; c) is triangulated. Now let N be an arbitrary edge set from the de nition of the t3 (G), i.e. in the graph G0 = (V; E [ N ) any triangle of the initial G has a nonpositive gain. Further we bound the cost of the maximum spanning tree of G0 and the arithmetical mean between costs of maximum spanning trees of G and G0. These bounds will be true for t3 (G) and (t3 (G) + t2 (G))=2 and will give us bounds for the performance ratio of the greedy algorithm. Let T 0 and T be the maximum spanning trees of P [ N and P with costs C 0 and C , respectively. Since mst(G0 )  mst(P [ N ), it is sucient to bound C 0 and C . For any edge e of the graph P , we assign a tree cost c0(e) which is equal to the least cost of an edge in the unique path connecting the ends of e in the tree T 0 . Let P 0 = (V; U; c0) denote the graph P = (V; U; c) but with the tree costs on edges. The tree cost has the following properties

Lemma 5 The tree cost has the following properties: (i) For any edge e of P , c0(e)  c(e).

(ii) For any triangle of P with edges ei ; i = 1; 2; 3, there is a numeration of edges such that

6

(a) c0(e1 )  c0(e2 ) = c0(e3 ); (b) c0 (e1) + c0(e2)  c(e1) + c(e2) + c(e3). (iii) mst(P 0 )  C 0.

Proof. (i) follows from the de nition of T 0.

(ii) It is easy to see that in an arbitrary tree, three paths connecting three vertices x; y; z should have exactly one vertex in common, say m. Let m; x-path contains the least cost edge of the union of all three paths and let the least cost edge in m; y -path is cheaper than that in m; z -path. Then (y; z ), (x; y ), (x; z ) is the order of edges claimed in (a). Inequality (b) expresses the fact that the gain of any triangle of P is nonpositive in respect to T 0. (iii) In the graph P 0 [ T 0, the tree T 0 will be the maximum spanning tree, since any edge of P 0 cannot improve T 0 . }

Lemma 6 The cost of maximum spanning tree of a planar graph P is at least one third of

the total cost of P .

Theorem 2 Let the maximum cost be at most twice the minimum cost of an edge in the maximum planar subgraph P of a graph G. Then Conjecture 1 is true, i.e. t (G)  c(P ). Proof. We will show that the cost of P 0 is at least c(P ) and therefore, c0(T 0)  mst(P 0 )  c0(P 0 )  c(P ). Consider an arbitrary triangle of P with edges x; y; z 2 U . Since the cost of a planar 3

1 3

5 12

5 4

5 12

graph is half of the sum of the costs of its faces, it is sucient to show that c0(x) + c0(y) + c0(z)  54 (c(x) + c(y) + c(z)) (4) By Lemma 5 (i)(a), we may assume that c0(y ) = c0(z ) and c0 (x)  c0 (y ). By Lemma 5 (i)(b), it is sucient to show that c0(y )  41 (c(x) + c(y ) + c(z )). This is true because c0(y ) is at least c(y ), c(z ) and half of c(x). }

Corollary 2 The performance ratio of the greedy algorithm is at least .375 for the graphs where the maximum cost of an edge is at most twice the minimum cost.

4 Outerplanar Subgraphs The greedy algorithm produces outerplanar graphs, so it is an approximation algorithm for maximum outerplanar subgraph problem (MOSP). The unweighted case was considered in [4]. They proved that in any outerplanar graph there is a 3-tree which contains at least two thirds of the total number of edges. In this section we will prove that the same fact is true for the weighted case.

Theorem 3 Let P be a maximum outerplanar graph of a graph G. Then opt3 (G)  32 c(P ) Collorary 1 yields 7

r

b

e’ e

Figure 2: An outerplanar graph (solid lines) with auxiliary edges (thick dashed lines) and its dual graph (dashed lines).

Theorem 4 The performance ratio of the greedy algorithm is at least  :583. 7 12

We will show that any outerplanar graph P = (V; E ) can be represented as a union of three 3-block trees such that any edge of P belongs to two of these 3-block trees. We may assume that P is a maximal outerplanar graph, since we may add zero-cost edges. For the purposes of analysis we add a copy for each outer face edge. Note that these auxiliary edges we need not to cover by three 3-block trees that we intend to construct. Consider the dual graph P = (F; E 0) of the graph P , where F is the set of faces of P and e0 2 E 0 is an edge corresponding to an edge e 2 E (Fig. 2). It is easy to see that P is a cubic tree T (each inner vertex has degree 3) with an additional vertex b corresponding to the outer face. This vertex b is adjacent to all leaves of T corresponding to the outer face edges. We assume that T is rooted in a xed inner vertex r. A proper coloring of P is a partition of F ?fb; rg into three subsets (colors) Xi ; i = 1; 2; 3, such that (i) adjacent vertices have di erent colors; (ii) the subgraph of P induced by F ? Xi ? frg is connected; (iii) three neighbours of the root have di erent colors. Let Ci be a set of edges of P correspnding to edges of P which have both ends colored and one of these colors is Xi , (i = 1; 2; 3). We also add to Ci two edges of the triangle face r. The rst of them corresponds to an edge incident to Xi-vertex and the other is the next in the clockwise order. Lemma 7 A set Ci corresponding to a color Xi, is a 3-block tree. Proof. We will show that each block of Ci has at most 3 vertices. Let H  Ci be a cycle and H be not a triangle corresponding to three edges of P incident to the same vertex. The 8

property (iii) implies that then there is at least one inner face f of color di erent from Xi inside this cycle. Let remove all edges incident to the vertices of Xi [frg from P . Then the vertex of P corresponding to f has no path to b which contradicts (ii). Moreover, triangles in H cannot share edges by (i). } Let e 2 E corresponds to an edge of e0 2 E 0 which is incident neither to b nor to r. Then e belongs to two di erent 3-block trees corresponding to two colors of the ends of e0 . It is easy to see that edges of the face r also belong to two di erent 3-block trees. So all nonauxialary edges are covered twice. Thus, three 3-block trees corresponding to a proper coloring has the cost 2c(P ). To nish the proof of Theorem 3 we will prove the following Lemma 8 The graph P has a proper coloring.

Proof. The forest T ? frg has three components Ti; i = 1; 2; 3. Each of them is a binary

tree. We root them in vertices incident to r in T . We color the root of Ti in Xi and further color children in two di erent colors which do no coincide with the color of their parent. It is obvious that any vertex has a path to a leaf in Ti n Xj , i; j = 1; 2; 3. }

References [1] P. Berman and V. Ramaiyer. Improved approximations for the Steiner tree problem. J. of Algorithms 17: 381{408, 1994. [2] M. Bern and D. Eppstein. Approximation Algorithms for Geometric Problems. In "Approximation Algorithms for NP-Complete Problems", D. Hochbaum, (ed.), PWS Publications, 1996. (to appear) [3] J. Cai, X. Han and R.E. Tarjan. An )9mlogn)-time approximation algorithm for the maximal planar subgraph problem. SIAM J. on Comp. 22: 1142{1162. [4] G. Calinescu, C.G. Fernandes, U.Finkler and H. Karlo . A better approximation algorithm for nding planar subgraphs. 7th SODA: 16{25, 1996. [5] T. Chiba, I. Nishioka and I. Shirakasawa. An algorithm of maximal planarization of graphs. Proc. IEEE Symp. on Circuits and Systems, 649{652, 1979. [6] D. Du, Y. Zhang, and Q. Feng. On better heuristic for Euclidean Steiner minimum trees. 32nd IEEE Symp. on Found. of Comp. Science, 431{439, 1991. [7] M.E. Dyer, L.R. Foulds and A.M. Frieze. Analysis of heuristics for nding a maximum weight planar subgraph. European Journal of Operation Research, 20: 102{114, 1985. [8] L.R. Foulds. Graph Theory Applications. Springer-Verlag, New York, 1992. [9] F. Harary. Graph Theory. Addison-Wesley Publishing Company, 1972. [10] B. Korte and D. Hausmann. An analysis of the greedy heuristic for independence systems. Annals of Discrete Mathematics 2:65{74, 1978. 9

[11] M. Junger and P. Mutzel. Maximum planar subgraph and nice embeddings: Practical layout tools. Universitat zu Koln, Rep. No 93.145, 1993, (to appear in Spesial issue of Algorithmica on Graph Drawing) [12] R. Tamassia, G. Di Battista and C. Batini. Automatic graph drawing and readability of diagrams. IEE Trans. on Systems, Man and Cybernetics, 18: 61{79, 1988. [13] A. Z. Zelikovsky. An 11/6-approximation Algorithm for the network Steiner Problem Algorithmica, 9: 463{470, 1993. [14] A. Z. Zelikovsky. Better approximation bounds for the network and Euclidean Steiner tree problems Tech. Rep. CS-96-06. University of Virginia, Charlottesville, 1996.

10