Better Algorithms for Minimum Weight Vertex-Connectivity Problems Vincenzo Auletta Mimmo Parente November 18, 1996
Abstract
Given a vertex connected graph with weighted edges, we study the problem of nding a minimum weight spanning subgraph which is vertex-connected, for = 2 3 4. The problem is known to be NP-hard for any , even when edges have no weight, and various approximation algorithms have been proposed. The best approximation factors that have been obtained are 2 3 and 256 , for the cases = 2 3 4, respectively. In this paper we provide an 2 approximation algorithm for the case = 3 and a 3 approximation algorithm for the case = 4, thus improving on the algorithms found in literature. Moreover, we give a new algorithm for the case = 2 that obtains an approximation factor 2. k
k
k
;
;
k
;
k
;
;
k
k
k
1 Introduction Let G = (V; E ) be an undirected graph and, for each edge e, let w(e) the non negative weight of e. The weigth of the graph G is given by the sum of the weights of the edges of G. The graph G is k vertex connected if for every pair of vertices there exist k disjoint paths connecting the two vertices. The Minimum Weight k Vertex-Connected Problem, in short k-MWVC, consists in nding a minimum-weight spanning subgraph of G (that is a subgraph having all the vertices of G) which is k vertex-connected. The k-MWVC problem has many practical applications, especially on the ground of its natural fault tolerant aspects. In fact the weights of the edges can represent the costs of the realization of connections between any two parties and the connectivity degree can be seen as the tolerance to faults occurring in the vertices. For more motivations see e.g. [8]. The k-MWVC problem is NP-hard [7], even in presence of unweighted edges or even when the weights can be just 1 or 2. Various approximation algorithms for its solution have been proposed, [9, 12, 5], and their approximation factors are summarized in Figure 1. An approximation algorithm with factor , is a polynomial time algorithm that returns a solution whose cost is no greater than times the cost of an optimial solution. The best approximation algorithm for thePgeneral case is due to Ravi and Williamson [12] and it obtains a factor 2H (k), where H (k) = ki=1 1=i. Better algorithms have been proposed for particular values of k. In [12] and [5] two algorithms are described that obtain a factor 3 for the case k = 2. In [9], Khuller and Raghavachari improved on this result obtaining a factor of 2 + 1=n, where n is the number of vertices in the graph. Recently, Penn and Nutow in [11] have obtained an approximation factor 2. They have also given an algorithm for the case k = 3 with a factor 3. Dipartimento di Informatica ed Applicazioni, \R.M. Capocelli", Universita di Salerno, 84081 Baronissi (Italy). e-mail: fauletta,
[email protected].
1
Vertex Connectivity
2 PRELIMINARIES AND DEFINITIONS
In [9] the interesting case when the edge weights satisfy the triangle inequality has been studied. The authors describe an algorithm that, on input a graph whose edge weigths satisfy the triangle inequality, solves the minimum weigth k vertex connected subgraph problem with a an approximation factor not greater than 2 + 2(k ? 1)=n, for every k. In this paper we study the k-MWVC problem for small values of k. We do not make any assumption on the weights of the edges of the graph. We give an algorithm for solving the cases k = 2; 3 with an approximation factor 2. Thus we obtain the same result as in [11] for the case k = 2 (although we use a dierent technique) but we improve on the result in [11] for the case k = 3. Moreover, we give also an algorithm for the case k = 4 that obtains a factor 3. connectivity previous results our results k=2 2 [11] 2 k=3 3 [11] 2 k=4 4 + 1=6 [12] 3 any k 2H (k) [12] any k triangle ineq. 2 + 2(k ? 1)=n [9] Figure 1: A comparison of our results and the results known in literature. The rest of the paper is organized as follows: in the next section we recall some basic de nitions on graphs; in section 3 we describe the algorithm Conn that solves the cases k = 2; 3; in section 4 we describe the algortihm 4-Conn, that uses Conn as a subroutine and solves the case k = 4.
2 Preliminaries and de nitions Throughout all the paper we will refer to graphs having nonnegative weighted edges. Let G be a graph having n vertices and m edges. The weight of G, denoted by w(G), is the sum of the weights of all its edges is called the weight of G. A subgraph of G is called a spanning subgraph if it contains all the vertices of G. The directed version of G, is the directed graph obtained by replacing every edge e by two antiparallel edges, each with the same weight of e. Simmetrically, given a directed graph D with the same weight on the antiparallel edges, the undirected version of D is the undirected graph obtained by taking a single copy for each pair of antiparallel edges and by ignoring the orientation of all the other edges. Let D be a directed graph and let F be a set of edges of D outgoing from a vertex v : we de ne the reduced graph of D with respect to F , denoted by Dv (F ), as the graph obtained from D by deleting all the edges outgoing from v except those in F (when there is no ambiguity, the subscript will be dropped). Two paths connecting vertices u and v are independent if they have only the vertices u and v in common. As in [9], we can generalize this notion and consider paths between u and a set of vertices A: we say that there are k independent paths between u and A if the pathshave only the vertex u in common and each path starts from u and ends to a distinct vertex of A. A graph G is said to be connected if for each pair of vertices u and v there exists a path in G between u and v . If G is not connected, then it is said to be disconnected. A graph is k-vertex connected (or simply k-connected) if deleting up to k ? 1 vertices, the remaining graph is connected. Equivalently, a graph is k-connected if for each pair of vertices u and v , there exist k independent paths that connect u to v . A set of vertices whose removal disconnects the graph is said a cut-set. A cut set of cardinality k is called a k-cut-set. An augmenting set of G is a set of edges that added to G Pag. 2
Vertex Connectivity
3 TWO AND THREE CONNECTIVITY
Input: A weighted k-connected graph G = (V; E ). Output: A k degree vertex root and a (d k2 e + 1) connected spanning subgraph H such that w(H ) w(H ). begin 1) Let D be the directed version of G. 2) for every vertex v of V do 3) for every set of k edges F = fe1; e2; : : :; ek g, outgoing from v in D do 4) Run the FT algorithm on the graph Dv (F ), the vertex v and the integer k;
end end
5) Let DFT be the minimum weight subgraph returned by the FT algorithms and let root be its distinguished vertex. 6) return The graph H , that is the undirected version of DFT and the vertex root.
end
Figure 2: The algorithm Conn increase its connectivity by one. The Minimum Weight k Vertex-Connectivity Problem for a graph G, consists in nding a kconnected spanning subgraph of G with minimum weight. An equivalent formulation of the problem can be given in terms of minimal augmentation sets, see [2]. Let G = (V; E ) be a k-connected graph, G0 be a spanning subgraph of G (possibly not k-connected) and let F E . If the graph obtained by adding the edges of F to G0 is k- connected, then F is said a k-augmentation set. Given G and G0 , the minimum k-augmentation problem consists in nding a k-augmentation set of minimum weight. Let H be a subgraph of G. We denote by G=H the graph obtained from G by deleting all the vertices of H and the edges incident to vertices of H . The Frank and Tardos Algorithm. Following the strategy used in [9] and [11], our algorithms use as a subroutine a polinomial time algorithm FT, proposed by Andras Frank and E va Tardos in [4] to compute an approximated solution of the k-MWVC problem. The FT algorithm takes in input a weighted directed graph D, a distinguished vertex root and an integer k and returns a minimum weight subgraph of D (if it exists) that, for each vertex u, has k independent paths from root to u. The FT algorithm uses submodular functions (see [3] for an excellent survey on the theory of submodular functions and several applications in graph theory).
3 Two and Three Connectivity Let G be a k vertex connected graph and let H be the minimum weigth k-connected spanning subgraph of G. In this section we describe the algorithm Conn that computes a spanning subgraph H of G that is at least (d k2 e + 1)-connected and such that w(H ) 2w(H ). Clearly Conn gives a 2 approximated solution to the k-MWVC problem, when k = 2; 3. Moreover,Conn will be used as a subroutine by the algorithm 4-Conn that solves the case k = 4 and that will be presented in the next section. Let us brie y describe how the algorithm Conn works (see Figure 2). The algorithm computes the directed version D of G (step 1). Then, for each vertex v and for each set F of k edges outgoing from v it calls the algorithm FT on the directed graph Dv (F ), the vertex v and the integer k (step 4). If in Dv (F ) there are k independent paths from v to each other vertex of the graph, then FT returns a minimum weight subgraph of Dv (F ) that has k independent paths from v to each other Pag. 3
Vertex Connectivity
3 TWO AND THREE CONNECTIVITY
vertex; otherwise it returns 0. Let DFT be the graph having minimum weight among the graphs computed in the for loop of step 2, and let root be its distinguished vertex. The algorithm Conn returns the vertex root and the undirected version of DFT . We notice that the running time of Conn depends on the time required to execute the O(nk+1 ) calls of the FT algorithm. Using the implementation of the FT algorithm given in [6], that requires time O(kn2m), it can be proved that Conn has a polynomial running time, for any constant k. 3.1
Correcteness of
Conn
We rst prove that the algorithm Conn always returns a subgraph of G. Then we prove that this subgraph is at least (d k2 e + 1)-connected and has weigth no greater than 2w(H ). A directed k-connected graph D is called minimally connected if the graph obtained from D by removing any edge is not k-connected. We observe that each minimum weight k-connected spanning subgraph of D is still a minimally connected graph.
Lemma 1 If D is a k-connected directed graph, then there exists a vertex v and a set F of k edges outgoing from v such that in Dv (F ) there are k independent paths from v to every other vertex.
Proof: Let Dmin be a minimally connected subgraph of D. From a classical result of the Graph
Theory we have that there is at least a vertex of Dmin that has outdegree k, (see e.g. [1]). Let v be such a vertex and let F be the set of edges outgoing from v . Obviously, in Dmin there are k independent paths between v and all the other vertices. Then there is a subgraph of Dv (F ) that has k independent paths from v to each other vertex.
Consider, now, the graph H and the vertex root returned by Conn. Clearly, in H there are k independent paths between root and each other vertex. To prove that H is at least (d k2 e + 1)connected we use the following result from [9].
Lemma 2 ([9]) For each degree k vertex v of G, if there are k independent paths from v to each other vertex in G, then the graph G=v is at least d k2 e connected. Lemma 3 If H=root is d k2 e connected then H is (d k2 e + 1) connected. Proof: The proof is by contradiction. Suppose that H is not (d k2 e+1) and let X = fx1; x2; : : :; xdk=2eg be a cut set of H . We notice that root cannot be a vertex of the cut set. In fact if root 2 X then the
other vertices of X shoud form a cut set of H=root . But this is a contradiction since, by Lemma 2, H=root is d k2 e connected, Suppose, now, that root does not belong to X . Since root is connected to v in H with k independent paths, and X can cut at most d k2 e of these paths, we have that each vertex of H=X is connected to root . Thus, each pair of vertices of H=X is connected through a path going through root and X is not a cut set for H .
Corollary 1 H is at least (d k2 e + 1) connected. We can state now the main result of the section. Theorem 1 The algorithm Conn on input a weighted k vertex-connected graph G, returns a (d k2 e + 1) connected spanning subgraph H such that w(H ) 2w(H ), where H is the minimum weigth kconnected spanning subgraph of G. Pag. 4
Vertex Connectivity
4 FOUR CONNECTIVITY
Proof: By Corollary 1, H is at least (d k2 e + 1) connected. Let D and D be the directed versions
of G and H , respectively. Moreover, let DFT the directed graph computed in step 5 of Conn. Obviously, w(H ) w(DFT ). Observe now that DFT is a minimum weight spanning subgraph of D having the property that there is a vertex v with degree k and such that there are k independent paths from v to each other vertex. Then w(DFT ) w(Dmin ), where Dmin is a minimum weight minimally k-connected spanning subgraph of D. On the other hand, we have that w(Dmin ) 2w(H ), since H is minimally connected. Therefore, we have that
w(H ) w(DFT ) w(Dmin) 2w(H ):
Corollary 2 The algorithm Conn solves the k-MWVC problem, for k = 2; 3, with an approximation factor 2.
4 Four Connectivity In this section we describe the algorithm 4-Conn that computes a minimum weigth 4-connected spanning subgraph of a graph G with an approximation factor 3. The algorithm calls Conn to nd a distinguished vertex root and a subgraph H that contain 4 independent paths between root and each other vertex of the graph. By Corollary 1 H is at least 3 connected. Thus, if H is 4 connected the algorithm halts; if, instead, H is 3 connected then 4-Conn computes an augmentation set for H. The augmentation algorithm is based on some properties of the graph H . De ne a k{rooted graph as a graph that contains k distinct vertices A = fv1; ; vk g, called root vertices, such that for each vertex u 2= A there are k independents paths from u to A. Moreover, for each i there are k ? 1 independent paths from the root vertex vi to the other vertices of A. Consider the graph J = H=root . It can be easily seen that J is a 4{rooted graph, having the 4 neighbors of root as root vertices. Moreover, by Lemma 3, each augmentation set AUG that takes the connectivity of J from 2 to 3 is also an augmentation set that takes the connectivity of H from 3 to 4. Therefore, in the sequel we describe how our algorithm computes an augmenting set of the 4{rooted graph J . 4.1
Properties of
4{rooted graphs
In what follows we call cut set a 2{cut set and we call block a set of vertices that is either a 3 connected component or it has less than 3 vertices. Moreover, we refer to a component of J meaning a block or a cut set of J . We say that two cut sets X and Y are adjacent if and only if each vertex of Y either belongs to X or it is adjacent to a vertex of X . Moreover, we say that a block B is adjacent to the cut set X if and only if X B . In this subsection we rst prove (in Lemma 4) that each cut set of J partitions the 4{rooted graph into two connected components each one containing two root vertices. As a consequence we obtain that the root vertices of J do not belong to any cut set. We also prove that all the cut sets partition the set A in the same two subsets, denoted by AL and AR , where AL is the subset containing v1 . Thus, we can de ne the left side of a cut set X , denoted by LX , that is the connected component of J=X that contains AL , while the right side of X , denoted by RX , is the connected component containing AR . Similarly, we prove (in Lemma 5) that each block B not containing root vertices partitions J in two connected component: a left side LB , containing AL , and a right side Pag. 5
Vertex Connectivity
4 FOUR CONNECTIVITY u1
u3
u5
u7
u11
v2
v3
AL
AR
u9 v1
v4 u2
u4
u1
u1
u2
u2
u6 u3
u8
u10
u3
u5
u5
v2
v1 u5
u7
u2 u7
u4 u11
u4
u6
u11 v3
v4 u6
u8
u8
u10
u10
Figure 3: An example of a decomposition of a 4{rooted graph J in its components.
RB , containing AR . Moreover, if B contains AL then we say that LB is empty and RB is equal to J=B; if B contains AR ,instead, we say that LB is equal to J=B and RB is empty. Consider, now, the problem of compute the blocks and the cut sets of J . In Figure 3 it is given
an example of a decomposition of a 4{rooted graph into its components. In Lemma 5 we prove that if C is a block not containing AR , then there exists only one cut set that is adjacent to C and cut all the paths between C and AR ; if C is a cut set, instead, it can be adjacent or to a block or to at most 3 cut sets. In Corollary 7 we prove that the vertices of X can belong only to cut sets adjacent to X . Therefore, the following simple algorithm can be used to list all the components of J : we start from the block containing AL and compute for each component C all the components adjacent to C in RC [ C . We start by proving that each cut set of J partitions the 4{rooted graph into exactly two connected components, each one containing exactly two root vertices. Lemma 4 For each cut-set X of J the graph J=X consists of two connected components, each one containing two root vertices of J . Moreover, all the cut sets partition set A of the root vertices in AL and AR . Proof: Let C be a connected component of J=X and let y be a vertex of C . Obviously, X can cut at most two of the four paths between y and A. Therefore, if y 2= J , then y is connecte in J=X to at least two root vertices; if y 2 A, instead, y it is connected in J=X to at least another root vertex. Thus, C contains at least two root vertices. On the other hand, C cannot contain more than two root vertices, otherwise it would be the unique connected component and thus C would be equal to J=X , contradicting the hypothesis that X is a cut set. Suppose now that X = x1; x2 and Y = y1 ; y2 are two cut sets that partition A in dierent ways and assume, without loss of generality, that AL (X ) = v1 ; v2 and AL (Y ) = v1 ; v3. Let BX ; CX and BY ; CY be the connected components of J=X and J=Y , respectively, where AL (X ) BX and AL(Y ) BY . Without loss of generality Assume that x1 6= y1 and y1 2 CX . We observe that in J then there are two independent paths between y1 and v1 (resp. v2 ) that do not contain any vertex of CY Pag. 6
Vertex Connectivity
4 FOUR CONNECTIVITY
(resp. BY ). Then, x1 2 BY , since all the paths between v1 and y1 must go through vertices of X . On the other hand, x1 2 CY , since all the paths between v2 and y1 must go through vertices of X . However, this is a contradiction, since BY and CY are disjoint. We prove now that, as the cut sets, also the blocks partition J in at most two connected components. Lemma 5 For each block B that does not contain root vertices, it holds that the graph J=B consists of two connected components LB and RB , containing AL and AR , respectively.
Proof: Let X1 be a cut set adjacent to B and such that X cuts all the paths between AL and B. Notice that such a cut set exists, as B does not contain root vertices. Similarly, there exists a cut set X2 adjacent to B that cuts all the paths between B and AR . Then, J=B consists of all the vertices of LX1 and all the vertices of RX2 . On the other hand, by Lemma 4 LX1 is a connected component containing AL , RX2 is a connected component containing AR and there is no edge that connects vertices of LX1 to vertices of RX2 . We notice that if B contains root vertices then it contains or AR or AL . In this case the graph J=B either is empty, if A B , or it is connected, if it contains only one of the subsets of root vertices. Let us consider now the problem of listing all the components of J . We observe that a vertex v can belong to a block and to several cut sets. However, we will prove that all the cut sets containing v are adjacent. Moreover, if v belongs also to a block at least one of the cut sets containing v is adjacent to this block. Thus, we can obtain the list of all the components of J by simply starting from the component containing AL and, iteratively, computing for each component C the components adjacent to C and contained in RC [ C .
Lemma 6 If X = fx; zg and Y = fy; zg are two cut sets of J , then x and y are adjacent. Proof: Suppose that x and y are not adjacent and assume that x 2 LY . Then, y 2 RX , since
each path between vertices of AL and y contain vertices of X . Morever, since x and y are not adiacent, there exists a vertex w 2 LY \ RX . Consider, now, the 4 independent paths that connect w to the root vertices of J . We observe that all these paths must go through vertices of X or Y . But, this is a contradiction since jX [ Y j = 3.
Lemma 7 Each vertex of J can belong to at most two cut sets of J . We observe that if C is a block that does not contain AR , then there is only one cut set that is adjacent to C and cuts all the vertices from C to AR. If C is a cut set, instead, there are at most 3 cut sets in RC [ C that are adjacent to C . adjacent to a component C and belonging to RC [ C . 4.2
The block-cut graph
The block-cut graph ?(J ) is a weighted directed graph associated to the 4{rooted graph J . It has a cut vertex for each vertex that belongs to a cut set of J and a block vertex for each block. For each vertex x in J we say that x is represented in ?(J ) by the vertex (x) that is the cut vertex associated to x, if x belongs to a cut set, or the block vertex associated to the block containing x. If x belongs both to a block and to a cut set its representant is a cut vertex. we say that a vertex x in J corresponds to a vertex v in ?(J ) if v = (x). For each edge (x; y ) in J there is an edge in ?(J ) between (x) and (y ) if and only if no component of J contains both x and y . If x is in the right side of the component containing y then the edge is directed from (x) to (y ), otherwise it is directed in the other verse. We remark that if x and y do not belong to the same component then x belongs to the same side of each Pag. 7
Vertex Connectivity
4 FOUR CONNECTIVITY
v1
v3
v5
v7
v11
s
t v9 v2
v4
v6
v8
v10
Figure 4: The block-cut graph associated to the graph J . component containing y . Moreover, for each cut set X if there exist two cut vertices y and z that are adjacent to both the vertices of X and y 2 LX ; z 2 RX , then there exists an edge in ?(J ) from
(y) and (z). All the edges of the block-cut graph have weigth 0. In Figure 4 an example of a block-cut graph is given. It can be easily seen that the construction of the block-cut graph ?(J ) takes polynomial time.
Lemma 8 For each pair of vertices x; y 2 J , with (x) 6= y, there exist a path in ?(J ) from
(x) to (y) if and only if x and y do not form a cut set and y 2 RX , where X is a component containing x.
Sketch of Proof: Let X be a component containing x. It can be easily seen that if y 2 LX then there is no path in ?(J ) from (x) to (y ), since there is no edge connecting representants of vertices of X [ RX to representants of vertices of LX . Therefore, we have only to prove that if y belongs to RX there is a path from (x) to (y ) if and only if x and y do not form a cut set. Suppose that the lemma holds for the representants of vertices of the component Z that is adjacent to X and it is contained in X [ RX and prove that it still holds for the representants of X . We will consider only the case in which X and Z are cut sets and they have a vertex in common. All the other cases are trivial and they are left to the reader. We observe that RX = RZ [ Z . Clearly, if x 2 Z the Lemma trivially holds. Thus, suppose that X = fx; wg and Z = fz; wg. By Lemma 6, x and z are adjacent and there is an edge from
(x) to (z). Thus, if there is a path from (z) to (y) then there is also a path from (x) to (y). On the other hand, if fx; y g is a cut set then we prove that fy; z g is a cut set and, by hypothesis,
(y) is not reachable from (z). In fact, by Lemma 6 y is adjacent to w; moreover, since fx; yg and fz; wg are cut sets, we have that y and z are the unique vertices adjacent to X in RX . Then, fy; zg is a cut set. Suppose now that y is a vertex of RZ such that fz; y g is a cut set but fx; y g is not a cut set. By hypothesis there is no path in ?(J ) from (z ) to (y ). However, we will prove that x and y are both adjacent to the vertices of the cut set Z . Since x 2 LZ and y 2 RZ , by construction there is in ?(J ) an edge from (x) to (y ). In fact, by Lemma 6 we have that x is adjacent to z and y is adjacent to w. Moreover, since fw; z g is a cut set, we have that x is adjacent to w and z is adjacent to y . It remains to prove that there is no vertex reachable from (y ) that is the representant of a vertex r 2 RX such that X 0 = fx; rg is a cut set. As a matter of fact we prove that such a vertex cannot exists. In fact, it can be easily seen that if X 0 is a cut set then w and y are in distinct sides with respect to X 0. But w and y are adjacent and, thus, we have a contradiction. Let s and t be the block vertices representing AL and AR , respectively. By the previous Lemma, we have that in ?(J ) there is a path from s to any other vertex of the graph; moreover, for each vertex x there is a path from x to t. Therefore, if we augment ?(J ) with a set of edges that form a path from t to s the graph obtained is strongly connected. Let us de ne the following color of the edges of an augmentation of ?(J ): the edges present in ?(J ) are said white; the edges added to Pag. 8
Vertex Connectivity
4 FOUR CONNECTIVITY
?(J ) are said black. Moreover, we say that a b-w path is a path that starts with a white edge and it does not contain two consecutive black edges. We will prove that the problem of computing an augmenting set for J can be reduced to the problem of compute a graph ? , obtained by adding edges to ?(J ), such that, for each pair of vertices u and v , there is a b-w path in ? from u to v . We de ne the following relation between the edges of an augmenting set of J and edges added to ?(J ). Let x; y be two vertices of J , and let X and Y be two distinct components containing x and y, respectively, and such that y 2 LX . If (x; y) is an edge of an augmenting set of J we say that its representant in ?(J ) is the edge ( (x); (y )). For each edge (u; v ) added to ?(J ) the edge corresponding to (u; v ) in the sugmentation set of J is the edge (x0 ; y 0) that has minimum weight among the edges that are represented by (u; v ). The weigth of the edge (u; v ) is equal to the weight of its corresponding edge. Notice that if there are no two distinct components X and Y that contain x and y, respectively, then the edge (x; y) has no representant in ?(J ). However, it can be easily seen that this edge does not belong to any minimum weigth augmenting set of J . In fact this edge do not cross any cut set of J and, thus, can be removed from an augmenting set, still having an augmenting set.
Lemma 9 Let AUG be a set of edges between vertices of J and let AUG be the set of representants
of AUG. Denote by ? the graph obtained by adding the edges of AUG to ?(J ). Then, AUG is an augmenting set for J if and only if for each pair of vertices u; v there is a b-w path in ? from u to v.
Sketch of Proof: Suppose that for each pair of vertices u and v there is a b-w path in ? from
u to v. We prove that for each cut set X there is an edge in AUG that crosses X and, thus, AUG is an augmenting set for J . Let p be the b-w path between t and s. For each cut set X there is at least a black edge e = (u; v ) in p that connects u, representant of x 2 RX [ X , to v , representant of x 2 LX . Obviously, if x 2 RX , then the edge (x; y ), corresponding to e crosses the cut set X . If x 2 X , then by the de nition of b-w path there is another black edge of p that connects the representant of a vertex of RX [ X to the representant of a vertex of X , whose corresponding edge crosses X . Suppose, now, that AUG is an augmenting set for J and prove that for each pair of vertices u and v there is a b-w path in ? between u and v . By Lemma 8 we know that there is b-w path between u and t, consisting of only white edges. Thus, we have only to prove that in ? there is a b-w path from t to v . Let Br be the connected component containing AR and let X0 be the unique cut set adjacent to Br . In AUG there is at least one edge that crosses X0 and connects a vertex of Br to a vertex x1 2 RX0 . The corresponding black edge in AUG connects t, that is the representant of the vertices of Br , to (x2). Thus, by Lemma 8, there is a b-w path from t to all the vertices of RX2 , where X2 is the \rightmost" component containing x2 . Consider, now, the component X2. If X2 is a cut set then in AUG there is an edge that connects a vertex of RX2 to a vertex x3 2 LX2 . The corresponding black edge connects a vertex reachable from (x2) to (x3). If X2 is a block, we can consider the cut set adjacent to X2 on its left side and use the previous argument. Thus, we obtain a b-w path from t to all the representants of vertices in RX3 , where X3 is the \rightmost" component containing x3 . Iterating this argument we prove that there is a b-w path between t and any other vertex of the block-cut graph.
It can be easily seen that ? contains a b-w path between any pair of vertices if and only if it contains a b-w path from t to s. Let us brie y sketch the idea of algorithm 4-Conn, given in Figure 5, to compute a minimum weigth 4 connected subgraph of the graph G. The algorithm rst runs the algorithm FT(G), to compute a vertex root and a subgraph H that is at least 3 connected. If H is 4 connected the Pag. 9
Vertex Connectivity
REFERENCES
Input: A weighted 4-connected graph G. Output: A 4-connected spanning subgraph H 0 of G such that w(H 0) w(H ). begin 1) Run algorithm Conn on input G and let H and root be the graph and the 2) 3) 4) 5) 6)
end
distinguished vertex returned, respectively. if H is 4 connected, then stop. Construct the block-cut graph associated to J = H=root . For each edge e of G not contained in H add to ?(J ) the edge corresponding to e. Let ? be the graph obtained. Compute the minimum weight b-w path p in ? that connects t to s. Let AUG be the set of black edges contained in p and let AUG be the set of edges corresponding to the edges of AUG. return the graph H 0 otained by augmenting H with the edges of AUG. Figure 5: Algorithm 4-Conn.
algorithm halts; otherwise, it considers the 4{rooted graph J = H=root and constructs the blockcut graph ?(J ). Then, for each edge of G, not contained in H , it adds a corresponding edge to ?(J ) and computes the minimum weight b-w path p from t, that is the block vertex corresponding to the block containing AR , to s, that is the block vertex corresponding to the block containing AL. Let AUG be the set of black edges contained in p and let AUG be the set of edges of G corresponding to the edges of AUG . Then the algorithm 4-Conn returns the 4-connected graph obtained by augmenting H with the edges of AUG.
Theorem 2 The algorithm 4-Conn solves the 4-MWVC problem with an approximation factor 3. Proof: Let H be the minimum weigth 4 connected spanning subgraph of G. From Theorem 1, we have that the weigth of the subgraph H obtained in the step 1 of the algorithm 4-Conn is at most 2w(H ). Consider now the weigth of the edges of the augmenting set AUG computed in step 5. Since H is 4 connected it exists a subset B of edges of H that is an augmenting set for J . Since AUG is the minimum weigth augmenting set for J we have that w(AUG) w(B ). Thus, we have that w(H [ AUG) = w(H ) + w(AUG) 3w(H ):
References [1] B. Bollobas Extremal Graph Theory, Academic Press, London, 1978. [2] K.P. Eswaran, R.E. Tarjan, Augmentations Problems, SIAM Jour. on Computing, (5), 4, 653{665, (1976). [3] A. Frank, Applications of Submodular Functions, in Survey in Combinatorics 1993, London Mathematical Society, Lecture Notes Series, K. Walker Ed., 187, 85{136, Cambridge University Press, (1993). [4] A. Frank, E . Tardos, An application of Submodular Flows, Linear Algebra and its Applications 114/115, 329{348, (1989). Pag. 10
Vertex Connectivity
REFERENCES
[5] G. N. Frederickson, J. JaJa, On the relationship between the biconnectivity augmentation and traveling salesman problem Theoretical Computer Science, 19(2), 189{201, (1982). [6] H. N. Gabow, A representation for Crossing Set Families with Applications to Submodular Flow Problems, in Proc. of the 4-th Annual ACM-SIAM Symp. on Discrete Algorithms, SODA '93, 202{211, (1993). [7] M. R. Garey, D.S. Johnson, Computers and Intractability, Freeman, New York, 1979. [8] M. Grotschel, C. Monma, M. Stoer, Design of survivable networks, Handbook in Operations Research and Management Science, Volume on Networks, 1993. [9] S. Khuller, B. Raghavachari, Improved Approximation Algorithms for Uniform Connectivity Problems, in Proc. of the 27-th Annual ACM Symp. on Theory of Computing STOC '95, 1{10, Las Vegas, Nevada, 29 May{1 June, (1995). [10] S. Khuller, R. Thurimella, Approximation Algorithms for Graph Augmentation, J. of Alghorithms 14, 214{225, (1993). [11] M. Penn, H. Krupnik, Improved Approximation Algorithms for Weighted 2&3 Vertex Connectivity Augmentation Prblems, to appear on J. of Algorithms. [12] R. Ravi, D.P. Williamson, An Approximation Algorithm for Minimum-Cost VertexConnectivity Problems, in Proc. 6-th Annual ACM-SIAM Symp. on Discrete Algorithms, 332{341, (1995).
Pag. 11