Approximating node connectivity problems via set covers

Approximating node connectivity problems
via set covers∗
Guy Kortsarz
Zeev Nutov
Open University of Israel, Klauzner 16 Str.
Open University of Israel, Klausner 16 Str.
Ramat-Aviv, Israel
Ramat-Aviv, 61392, Israel
[email protected]
[email protected]
Abstract
Given a graph (directed or undirected) with costs on the edges, and an integer k,
we consider the problem of finding a k-node connected spanning subgraph of minimum
cost. For the general instance of the problem (directed or undirected), there is a simple
2k-approximation algorithm. Better algorithms are known for various ranges
of n, k.
2(k−1)
For undirected graphs with metric costs Khuller and Raghavachari gave a 2 + n
approximation algorithm. We obtain the following results.
(i) For arbitrary costs, a k-approximation algorithm for undirected graphs and a
(k + 1)-approximation algorithm for directed graphs.
(ii) For metric costs, a (2 + k−1
n )-approximation algorithm for undirected graphs and
k
a (2 + n )-approximation algorithm for directed graphs.
For undirected graphs and k = 6, 7, we further improve the approximation ratio from
k to d(k + 1)/2e = 4; previously, d(k + 1)/2e-approximation algorithms were known
only for k ≤ 5. We also give a fast 3-approximation algorithm for k = 4.
The multiroot problem generalizes the min-cost k-connected subgraph problem. In
the multiroot problem, requirements ku for every node u are given, and the aim is
to find a minimum-cost subgraph that contains max{ku , kv } internally disjoint paths
between every pair of nodes u, v. For the general instance of the problem, the best
known algorithm has approximation ratio 2k, where k = max ku . For metric costs there
is a 3-approximation algorithm. We consider the case of metric costs, and, using our
techniques, improve for k ≤ 7 the approximation guarantee from 3 to 2+ b(k−1)/2c
< 2.5.
k
∗
This research was done at Max-Planck-Institute für Informatik, Saarbrücken, Germany, and at the Open
University of Israel, Ramat-Aviv, Israel.
1
1
Introduction
A basic problem in network design is given a graph G to find its minimum cost subgraph that
satisfies given connectivity requirements (see [14, 8] for surveys). A fundamental problem in
this area is the survivable network design problem: find a cheapest spanning subgraph such
that for every pair of nodes (u, v), there are at least kuv internally disjoint paths from u
to v, where kuv is a nonnegative integer (requirement) associated with the pair (u, v); two
paths are internally disjoint if they do not have any internal node in common. No efficient
approximation algorithm for this problem is known. However, for undirected graphs, when
the paths are required only to be edge disjoint, an approximation algorithm that produces
a solution at most twice the value of an optimal was given by Jain [12]. Henceforth, unless
stated otherwise, we consider node connectivity only.
A ρ-approximation algorithm for a minimization problem is a polynomial time algorithm
that produces a solution of value no more than ρ times the value of an optimal solution;
ρ is called the approximation ratio of the algorithm. A particular important case of the
survivable network design problem is the problem of finding a cheapest k-node connected
spanning subgraph, that is the case when kuv = k for every node pair (u, v). For undirected
graphs this problem is NP-hard for k = 2 (for k = 1 it is the minimum spanning tree
problem) and for directed graphs it is NP-hard for k = 1. For both directed and undirected
graphs, there is a simple 2k-approximation algorithm, see for example [3].
For undirected graphs, the following results were known. Ravi and Williamson [21]
claimed a 2H(k)-approximation algorithm, where H(k) = 1 + 21 + · · · + k1 , but the proof
was found to contain an error, see [22]. A d(k + 1)/2e-approximation algorithms are known
for k ≤ 5; see [16] for k = 2, [2] for k = 2, 3, and
[7] for k = 4, 5. For metric costs and k
arbitrary, Khuller and Raghavachari [16] gave a 2 + 2(k−1)
-approximation algorithm (see
n
also a 3-approximation algorithm in [3]).
We extend and generalize some of these algorithms, and unify ideas from [16], [2, 7], [3],
and [13] to show further improvements. Among our results are:
(i) For arbitrary costs, a k-approximation algorithm for undirected graphs and a (k + 1)approximation algorithm for directed graphs;
(ii) For metric costs, a (2 + k−1
)-approximation algorithm for undirected graphs and a
n
(2 + nk )-approximation algorithm for directed graphs;
For undirected graphs and k = 6, 7, we further improve the approximation ratio from k
to d(k + 1)/2e = 4, and give a fast 3-approximation algorithm for k = 4.
2
Recently, Cheriyan et. al. [4] gave a 6H(k)-approximation algorithm for undirected
graphs with n ≥ 6k 2 , where n is the number of vertices of the input graph. In [5] the same
n
)-approximation algorithm for both directed
authors suggest an iterative rounding O( √n−k
√
and undirected graphs. For a combinatorial O( n ln k)-approximation algorithm see [15].
Another particular case of the survivable network design problem is the (undirected)
multiroot problem, where pairwise node requirements are defined by single node requirements;
that is, requirements ku for every node u are given, and the aim is to find a minimum-cost
subgraph that contains max{ku , kv } internally disjoint paths between every pair of nodes u, v.
A graph (directed or undirected) is said to be k-outconnected from a node r if it contains
k internally disjoint paths from r to any other node; such node r is usually referred as the
root. It is easy to see that a subgraph is a feasible solution to the multiroot problem if and
only if it is ku -outconnected from every node u. Given an instance of the multiroot problem,
we use q to denote the number of nodes u with ku > 0, and k = max ku is the maximum
requirement. Observe that the (undirected) min-cost k-connected subgraph problem is a
special case of the multiroot problem when ku = k for every node u.
Directed and undirected one root problems were considered long ago. For directed graphs,
Frank and Tardos [10] showed that the problem of finding a k-outconnected spanning subgraph of minimum cost is solvable in polynomial time; a faster algorithm is due to Gabow
[11]. As was observed by Khuller and Raghavachari in [16], this implies a 2-approximation
algorithm for the (undirected) one root problem, as follows. First, replace every undirected
edge e of G by the two antiparallel directed edges with the same ends and of the same cost as
e. Then compute an optimal k-outconnected from r subdigraph and output its underlying
(undirected) simple graph. The algorithm can be implemented in O(k 2 n2 m) time using the
algorithm of [11].
For the multiroot problem, a 2q-approximation algorithm follows by applying the above
algorithm for each root and taking the union of the resulting q subgraphs. The approximation
guarantee 2q of this algorithm is tight for q ≤ k, see [3]. For metric costs and k arbitrary,
Cheriyan et. al. [3] gave a 3-approximation algorithm. For metric costs and k = 2, it can
be shown that the problem is equivalent to that of finding a 2-connected subgraph. For the
latter, there is a 3/2-approximation algorithm, see [9]. We consider the case of metric costs,
and improve for 3 ≤ k ≤ 7 the approximation ratio from 3 to 2 + b(k−1)/2c
< 2.5.
k
This paper is organized as follows. Section 2 contains preliminary results and definitions.
Sections 3 and 4 present algorithms for arbitrary and metric costs, respectively. Section 5
shows a 4-approximation algorithm for k ∈ {6, 7}, and Section 6 shows a fast 3-approximation
algorithm for k = 4. Section 7 considers the metric multiroot problem with k ≤ 7.
3
2
Definitions and preliminary results
All the graphs (directed or undirected) in the paper are assumed to be simple (i.e., without
loops and parallel edges). An edge from u to v is denoted by uv. For an arbitrary graph H,
V (H) denotes the node set of H, and E(H) denotes the edge set of H. Let G = (V, E) be a
graph. For any set of edges and nodes U = E 0 ∪ V 0 we denote by G − U (resp., G + U ) the
graph obtained from G by deleting U (resp., adding U ), where deletion of a node implies
also deletion of all the edges incident to it. For a nonnegative cost function c on the edges of
P
G and a subgraph G0 = (V 0 , E 0 ) of G we use the notation c(G0 ) = c(E 0 ) = {c(e) : e ∈ E 0 }.
For S, T ⊆ V let δ(S, T ) = δG (S, T ) denote the set of edges in G going from S to T .
For X ⊆ V we denote by Γ(X) = ΓG (X) the set {v ∈ V \ X : uv ∈ E for some u ∈ X} of
neighbors of X. Let X ∗ = XG∗ = V \ (X ∪ Γ(X)) denote the “node complement” of X in G.
It is well known that the function |Γ(·)| is submodular, that is for any X, Y ⊆ V holds:
|Γ(X)| + |Γ(Y )| ≥ |Γ(X ∩ Y )| + |Γ(X ∪ Y )|.
(1)
Two sets X, Y ⊂ V cross (or X crosses Y ) if X ∩ Y 6= ∅ and neither X ⊆ Y nor Y ⊆ X.
We say that U ⊆ V covers a collection C of subsets of V if X ∩ U 6= ∅ for every X ∈ C.
We say that X ⊂ V is l-tight if |Γ(X)| = l and X ∗ 6= ∅ (i.e., if |Γ(X)| = l and |X| ≤
|V | − l − 1); such X is an l-core if it does not contain any other l-tight set. A graph G is
k-(node)-connected if for any pair of its nodes there are k internally disjoint paths from one
node to the other. By Menger’s Theorem, G is k-connected if and only if |V (G)| ≥ k + 1
and there are no l-tight sets with l ≤ k − 1 in G.
For an undirected graph G, we say that U ⊆ V is an l-cover if U covers all the l0 -cores
with l0 ≤ l. Note that if U is an l-cover, then for any l0 -tight set X with l0 ≤ l holds:
X ∩ U 6= ∅ and X ∗ ∩ U 6= ∅. Thus if |V (G)| ≥ l + 2, then by adding to G the edge set
E 0 = {uv : u 6= v ∈ U } of a complete graph on U we obtain an (l + 1)-connected graph.
An edge e of a graph G is said to be critical w.r.t. property P if G satisfies property P ,
but G − e does not. The following theorem is due to Mader.
Theorem 2.1 (Mader,[17]) In a k-connected undirected graph, any cycle in which every
edge is critical w.r.t. k-connectivity contains a node of degree k.
Theorem 2.1 implies that if |Γ(v)| ≥ k − 1 for every v ∈ V (G), and if F is an inclusion
minimal edge set such that G + F is k-connected, then F is a forest (if not, then F contains
a cycle C of critical edges, but every node of this cycle is incident to 2 edges of C and to at
least k − 1 edges of G, contradicting Mader’s Theorem). This implies:
4
Corollary 2.2 Let U be a (k − 1)-cover in an undirected graph G, and let E 0 = {uv : u 6=
v ∈ U }. Then G + E 0 is k-connected. Moreover, if |Γ(v)| ≥ k − 1 for every v ∈ V , and if
F ⊆ E 0 is an inclusion minimal edge set such that G + F is k-connected, then |F | ≤ |U | − 1.
The following property of k-outconnected undirected graphs is from [2].
Lemma 2.3 ([2]) Let G be an undirected graph which is k-outconnected from r, and let S
be an l-tight set in G. Then |S ∩ Γ(r)| ≥ k − l + 1, and if l ≤ k − 1 then |S ∩ Γ(r)| ≥ 2 and
c + 1)-connected.
r ∈ Γ(S). Thus G is (k − b |Γ(r)|
2
Corollary 2.4 Let G be an undirected graph which is k-outconnected from r. Then Γ(r) − v
is a (k − 1)-cover in G for any v ∈ Γ(r).
Throughout the paper, for an instance of a problem, we will denote by G the input graph,
and by opt the value of an optimal solution; n denotes the number of nodes in G, and m
the number of edges in G. We assume that G contains a feasible solution; otherwise our
algorithms can be easily modified to output an error.
For the min-cost k-connected subgraph problem, we can assume that G is a complete
graph, and that c(e) ≤ opt for every edge e of G. Indeed, let G = (V, E) be a k-connected
spanning subgraph of G and let st ∈ E. Let Fst be the edge set of cheapest k internally
disjoint paths from s to t in G. Then (G − st) + Fst is k-connected and, clearly, c(Fst ) ≤ opt.
Note that Fst as above can be found in O(n log n(m + n log n)) time by a min-cost k-flow
algorithm of [20] (the node version), and flow decomposition.
The main idea of most of our algorithms is to find a certain subgraph of G of low cost
and with a small cardinality (k − 1)-cover or augmenting edge set. For undirected graphs,
such a subgraph is found by using the following two modifications of the 2-approximation
algorithm for the one root problem. Each one of these modifications outputs a subgraph of
G of cost ≤ 2opt (here opt is the optimal cost of a k-connected spanning subgraph of G) and
a (k − 1)-cover U of the subgraph.
The first modification is from [16], and we use it for the case of metric costs. Let Gr
be a graph constructed from G by adding an external node r and connecting it by edges of
cost 0 to an arbitrary set R of at least k nodes in G. We compute a k-outconnected from
r subgraph Gr of Gr using the 2-approximation algorithm above, and output G = Gr − r.
As was shown in [16], c(G) ≤ 2opt. By Lemma 2.3 R is a (k − 1)-cover of G. We shall refer
to this modification as the External Outconnected Subgraph Algorithm (EOCSA). It can be
implemented in O(k 2 n2 m) time using the algorithm of [11].
The second modification is from [2, 7]. It finds a subgraph G and a node r such that: G is
5
k-outconnected from r, |ΓG (r)| = k, and c(G) ≤ 2opt. The time complexity of the algorithm
is O(k 2 n3 m) for the deterministic version, and O(k 2 n2 m log n) for the randomized one. We
shall refer to the deterministic version as the Outconnected Subgraph Algorithm (OCSA), and
for the randomized version as the Randomized Outconnected Subgraph Algorithm (ROCSA).
3
Min-cost k-connected subgraphs
3.1
Undirected graphs with arbitrary costs
This section deals with undirected graphs only. It is not hard to get a k-approximation
algorithm for the min-cost k-connected subgraph problem as follows. We execute OCSA
(or ROCSA) to compute a corresponding root r and a subgraph G of G. Let v ∈ ΓG (r) be
arbitrary, and let R = ΓG (r) \ v. Recall that, by Corollary 2.4, R is a (k − 1)-cover in G.
We then find an edge set F as in Corollary 2.2, so G + F is k-connected and F is a forest on
R. Finally, we replace every edge st ∈ F by a cheapest set Fst of k internally disjoint paths
between s and t in G. By [2], c(G) ≤ 2opt. Since |R| = k − 1 then |F | ≤ k − 2. Thus the
cost of the output subgraph is at most 2opt + (k − 2)opt = kopt.
We can get a slightly better approximation ratio by executing OCSA and then iteratively
increasing the connectivity by 1 until it reaches k.
Let G be an l-connected graph, |V (G)| ≥ l + 2. We say that an l-tight set X is small
if |X| ≤ b n−l
c. Clearly, if X is l-tight, then at least one of X, X ∗ is small. Thus G is
2
(l + 1)-connected if and only if it has no small l-tight sets. The following lemma is well
known, e.g., see [13, Lemma 1.2].
Lemma 3.1 Let X, Y be two intersecting small l-tight sets in an l connected graph G. Then
(i) X ∩ Y is a small l-tight set;
(ii) X ∪ Y , (X ∪ Y )∗ are both l-tight, and at least one of them is small.
Corollary 3.2 In an l-connected graph G, no small l-tight set crosses a small l-core. Thus
any two distinct small l-cores are disjoint.
Let ν̂l (G) denote the number of small l-cores in G. Note that G is (l + 1)-connected if
and only if ν̂l (G) = 0. Let us call an edge e reducing for G if ν̂l (G + e) ≤ ν̂l (G) − 1.
Lemma 3.3 Let R be a cover of all small l-cores in an l-connected graph G. If R is not an
l-cover, then there is a reducing edge for G.
6
Proof: Let R be a cover of all small l-cores in G. If R is not an l-cover, then there is an
l-core T such that T ∩ R = ∅. Note that T cannot be small, thus T ∗ is small. Let S ⊆ T ∗
be an arbitrary l-core. Consider the collection D of all (inclusion) maximal small l-tight sets
containing S. Note that T ∗ ∈ D. By Lemma 3.1 (ii) and the maximality of the sets in D,
exactly one of the following holds: (i) |D| = 1 (so D = {T ∗ }), or (ii) |D| ≥ 2, and the union
of any two sets from D is an l-tight set which is not small.
If case (i) holds, then any edge e = st where s ∈ S and t ∈ T is reducing for G, since
in G + st there cannot be a small l-tight set containing S. Assume therefore that case (ii)
holds. Let L be a set in D crossing with T ∗ . Then, by Lemma 3.1 (i), L∗ ∩ T is tight and
small, implying L∗ ∩ T ∩ R 6= ∅. This contradicts our assumption that T ∩ R = ∅.
2
Corollary 3.4 Any l-connected graph can be made (l + 1)-connected by adding ν̂l (G) edges.
Proof: If G has no reducing edge, we find an l-cover R of size ν̂l (G) by picking a node from
every small l-core. By Lemma 3.3, R is an l-cover, and, by Corollary 2.2, we can find a forest
F on R such that G + F is (l + 1)-connected. Else, we find and add a reducing edge, and
recursively apply the same process on the resulting graph.
2
Theorem 3.5 For the problem of making
a(k −1)-connected graph G k-connected by adding
k
a min-cost edge set there exists a 2 + b 2 c -approximation algorithm with time complexity
O(k 2 n3 m) deterministic (using OCSA) and O(k 2 n2 m log n) randomized (using ROCSA).
Proof: At the first phase we reset the edge cost of edges of G to zero, and execute OCSA:
let H be the output graph, r the corresponding root, and R = ΓH (r). Now, consider the
graph J = H + G, and let l = k − 1. Note that ν̂l (J) ≤ bk/2c, since every l-tight set in
H, and thus in J, contains at least two nodes from R, and |R| = k. At the second phase
we make J k-connected by adding an edge set F as in Lemma 3.3, with l = k − 1. Now,
c(J) + c(F ) ≤ 2opt + bk/2copt. The analysis of the time complexity is straightforward. 2
One can get an approximation ratio slightly better than k by sequentially applying augmentation steps as above. That is, we execute OCSA, and from l = dk/2e + 1 to k − 1
k
increase the connectivity by 1. At every iteration, ν̂l (G) ≤ b k−l+1
c, where G denotes the
current graph. By Corollary 3.4, G can be made (l + 1)-connected by adding ν̂l (G) edges.
The following lemma implies that increasing the number of internally disjoint paths between
opt
s and t from l to l + 1 costs at most k−l
.
Lemma 3.6 Let G be a subgraph of a graph G containing l internally disjoint paths from s
to t, s, t ∈ V (G). For an integer p let F p ⊆ I = E(G) − E(G) be an optimal edge set such
that G + F p contains l + p internally disjoint paths from s to t. Then c(F 1 ) ≤ p1 c(F p ).
7
Proof: One can view G as a min-cost flow network with source s and sink t where all edges
and nodes have unit capacity (the costs are determined by the costs of the edges in I, while
the edges in E have cost zero). Apply the following standard two stage reduction. First,
replace every undirected edge e by two opposite directed edges with the same ends and the
same capacity and cost as e, to get a directed network. Second, apply a standard conversion
of node capacities to edge capacities: replace every node v ∈ V − {s, t} by the two nodes
v − , v + connected by the edge v − v + having the same capacity as v and cost zero, and redirect
the heads of the edges entering v to v − and the tails of the edges leaving v to v + .
In the new network, let F~ p be a min-cost (l + p)-flow. Using flow decomposition, it
p
is not hard to see that c(F~ p ) = c(F
). In
particular, c(F~ 0 ) = c(F 0 ) = 0. Now consider
the (fractional) (l + 1)-flow p1 F~ p + 1 − p1 F~ 0 which has cost p1 c(F~ p ) = p1 c(F p ). Since the
capacities are integral, there must be an integral (l + 1)-flow F~ 1 of at most the same cost,
which proves the lemma.
2
Lemma 3.6 implies that the approximation ratio of our algorithm is:
I(k) = 2 +
k−1
X
l=d k2 e+1
$
k
b 2 c−1
X 1
k
1
k
=2+
.
k−l+1 k−l
j=1 j j + 1
%
It is easy to check that I(k) < k for k ≥ 7, but limk→∞
I(k)
k
$
%
= 1.
Theorem 3.7 For the problem of making a k0 -connected graph k-connected there exists
an I(k − k0 )-approximation algorithm with time complexity O(k 2 n3 m) deterministic (using
OCSA) and O(k 2 n2 m log n) randomized (using ROCSA).
3.2
Directed graphs with arbitrary costs
Let us say that a directed graph is k-inconnected to r if it contains k internally disjoint paths
from any its node to r. Our algorithm is as follows.
1. Choose an arbitrary set R = {r1 , . . . , rk } ⊆ V of k nodes, and for i = 1, . . . , k, compute
a min-cost k-outconnected from ri subgraph Gi = (V, Fi ) of G.
2. Construct a graph Gr by adding to G an external node r, and edges ri r of cost 0,
i = 1, . . . , k.
Compute a minimum cost k-inconnected to r spanning subgraph Gr of Gr .
3. Output H = (Gr + F ) − r, where F =
Sk
i=1
8
Fi .
Theorem 3.8 There exists a (k+1)-approximation algorithm with time complexity O(k 2 n2 m)
for the directed min-cost k-connected subgraph problem.
Proof: We need to show that the output graph H is k-connected and that c(H) ≤ (k+1)opt.
If H is not k-connected, then, H has an l-tight set S with l < k. Since H is k-outconnected
from any node that belongs to R, we must have S ∩ R = ∅. Thus, S is also l-tight in Gr ∪ F .
We obtain a contradiction since then Gr cannot contain k internally disjoint paths from any
node s ∈ S to r.
We now prove the approximation ratio. Clearly, c(Fi ) ≤ opt, i = 1, . . . , k; thus c(F ) ≤
kopt. It remains to show that c(Gr ) ≤ opt. Let G∗ be an optimal k-connected spanning
subgraph of G. Extend G∗ to a spanning subgraph G∗r of Gr by adding to G∗ the node r
and the edges ri r of cost 0, i = 1, . . . , k. It is easy to see that G∗r is k-inconnected to r.
Therefore, c(Gr ) ≤ c(G∗r ) = c(G∗ ) = opt.
2
4
4.1
Metric k-connected subgraph problem
Undirected graphs with metric costs
In this section we consider
the metric
min-cost k-connected subgraph problem. We present a
2(k−1)
modification of the 2 + n -approximation algorithm of Khuller and Raghavachari [16]
to achieve a slightly better approximation guarantee of 2 +
k−1
n
.
Here is a short description of the algorithm of [16]. An l-star is a tree with l nodes and
l − 1 leaves; a node s is a center of the star if all the other nodes in the star are leaves. Note
that a min-cost subgraph of G which is l-star with center v can be computed in O(ln) time,
and the overall cheapest l-star in O(ln2 ) time. The algorithm of [16] finds the node set R of
a cheapest k-star, executes EOCSA, and adds to the graph G calculated the edge set E 0 as
in Corollary 2.2 (that is, all the edges with both endnodes in R that are not in G). In [16]
.
it is shown that c(E 0 ) ≤ 2(k−1)
n
In our algorithm, we make a slightly different choice of R, and add an extra phase of
removing from E 0 the noncritical edges (that is we add an edge set F as in Corollary 2.2).
. We use the following lemma:
We show that for our choice of R, c(F ) ≤ k−1
n
Lemma 4.1 Let J be a complete graph on a node set R with node weights w(v) ≥ 0, v ∈ R,
and edge weights w(uv) = w(u) + w(v), u, v ∈ R. If F is a forest on R then
w(F ) ≤ (|R| − 2) max{w(v) : v ∈ R} +
9
X
{w(v) : v ∈ R}.
Proof: Let s ∈ R be a node satisfying w(s) = max{w(v) : v ∈ R}. Among all forests F on
R for which w(F ) is maximal, let F ∗ be one with the maximum number of edges incident to
s. We claim that F ∗ is a star centered at s and thus for any forest F on R holds:
w(F ) ≤ w(F ∗ ) =
X
{w(s) + w(v) : v ∈ R − s} = (|R| − 2)w(s) +
X
{w(v) : v ∈ R}.
If not, then there is a node v 6= s, such that v is either an isolated node of F ∗ , or v is a leaf
of F ∗ with uv ∈ F ∗ and u 6= s. In both cases, (F ∗ − uv) + sv is a forest of the weight at
least c(F ∗ ), but with more edges incident to s than F ∗ ; this contradicts our choice of F ∗ . 2
In our algorithm, we start by choosing the cheapest (k + 1)-star Jk+1 . Let v0 be its
center, and let its leaves be v1 , . . . , vk . Denote w0 = w(v0 ) = 0 and wi = w(vi ) = c(v0 vi ),
i = 1, . . . , k. Without loss of generality, assume that w1 ≤ w2 ≤ · · · ≤ wk . Since the costs
are metric, c(vi vj ) ≤ w(vi vj ) = wi + wj , 0 ≤ i 6= j ≤ k. Let us delete vk from the star. This
results in a k-star Jk , and let R be its node set. For such R, let G be the subgraph of G
calculated by EOCSA. Recall that R is a (k − 1)-cover in G. Let F be an edge set as in
Corollary 2.2, so G + F is k-connected, and F is a forest. The algorithm will output G + F .
All this can be implemented in O(k 2 n2 m) time.
Let us analyze the approximation ratio. By [16], c(H) ≤ 2opt. We claim that c(F ) ≤
Indeed, similarly to [16], using the metric cost assumption it is not hard to show
P
that c(Jk+1 ) = {w(v) : v ∈ R} + wk ≤ n2 opt. Thus, by our choice of Jk , wk−1 = max{w(v) :
v ∈ R} ≤ n1 opt. Using this, the metric costs assumption, and Lemma 4.1 we get:
k−1
opt.
n
c(F ) =
X
{c(vi vj ) : vi vj ∈ F } ≤
X
{wi + wj : vi vj ∈ F } ≤
2
{w(v) : v ∈ R} ≤ (k − 2)wk−1 + ( opt − wk ) ≤
n
2
k−3
2
k−1
opt + opt =
opt.
≤ (k − 3)wk−1 + opt ≤
n
n
n
n
≤ (k − 2)wk−1 +
X
Theorem 4.2 There exists a (2+ k−1
)-approximation algorithm with time complexity O(k 2 n2 m)
n
for the undirected metric min-cost k-connected subgraph problem.
4.2
Directed graphs with metric costs
In this section we consider directed graphs only. We say that a pair (R− , R+ ) is an l-cover
in a directed graph G if R− covers all the l0 -tight sets in G and R+ covers all the l0 -tight
sets in the graph obtained from G by reversal of its arcs, for any l0 ≤ l. It is easy to see
that if (R− , R+ ) is a (k − 1)-cover in G, and E 0 = {uv : u ∈ R− , v ∈ R+ }, then G + E 0 is
k-connected.
10
A v → l-star is a directed tree rooted at v, with l nodes and l − 1 leaves; a v ← l-star is
a graph which reversal of its edges results in a v → l-star. Let v be a node of G. Among all
subdigraphs of G which are v → l-stars (resp., v ← l-stars), let Xl− (v) (resp., Xl+ (v)) be a
cheapest one. Our algorithm for directed graphs is as follows:
−
+
1. Find a node v0 for which c(Xk+1
(v)) + c(Xk+1
(v)) is minimal, and set u0 = v0 .
−
−
−
Let R = {v1 , . . . , vk } be the leaves of Jk+1 = Xk+1
(v0 ), and R+ = {u1 , . . . , uk } be
+
+
the leaves of Jk+1
= Xk+1
(u0 ), where c(v0 vi ) ≤ c(v0 vi+1 ) and c(ui u0 ) ≤ c(ui+1 u0 ),
i = 1, . . . , k − 1.
−
+
Set Jk− = Xk+1
(v0 ) − vk , Jk+ = Xk+1
(v0 ) − uk .
2. Add a node r to G and edges vi r, rui of the cost 0, i = 0, . . . , k − 1, obtaining a graph
Gr . Compute two spanning subgraphs of Gr : an optimal k-outconnected from r, say
+
G−
r , and an optimal k-inconnected to r, say Gr ;
+
0
3. The graph G + E 0 is k-connected, where G = (G−
r + Gr ) − r and E = {uv : u ∈
R− , v ∈ R+ }.
Output H = G + F , where F ⊆ E 0 , and all the edges in F are critical w.r.t. kconnectivity in H.
The following directed counterpart of Lemma 2.3 implies that the pair (R− , R+ ) is a
(k − 1)-cover in G, and thus the algorithm correctly outputs a k-connected graph H.
Lemma 4.3 Let Gr be k-inconnected to r, let R = {v ∈ V : r ∈ Γ(v)}, and let S be an
l-tight set in Gr such that r ∈
/ S. If r ∈ Γ(S) then |S ∩ R| ≥ k − l + 1, and if r ∈
/ Γ(S) then
l ≥ k. Thus R covers all the l-tight sets in Gr − r, l ≤ k − 1.
Proof: Let s ∈ S, and consider a set of k internally disjoint paths from s to r. Let
R0 = {v1 , . . . , vk } ⊆ R be the nodes of these paths preceding r. If r ∈ Γ(S), then at most
l − 1 nodes from R0 may not belong to S; this implies |R ∩ S| ≥ |R0 ∩ S| ≥ k − (l − 1).
Clearly, if r ∈
/ Γ(S) and l < k there cannot be k internally disjoint paths from s to r, by
Menger’s Theorem. The last statement is obvious.
2
Let us analyze the approximation ratio, using the notation as in the algorithm. Similarly
+
to the proof of Theorem 3.8, one can show that c(G) ≤ c(G−
r ) + c(Gr ) ≤ 2opt.
We claim that c(F ) ≤ nk opt. Construct a bipartite graph J = (A, B, E(J)) with weights
on the nodes as follows. The node parts are A = {u0 , . . . , uk−1 } and B = {v0 , . . . , vk−1 }. The
node weights are w(ui ) = c(u0 ui ), w(vj ) = c(v0 vj ) and w(u0 ) = w(v0 ) = 0. To every directed
edge e = ui vj with ui ∈ R− , vj ∈ R+ naturally corresponds an undirected edge e0 = ui vj
11
with ui ∈ A, vj ∈ B. Moreover, since the costs are metric, for any ui ∈ R− and vj ∈ R+ we
have c(ui vj ) ≤ w(vi vj ) = w(ui ) + w(vj ).
We need some definitions and facts to continue. An even length sequence of edges C =
(v1 v2 , v3 v2 , v3 v4 , . . . , v2q−1 v2q , v1 v2q ) of a directed graph G is called an alternating cycle; the
nodes v1 , v3 , . . . , v2q−1 are C-out nodes, and v2 , v4 , . . . , v2q are C-in nodes.
Theorem 4.4 (Mader,[18]) In a k-connected directed graph, any cycle C in which every
edge is critical w.r.t. k-connectivity contains a C-in node of indegree k, or a C-out node of
outdegree k.
Theorem 4.4 implies that if the indegree and the outdegree of every node in V (G) is at
least k − 1, and if F is an inclusion minimal edge set such that G + F is k-connected, then
F contains no alternating cycle. Note that F ⊆ {uv : u ∈ R− , v ∈ R+ } has no alternating
cycle if and only if the corresponding edge set F 0 in J is a forest. We also need the following
directed counterpart of Lemma 4.1 (the proof is omitted):
Lemma 4.5 Let J = (A, B, E(J)) be a complete bipartite directed graph with nonnegative
node weights w(v) ≥ 0, v ∈ A ∪ B, and edge weights w(ab) = w(a) + w(b), a ∈ A, b ∈ B. If
F ⊆ E(J) is a forest, then
w(F ) ≤ (|B| − 1) max{w(a) : a ∈ A} + (|A| − 1) max{w(b) : b ∈ B} +
X
{w(v) : v ∈ A ∪ B}.
−
Let us set wi = w(ui ) + w(vi ), i = 0, . . . , k. Similarly to [16], one can show that c(Jk+1
+
−
+
+
1
2
Jk+1 ) ≤ n opt. Thus, wk−1 ≤ n opt, by our choice of Jk , Jk . Now, similarly to the undirected
case we get:
c(F ) =
X
{c(vi vj ) : vi vj ∈ F } ≤
X
{wi + wj : vi vj ∈ F } ≤
k−1
X
2
wi ≤ (k − 1)wk−1 + ( opt − wk ) ≤
n
i=0
2
k−2
2
k
≤ (k − 2)wk−1 + opt ≤
opt + opt = opt.
n
n
n
n
≤ (k − 1)wk−1 +
Theorem 4.6 There exists a 2 + nk -approximation algorithm with time complexity O(k 2 n2 m)
for the directed metric min-cost k-connected subgraph problem.
5
Min-cost 6,7-connected subgraphs
This section presents our algorithms for the min-cost 6, 7-connected (undirected) subgraph
problems. The algorithm itself is simple, and the main difficulty is to show that for k = 6, 7
12
we can make the output graph of OCSA k-connected by adding an edge set F with |F | ≤ 2.
A similar approach was used previously in [7] for k = 4, 5 with |F | ≤ 1:
Lemma 5.1 ([7],Lemma 4.5) Let G be a graph which is k-outconnected from r, k ∈ {4, 5}.
If |ΓG (r)| = k, then there exists a pair of nodes s, t ∈ ΓG (r) such that G + st is k-connected.
In fact, Lemma 5.1 can be deduced from Lemma 2.3 and the following lemma:
Lemma 5.2 ([13],Lemma 3.2) Let G be an l-connected graph such that the maximum
number of pairwise disjoint l-cores in G is exactly 2. Then the family of l-cores of G consists
of two disjoint sets S, T ⊂ V (G), and for any l-tight set Z of G either S ⊆ Z and T ⊆ Z ∗
or T ⊆ Z and S ⊆ Z ∗ .
Our algorithm for k = 6, 7 is based on the following Lemma:
Lemma 5.3 Let G be k-outconnected from r, k ∈ {6, 7}. If |ΓG (r)| ∈ {6, 7} then there
exists two pairs of nodes {s1 , t1 }, {s2 , t2 } ⊂ ΓG (R) such that G + {s1 t1 , s2 t2 } is k-connected.
Proof: Let G be as in the lemma, and k ∈ {6, 7}. In the proof, let the default subscript of
the functions Γ be G. For convenience, let us denote R = Γ(r). Note that, by Lemma 2.3,
G is (k − 2)-connected, and that if S is (k − 2)-tight and X is (k − 1)-tight then |S ∩ R| ≥ 3,
|X ∩ R| ≥ 2, and r ∈ Γ(S) ∩ Γ(X). In particular, since |R| ≤ 7, we have:
Proposition 5.4 If S and T are two disjoint (k − 2)-tight sets then any (k − 1)- or (k − 2)
tight set intersects at least one of S, T .
In what follows, note that in any graph G = (V, E) for any two sets X, Y ⊂ V holds:
|Γ(X)| + |Γ(Y )| ≥ |Γ(X ∗ ∩ Y )| + |Γ(X ∩ Y ∗ )|
(2)
|Γ(X ∩ Y )| ≤ |Γ(X) − Y ∗ | + |Γ(Y ) ∩ X|.
(3)
We now establish several properties of (k − 1)- and (k − 2)-cores for a graph G as in
Lemma 5.3 using inequalities (1), (2), and (3).
Lemma 5.5 Let S be a (k − 2)-core and let X be an arbitrary (k − 1)-tight set crossing S.
Then at least one of the following holds:
• X ∩ S is (k − 1)-tight and X ∗ ∩ S ∗ is (k − 2)-tight; or
• X ∩ S ∗ is (k − 2)-tight and X ∗ ∩ S is (k − 1)-tight.
13
Proof: If X ∗ ∩ S ∗ = (X ∪ S)∗ 6= ∅ then |Γ(X ∪ S)| ≥ k − 2. By the minimality of S,
|Γ(X ∩ S)| ≥ k − 1. Using inequality (1) we obtain
(k − 1) + (k − 2) = |Γ(X)| + |Γ(S)| ≥ |Γ(X ∩ S)| + |Γ(X ∪ S)| ≥ (k − 1) + (k − 2).
If X ∩ S ∗ , X ∗ ∩ S 6= ∅ then |Γ(X ∩ S ∗ )| ≥ k − 2. By the minimality of S, |Γ(X ∗ ∩ S)| ≥ k − 1.
Then using (2) we obtain
(k − 1) + (k − 2) = |Γ(X)| + |Γ(S)| ≥ |Γ(X ∩ S ∗ )| + |Γ(X ∗ ∩ S)| ≥ (k − 2) + (k − 1).
In both cases, equality holds everywhere, and the claim of the lemma holds.
Assume now that X ∗ ∩ S ∗ = ∅. Then X ∗ ∩ S 6= ∅, since otherwise X ∗ is a (k − 1)-tight
set disjoint to both S, S ∗ , contradicting Proposition 5.4. Thus we must have X ∗ ∩ S 6= ∅ and
X ∩ S ∗ = ∅. Then
|Γ(X) − S ∗ | = |Γ(X)| − |S ∗ | ≤ |Γ(X)| − |S ∗ ∩ R| ≤ (k − 1) − 3.
Since |Γ(S)| = k − 2 ≤ 5, then |Γ(S) ∩ X| ≤ 2 or |Γ(S) ∩ X ∗ | ≤ 2. If |Γ(S) ∩ X| ≤ 2 then
by (3)
|Γ(X ∩ S)| ≤ |Γ(X) − S ∗ | + |Γ(S) ∩ X| ≤ (k − 4) + 2 = k − 2.
This contradicts the minimality of S. The contradiction for the case |X ∗ ∩ Γ(S)| ≤ 2 is
obtained similarly.
2
Combining the last lemma with Proposition 5.4 we obtain:
Corollary 5.6 If G is not (k − 1)-connected, then any (k − 1)-core either contains exactly
one (k − 2)-core, or is contained in such a core.
Lemma 5.7 Let X, Y be (k − 1)-cores that cross. Then exactly one of the following holds:
(i) at least one of the sets X ∩ Y , X ∩ Y ∗ , X ∗ ∩ Y , or X ∪ Y is (k − 2)-tight, or
(ii) G is (k−1)-connected, X ∩Y is k-tight, and the only (k−1)-cores in G are X, Y, X ∗ , Y ∗ .
Proof: Assume X ∗ ∩ Y ∗ = (X ∪ Y )∗ 6= ∅ (see Fig. 1(a)). Then |Γ(X ∪ Y )| ≥ k − 2, and, by
the minimality of X, |Γ(X ∩ Y )| =
6 k − 1. Now, by (1):
|Γ(X ∩ Y )| + |Γ(X ∪ Y )| ≤ |Γ(X)| + |Γ(Y )| = 2k − 2,
which implies that |Γ(X ∩ Y )| = k − 2 or |Γ(X ∪ Y )| = k − 2.
14
Figure 1: Illustration to the proof of Lemma 5.7
Similar argument applies with (2) for the case when both X ∩ Y ∗ , X ∗ ∩ Y are nonempty
and gives for this case that |Γ(X ∩ Y ∗ )| = k − 2 or that |Γ(X ∗ ∩ Y )| = k − 2.
Assume therefore that X ∗ ∩ Y ∗ = ∅, and that at least one of X ∗ ∩ Y, X ∩ Y ∗ is also
empty. Without loss of generality let us consider the case X ∩ Y ∗ = ∅ (see Fig. 1(b)). Then
Y ∗ ⊂ Γ(X). Since |Y ∗ ∩ R| ≥ 2, we must have |Γ(X) − Y ∗ | ≤ k − 3.
Now, assume that X ∩ Y is not (k − 2)-tight. Then, by the minimality of Y , we must
have |Γ(X ∩ Y )| ≥ k. Applying inequality (3) we get
k ≤ |Γ(X ∩ Y )| ≤ |Γ(X − Y ∗ )| + |Γ(Y ) ∩ X| ≤ (k − 3) + |Γ(Y ) ∩ X|,
so |Γ(Y ) ∩ X| ≥ 3. This implies
|Γ(Y ) ∩ X ∗ | = (k − 1) − |Γ(Y ) ∩ X| − |Γ(Y ) ∩ Γ(X)| ≤ (k − 1) − 3 − 1 ≤ 2.
Now, if X ∗ ∩ Y is not (k − 2)-tight, then X ∗ ∩ Y = ∅. Otherwise, applying (3) on X ∗ and
Y we get a contradiction to the minimality of Y :
|Γ(X ∗ ∩ Y )| ≤ |Γ(X ∗ ) − Y ∗ | + |Γ(Y ) ∩ X ∗ | ≤ |Γ(X) − Y ∗ | + |Γ(Y ) ∩ X ∗ | ≤ (k − 3) + 2.
From the previous discussion we conclude, that if the first case of the lemma does not
hold, then the following holds (see fig 1(c)): all the three sets X ∩ Y ∗ , X ∗ ∩ Y, X ∗ ∩ Y ∗
are empty; |X ∗ | = |Y ∗ | = 2, and thus X ∗ , Y ∗ ⊆ R and X ∗ , Y ∗ are (k − 1)-cores; and
|Γ(Y ) ∩ X| = |Γ(X) ∩ Y | = 3 and thus |X| ≥ 4 and |Y | ≥ 4. (Note that then also k = 7 and
Γ(Y ) ∩ Γ(X) = {r}.) From that it is easy to see that Γ(X ∗ ∪ Y ∗ ) = Γ(X ∩ Y ), so X ∗ ∪ Y ∗
is k-tight. We now prove that then the second case of the lemma must hold.
First, let us show that G is (k − 1)-connected. If not, then by Corollary 5.6, there is a
(k − 2)-core S containing X ∗ . Using Lemma 5.5 and Proposition 5.4, it is not hard to see
that we must have S = X ∗ ∪ Y ∗ . This is a contradiction, since |Γ(X ∗ ∪ Y ∗ )| = k.
15
Second, we prove that if Z is a (k −1)-core in G then Z is one of X, Y, X ∗ , Y ∗ . Otherwise,
Z crosses at least one of X, Y, X ∗ , Y ∗ . Since G is (k−1)-connected, case (i) of the lemma does
not hold, and we conclude that |Z ∗ | = 2. But then Z ∗ crosses at least one of X, Y, X ∗ , Y ∗ ,
and, by the previous discussion, we must have |Z ∗ | ≥ 4, which is a contradiction.
2
We now are ready to finish the proof of Lemma 5.3.
Assume first that G is (k − 1)-connected. We will show that then there is a (k − 1)cover U ⊂ R with |U | ≤ 3. Then, the statement is a straightforward consequence from
Corollary 2.2. Recall that the maximum number of pairwise disjoint cores in G is at most 3.
Thus, if no two (k − 1)-cores cross, then picking one node in R from every (k − 1)-core gives
a (k − 1)-cover as required. If there exists a pair X, Y of (k − 1)-cores that cross, then we are
in case (ii) of Lemma 5.7. In particular, X ∩ Y is k-tight, thus by Lemma 2.3 X ∩ Y ∩ R 6= ∅.
Then U = {x, y, z}, where x ∈ X ∗ ∩ R, y ∈ Y ∗ ∩ R, and z ∈ X ∩ Y ∩ R is a (k − 1)-cover as
required.
Assume now that G is not (k − 1)-connected. Let S, T be the (k − 2)-cores in G (as in
Lemma 5.2). Let S (resp., T ) denote all the (k − 1)-cores contained in S (resp., in T ). Note
that there are at most two disjoint sets in S, and that, by Lemma 5.7, for any two sets in S
that cross, their union is S. A similar statement holds for T .
Lemma 5.8 Let C be a collection of subsets of S containing at most two disjoint subsets,
and let U cover C. If for any X, Y ∈ C that cross holds X ∪ Y = S, then there is U 0 ⊆ U
with |U 0 | ≤ 2 that covers C.
Proof: It is sufficient to prove the statement under the assumption that any two sets in C
either disjoint or cross. The proof is by induction on |C|. For |C| ≤ 3 the statement is clear.
Assume now that |C| ≥ 4. Let X1 , X2 , X3 ∈ C be arbitrary. Then any two of X1 , X2 , X3
cross. Let Z = X1 ∩ X2 ∩ X3 , and let X ∈ C \ {X1 , X2 , X3 }. By the assumption of the
lemma, (Xi ∩ Xj ) \ Z ⊂ X for i 6= j = 1, 2, 3, implying S \ Z ⊆ X. Now, if U \ Z 6= ∅, let
u ∈ U \ Z. Then u covers all the sets in C except of exactly one of X1 , X2 , X3 . Let v ∈ U be
a node that covers the set not covered by u. Then {u, v} is a cover as required. If U ⊆ Z,
then let C 0 = C \ {X1 , X2 , X3 }. Note that C 0 satisfies the conditions of the lemma. By the
induction hypothesis, C 0 has a cover U 0 as in the lemma. But then U 0 also covers C, and the
proof is complete.
2
By Lemma 5.8, there is a pair {s1 , s2 } ∈ R that covers S, and there is a pair {t1 , t2 } ∈ R
that covers T .
Lemma 5.9 The graph G + {s1 t1 , s2 t2 } is k-connected.
16
Proof: It is straightforward to see (via Lemma 5.2) that adding the edges s1 t1 , s2 t2 adds at
least 2 neighbors to any (k − 2)-tight set. We will show that adding these edges also adds
at least 1 neighbor to any (k − 1)-tight set Z. If Z contains one of S, T and Z ∗ contains the
other, then the claim is straightforward. Else, by Corollary 5.6, Z or Z ∗ is contained in one
of S, T , say Z ⊂ S. Then T ⊂ Z ∗ , and the claim again follows.
2
The proof of Lemma 5.3 is done.
2
Two pairs {s1 , t1 }, {s2 , t2 } as in Lemma 5.3 can be found in O(m) time, e.g., by exhaustive
search. Combining this and Lemma 5.3 we obtain:
Theorem 5.10 For k = 6, 7, there exists a 4-approximation algorithm for the min-cost kconnected subgraph problem. The time complexity of the algorithm is O(n3 m) deterministic
(using OCSA) and O(n2 m log n) randomized (using ROCSA).
6
Fast algorithm for k = 4
In this section we present a 3-approximation algorithm for k = 4 with complexity O(n4 ).
This improves the previously best known time complexity O(n5 ) [7]. Let us call a subset R
of nodes of a graph G k-connected if for every u, v ∈ R there are k internally disjoint paths
between u and v in G. The following Theorem is due to Mader.
Theorem 6.1 ([19]) Any graph on n ≥ 5 nodes with minimal degree at least k, k ≥ 2,
contains a k-connected subset R with |R| = 4.
It is known that the problem of finding a min-cost spanning subgraph with minimal
degree at least k is reduced to the weighted b-matching problem. Using the algorithm of
Anstee [1] for the latter problem, such a subgraph can be found in O(n2 m) time. We use
these observations to obtain a 3-approximation algorithm for k = 4 as follows. The algorithm
has two phases. At phase 1, among the subgraphs of G with minimal degree 4, we find an
optimal one, say G. Then, we find in G a 4-connected subset R with |R| = 4. At phase 2,
we execute EOCSA on R, and let F be its output. Finally, the algorithm will output G + F .
Theorem 6.2 There exists a 3-approximation algorithm for the min-cost 4-connected subgraph problem, with time complexity O(n2 m + nT (n)) = O(n4 ), where T (n) is the time
required for multiplying two n × n-matrices.
Proof: The correctness follows from Theorem 6.1, Lemma 2.3 (i), and Corollary 2.2. To see
the approximation ratio, recall that c(F ) ≤ 2opt, and note that c(G) ≤ opt.
17
We now prove the time complexity. The complexity of each step, except of finding a
4-connected subset in G is O(n2 m). Let us show that finding a 4-connected subset can be
done in O(n2 m + n(T (n)) time. Using the Ford-Fulkerson max-flow algorithm, we construct
in O(n2 m) time the graph J = (V, E 0 ), where (s, t) ∈ E 0 if and only if there are 4 internally
disjoint paths between s and t in G. Now, R is a 4-connected subset in G if and only if the
subgraph induced by R in J is a complete graph. Thus, finding R as above is reduced to
finding a complete subgraph on 4 nodes in J. This can be implemented as follows. Observe
that R = {s, u, v, w} induces a complete subgraph in J if and only if {u, v, w} form a triangle
in the subgraph induced by ΓJ (s) in J. It is known that finding a triangle in a graph is
reduced to computing the square of the incidence matrix of the graph. The best known time
bound for that is O(n2.376 ) [6], and the time complexity follows.
2
7
Metric multiroot problem: cases k ≤ 7
In this section we consider the metric-cost multiroot problem. Note that here G is a complete
graph, and every edge in G has cost at most opt/k. This is since any feasible solution
contains at least k edge disjoint paths between any two nodes s and t, and, by the metric
cost assumption, each one of these paths has cost ≥ c(st). For k ≤ 7, we give an algorithm
< 2.5. This improves the previously best known
with approximation ratio 2 + b(k−1)/2c
k
approximation ratio 3 [3]. Our algorithm combines some ideas from [3], [2, 7], and some
results from the previous section.
Splitting off two edges ru, rv means deleting ru and rv and adding a new edge uv.
Theorem 7.1 ([3],Theorem 17) Let G = (V, E) be a graph which is k-outconnected from
a root node r ∈ V , and suppose that |ΓG (r)| ≥ k + 2 and every edge incident to r is critical
w.r.t. k-outconnectivity from r. If G is not k-connected, then there exists a pair of edges
incident to r that can be split off preserving k-outconnectivity from r.
Consider now an instance of a metric cost multiroot problem, and let r be a node with the
maximum requirement k. As was pointed in [3], Theorem 7.1 implies that we can produce
a spanning subgraph G of G, such that G is k-outconnected from r, c(G) ≤ 2opt, and: G is
k-connected, or |ΓG (r)| ∈ {k, k + 1}. To handle the cases k = 5, 7, we show that by adding
one edge, we can reduce the case |Γ(r)| = k + 1 to the already familiar case |Γ(r)| = k.
Lemma 7.2 Let G = (V, E) be k-outconnected from a root node r ∈ V , let R = ΓG (r), and
let rx be critical w.r.t. k-outconnectivity from r. If |R| ≥ k + 1, then there exists a node
y ∈ R such that (G − rx) + xy is k-outconnected from r.
18
Proof: Let G = (V, E) be a graph which is k-outconnected from a root node r ∈ V .
Following [3], for X ⊆ V − r let g(X) = |ΓG−r (X)| + |X ∩ R|. It is easy to see that G is
k-outconnected from r if and only if g(X) ≥ k for every X ⊆ V − r. Let us say that a set
X ⊆ V − r is critical if g(X) = k. Thus, rx is critical w.r.t. k-outconnectivity from r if and
only if there is a critical set containing x. In [3, Lemma 6] was shown that:
The intersection and union of two intersecting critical sets are both critical. Thus for every
critical edge rx there is unique maximal critical set containing x.
Now, assume that rx is critical w.r.t. k-outconnectivity from r, and let X be the maximal
critical set containing x. We claim that if R ∩ X ∗ 6= ∅ then for any y ∈ R ∩ X ∗ holds:
(G − rx) + xy is k-outconnected from r. Indeed, if (G − rx) + xy is not k-outconnected from
r, then there is a critical set X 0 with x ∈ X 0 , y ∈ Γ(X 0 ). But then we must have X 0 ⊆ X.
As a consequence, we must have y ∈ X + Γ(X), contradicting that y ∈ X ∗ .
Now, suppose |R| ≥ k + 1. We claim that then R ∩ X ∗ 6= ∅. Else, R ⊆ X ∪ Γ(X). But
then we must have g(X) ≥ |R| ≥ k + 1, contradicting that g(X) = k.
2
Lemma 7.3 Let G be a graph which is k-outconnected from r, 3 ≤ k ≤ 7, and suppose that
|ΓG (r)| ∈ {k, k + 1}. Then there is an edge set F ⊆ {uv : u 6= v ∈ ΓG (r)} such that: G + F
is k-connected and |F | ≤ b(k − 1)/2c.
Proof: For k ≤ 4, this is a straightforward consequence from Lemmas 2.3 and 5.2. For
k = 6 this is a consequence from Lemma 5.3. For k = 5, 7, it can be easily deduced using
Lemma 7.2 and: Lemma 5.1 for k = 5, or Lemma 5.3 for k = 7.
2
Using Lemma 7.3 and the fact that for every s, t ∈ V holds c(st) ≤ opt/k, we deduce:
Theorem 7.4 For the metric cost multiroot problem with 3 ≤ k ≤ 7, there exists a (2 +
b(k−1)/2c
)-approximation algorithm with time complexity O(n3 m).
k
References
[1] R. P. Anstee: A polynomial time algorithm for b-matchings: an alternative approach,
Information Processing Letters 24, 1987, 153–157.
[2] V. Auletta, Y. Dinitz, Z. Nutov, and D. Parente, A 2-approximation algorithm for
finding an optimum 3-vertex connected spanning subgraph, Journal of Algorithms 32,
1999, 21–30.
19
[3] J. Cheriyan, T. Jordán, and Z. Nutov, On rooted node-connectivity problems, Algorithmica 30 (special issue on APPROX’98), 2001, 353-375.
[4] J. Cheriyan, S. Vempala, and A. Vetta, An approximation algorithm for the minimum
cost k-vertex connected subgraph, manuscript, July 2001.
[5] J. Cheriyan, S. Vempala, and A. Vetta, Network design via iterative rounding of setpair
relaxations, manuscript, October 2001.
[6] D. Coppersmith and S. Winograd: Matrix multiplication via arithmetic progressions,
J. Symbolic Comp. 9, 1990, 251–280.
[7] Y. Dinitz and Z. Nutov, A 3-approximation algorithm for finding optimum 4,5-vertexconnected spanning subgraphs, Journal of Algorithms 32, 1999, 31–40.
[8] A. Frank, Connectivity augmentation problems in network design, Mathematical Programming, State of the Art, J. R. Birge and K. G. Murty eds., 1994, 34–63.
[9] G. .N. Frederickson and J. Jájá, On the relationship between the biconnectivity augmentation and traveling salesman problems, Theoretical Computer Science 19(2), 1982,
189–201.
[10] A. Frank and É. Tardos, An application of submodular flows, Linear Algebra and its
Applications 114/115, 1989, 329–348.
[11] H. N. Gabow, A representation for crossing set families with application to submodular
flow problems, Proc. 4th Annual ACM-SIAM Symp. on Discrete Algorithms 1993, 202–
211.
[12] K. Jain, A factor 2 approximation algorithm for the generalized Steiner network problem, Combinatorica, 21(1), 2001, 39–60.
[13] T. Jordán, On the optimal vertex-connectivity augmentation, J. Combinatorial Theory
Series B 63, 1995, 8–20.
[14] S. Khuller, Approximation algorithms for finding highly connected subgraphs, In Approximation algorithms for NP-hard problems, Ed. D. S. Hochbaum, PWS publishing
co., Boston, 1996.
[15] G. Kortzars and Z. Nutov, Combinatorial approximation algorithm for k-node connected
subgraphs, manuscript.
20
[16] S. Khuller and B. Raghavachari, Improved approximation algorithms for uniform connectivity problems, J. of Algorithms 21, 1996, 434–450.
[17] W. Mader, Ecken vom Grad n in minimalen n-fach zusammenhängenden Graphen,
Archive der Mathematik 23, 1972, 219–224.
[18] W. Mader, Minimal n-fach in minimalen n-fach zusammenhängenden Digraphen, J.
Combinatorial Theory Series B, 38, 1985, 102–117.
[19] W. Mader, Degree and local connectivity in finite graphs, Recent advances in graph
theory (Proc. Second Czechoslovak Sympos., Prague, 1974), Academia, Prague, 1975,
341–344.
[20] J. B. Orlin, A faster strongly polynomial minimum cost flow algorithm, Operations
Research 41, 1993, 338–350.
[21] R. Ravi and D. P. Williamson, An approximation algorithm for minimum-cost vertexconnectivity problems, Algorithmica 18, 1997, 21–43.
[22] R. Ravi and D. P. Williamson, Erratum: An approximation algorithm for minimum-cost
vertex-connectivity problems, manuscript, July 2001.
21