Information Processing Letters 80 (2001) 287–293
Minimum cost source location problem with vertex-connectivity requirements in digraphs Hiroshi Nagamochi, Toshimasa Ishii, Hiro Ito ∗ Department of Information and Computer Sciences, Toyohashi University of Technology, Aichi 441-8580, Japan Received 19 October 2000; received in revised form 7 March 2001 Communicated by K. Iwama
Abstract Given a digraph (or an undirected graph) G = (V , E) with a set V of vertices v with nonnegative real costs w(v), and a set E of edges and a positive integer k, we deal with the problem of finding a minimum cost subset S ⊆ V such that, for each vertex v ∈ V − S, there are k vertex-disjoint paths from S to v. In this paper, we show that the problem can be solved by a √ √ greedy algorithm in O(min{k, n}nm) time in a digraph (or in O(min{k, n}kn2 ) time in an undirected graph), where n = |V | and m = |E|. Based on this, given a digraph and two integers k and , we also give a polynomial time algorithm for finding a minimum cost subset S ⊆ V such that for each vertex v ∈ V − S, there are k vertex-disjoint paths from S to v as well as vertex-disjoint paths from v to S. 2001 Elsevier Science B.V. All rights reserved. Keywords: Graph algorithms; Digraphs; Vertex-connectivity; Location problem; Matroids
1. Introduction Problems of selecting the best location of facilities in a given network to satisfy a certain property are called location problems [11]. Recently, some papers treated the location problems with requirements measured by edge-connectivity, vertex-connectivity, or flow-amount, and they presented polynomial time algorithms [1,7–10,14,15]. Connectivity and/or flow-amount are very important factors in applications to control and design of multimedia networks. In a multimedia network, some vertices of the network may have functions of offering several types of services for users. Let us call a * Corresponding author.
E-mail addresses:
[email protected] (H. Nagamochi),
[email protected] (T. Ishii),
[email protected] (H. Ito).
vertex that can offer certain service i a source, and let S be a set of sources, where we can locate more than one source in a network. A user at a vertex v can use a service i by communicating with a source s through a path between s and v (or a set of paths between S and v). The flow-amount (which is the capacity of the paths between S and v) affects the maximum data amount that can be transmitted from S to a user at a vertex v. Also, the edge-connectivity or the vertex-connectivity between a source set S and a vertex v measures the robustness of the service against network failures. To find the best location of sources under connectivity and/or flow-amount requirements, we introduce the source location problem which is described as follows. Given a graph G = (V , E) with a set V of vertices and a set E of edges capacitated by nonnegative reals, a cost function w : V → R+ (where R+ denotes
0020-0190/01/$ – see front matter 2001 Elsevier Science B.V. All rights reserved. PII: S 0 0 2 0 - 0 1 9 0 ( 0 1 ) 0 0 1 8 3 - 1
288
H. Nagamochi et al. / Information Processing Letters 80 (2001) 287–293
the set of nonnegative reals), and a demand function d(v) : V → R+ , we want to Minimize w(v) | v ∈ S subject to
S ⊆ V, ψ(S, v) d(v)
for all v ∈ V − S,
where ψ(S, v) is a measurement based on the edgeconnectivity, the vertex-connectivity or flow-amount between S and a vertex v in the graph G. For such measurements ψ(S, v), one may consider the minimum size λ(S, v) of an edge cut C ⊆ E that separates v from S or the minimum size κ(S, v) of a vertex cut C ⊆ V − S − v that separates S and v. Source location problems with ψ(S, v) = λ(S, v) in undirected graphs were treated by Tamura et al. [14, 15], Ito et al. [8,9] and Arata et al. [1]. They gave polynomial time algorithms for uniform costs w(v) = 1, v ∈ V , while the problem with general costs w(v), v ∈ V is shown to be weakly NP-hard [1]. Honami et al. [7] gave an O(n2 m) time algorithm for the source location problem for a digraph with unit capacities, ψ(S, v) = λ(S, v), uniform costs w(v) = 1, v ∈ V and uniform demands d(v) = k ( 3), v ∈ V . Ito et al. [10] considered the source location problem for an undirected graph with unit capacities, a measurement “κ(S, v) k and λ(S, v) for all v ∈ V − S”, and uniform costs w(v) = 1, v ∈ V . They presented an O(m + n2 + n min{m, n} min{ , n}) time algorithm for k 2 and showed the NP-hardness of the problem for k 3. Notice that κ(S, v) represents the vertex-connectivity between S and v on the premise that any source in S is never deleted. To take possible breakdown of sources into consideration, we in this paper introduce a new measurement for the vertex-connectivity between S and v. For undirected graphs, we define κ(S, ˆ v) to be the maximum number of vertex-disjoint paths between S and v such that no two paths meet at the same vertex in S (hence κ(S, ˆ v) k means that v can be connected to at least one source after deleting any k − 1 vertices). Similarly, for digraphs, we define κˆ + (S, v) (respectively, κˆ − (S, v)) to be the maximum number of vertexdisjoint directed paths from S to v (respectively, from v to S) such that no two paths meet at the same vertex in S. In this paper, we first consider the source location problem with costs w(v), v ∈ V and uniform demands d(v) = k, v ∈ V for a digraph with a measurement
ψ(S, v) = κˆ + (S, v), and prove that it enjoys √ a matroid structure, based on which an O(min{k, n}nm) time algorithm is given. The result is then applied to two source location problems: (i) given an undirected graph G = (V , E), costs w(v), v ∈ V , and an integer k, find a minimum cost subset S ⊆ V such that κ(S, ˆ v) k for all v ∈ V − S, and (ii) given a digraph G = (V , E), costs w(v), v ∈ V , two integers k and , find a minimum cost subset S ⊆ V such that κˆ + (S, v) k and κˆ − (S, v) for all v ∈ V − S. We show that these two problems are polynomially solvable.
2. Main Theorem Let G = (V , E) stand for a digraph with a set V of vertices and a set E of (directed) edges, where we denote |V | by n and |E| by m. An edge from a vertex u and to a vertex v is denoted by (u, v). In G = (V , E), its vertex set V and edge set E may be denoted by V (G) and E(G), respectively. A singleton set {x} may be simply written as x, and “⊂” implies proper inclusion while “⊆” means “⊂” or “=”. For V ⊂ V (respectively, E ⊆ E), the graph G − V (respectively, G − E ) denotes the subgraph induced by V − V (respectively, E − E ). For two disjoint subsets of vertices X, Y ⊂ V , we denote by EG (X, Y ) the set of edges e = (x, y) such that x ∈ X and y ∈ Y , and also denote |EG (X, Y )| by cG (X, Y ). In particular, EG (u, v) is the set of edges with tail u and head v. A vertex subset X intersects another vertex subset Y if none of subsets X ∩ Y , X − Y and Y − X is empty. A partition X1 , . . . , Xt of the vertex set V means a family of nonempty mutually disjoint subsets of V whose union is V , and a subpartition of V means a partition of a subset V of V . For a subset X of V , a vertex v ∈ V − X is called an out-neighbor (respectively, in-neighbor) of X if there is an edge (x, v) ∈ E (respectively, (v, x) ∈ E) for some x ∈ X. The set of all out-neighbors (respectively, in-neighbors) of X is denoted by ΓG+ (X) (respectively, ΓG− (X)). We call a subset X ⊆ V dominating in G if V − X − ΓG− (X) = ∅, and non-dominating if V − X −ΓG− (X) = ∅. The following property holds for two intersecting subsets X and Y in G = (V , E):
H. Nagamochi et al. / Information Processing Letters 80 (2001) 287–293
− Γ (X) + Γ − (Y ) G G Γ − (X ∩ Y ) + Γ − (X ∪ Y ). G
G
(2.1)
For two disjoint subsets X, Y ⊆ V , we say that a subset C ⊂ V − (X ∪ Y ) disconnects Y from X in G if for every two vertices y ∈ Y and x ∈ X, there is no directed path from x to y in G − C. Let κˆ + (S, v) denote the maximum number of vertexdisjoint directed paths from S to v, where each vertex in S is allowed to be an end vertex of at most one of those paths (hence κˆ + (S, v) |S|). Let w : V → R+ be a cost function. For a subset X ⊆ V , let w(X) denote {w(v) | v ∈ X}. In this paper, we consider the following source location problem. Minimize w(S) subject to
S ⊆V κˆ + (S, v) k
(2.2) for all v ∈ V − S.
We call a subset S ⊆ V k-feasible if it satisfies condition (2.2). Notice that |S| k and {v ∈ V | |ΓG− (v)| < k} ⊆ S hold for any k-feasible set. We prove the next result. Theorem 2.1. Let G = (V , E) be a digraph with cost function w : V → R+ . A minimum cost subset S such that κˆ + (S, v)√ k for all v ∈ V − S can be computed in O(min{k, n}nm) time. For an undirected graph, the source location problem with measurement κ(S, ˆ v) can be solved by the theorem in the same way as the case of directed graphs by replacing each undirected edge with two oppositely oriented directed edges. As will be shown, the time complexity is slightly improved in undirected graphs. Theorem 2.2. Let G = (V , E) be an undirected graph with cost function w : V → R+ . A minimum cost subset S such that κ(S, ˆ v)√ k for all v ∈ V − S can be computed in O(min{k, n}kn2 ) time. Furthermore, we also show that, for a given digraph with costs w(v), v ∈ V , and two integers k and , the source location problem of finding a minimum cost subset S under constraints κˆ + (S, v) k and κˆ − (S, v) for all v ∈ V − S can be solved in polynomial time.
289
Theorem 2.3. Let G = (V , E) be a digraph with cost function w : V → R+ . A minimum cost subset S such that κˆ + (S, v) k and κˆ − (S, v) for all v ∈ V − S can be computed in O(n4 m) time. 2.1. s-basal k-connectivity A digraph H with a designated vertex s ∈ V (H ), where H − s is denoted by G, is called s-basally k-connected if − Γ (X) + cH (s, X) k G for all nonempty, non-dominating sets X ⊂ V (G) in G = H − s. (2.3) We here show that condition (2.3) can be rewritten as the next conditions. − Γ (X) + Γ + (s) ∩ X k G H for all non-dominating sets X ⊂ V (G) in G with |ΓG− (X)| + |X| k, − Γ (x) + cH (s, x) k G for all singleton sets X = {x} ⊂ V (G).
(2.4)
(2.5)
Lemma 2.1. Condition (2.3) implies conditions (2.4) and (2.5), and vice versa. Proof. We first show that (2.3) implies (2.4) and (2.5). It is clear that (2.5) follows from (2.3) with X = {x}. Then consider a non-dominating set X with |ΓG− (X)| + |X| k. Assume that |ΓG− (X)| + |ΓH+ (s) ∩ X| k − 1. Let Y = X − ΓH+ (s), which is not empty by |ΓG− (X)| + |ΓH+ (s) ∩ X| < k |ΓG− (X)| + |X|. By cH (s, Y ) = 0 and (2.3), |ΓG− (Y )| k. Clearly, ΓG− (Y ) ⊆ ΓG− (X) ∪ (ΓH+ (s) ∩ X), contradicting |ΓG− (X)| + |ΓH+ (s) ∩ X| k − 1. We next show the converse. For a digraph H satisfying (2.4) and (2.5), let X ⊂ V (G) be a nonempty, non-dominating set in G = H − s. If |ΓG− (X)| + |X| k, then |ΓG− (X)| + cH (s, X) k follows from (2.4). Then assume |ΓG− (X)| + |X| < k, and let h = k − |ΓG− (X)| − |X|( 1). By (2.5), cH (s, v) 1 + h holds for all vertices v ∈ X (since |ΓG− (v)| |ΓG− (X)| + |X − v| k − h − 1 holds for v ∈ X). Hence we obtain − Γ (X) + cH (s, X) Γ − (X) + (1 + h)|X| G G = k − h + h|X| k.
✷
290
H. Nagamochi et al. / Information Processing Letters 80 (2001) 287–293
Lemma 2.2. (i) For an s-basally k-connected digraph H , let S be a subset of V (G) such that ΓH+ (s) ⊆ S and |S| k. Then S is k-feasible in G. (ii) Given a digraph G and a k-feasible set S in G, let H be the digraph obtained from G by adding a new vertex s together with max{1, k − |ΓG− (v)|} edges from s to each vertex v ∈ S. Then H is s-basally k-connected. Proof. (i) Assume that κˆ + (S, v) < k for some v ∈ V (G) − S in G = H − s. That is, there is a set C ⊆ V (G) of at most k − 1 vertices such that G − C has no directed path from any vertex u ∈ S − C to v, where S − C = ∅ by |S| k. Let X be the set of vertices in V (G) − C that have directed paths to v in G − C. Note that X is not dominating in G by V (G) − X − ΓG− (X) ⊇ S − C = ∅. Then X ∩ ΓH+ (s) ⊆ X ∩ S = ∅ and ΓG− (X) ⊆ C. This implies that cH (s, X) = 0 and |ΓG− (X)| k − 1 hold for such X, contradicting (2.3). (ii) Assume that H is not s-basally k-connected. Thus, G = H − s has a nonempty, non-dominating set X ⊆ V (G) such that k − 1 |ΓG− (X)| + cH (s, X) |ΓG− (X)| + |X ∩ S|. If X ⊆ S, then it is easy to see that X satisfies (2.4) or (2.5) by the construction of H . Assume that there is a vertex x ∈ X − S. Then G has a set P of k disjoint directed paths from S to x such that no two paths share a vertex in S. Since each of such paths must contain at least one vertex from ΓG− (X)∪(X ∩S), we have |P | |ΓG− (X)|+|X ∩S| k − 1, a contradiction. ✷ 2.2. Matroidal structure in source location problem We observe that the problem enjoys a matroidal property. Given a digraph G, we define V0 = {v ∈ V (G) | |ΓG− (v)| < k}, and construct the digraph H0 obtained from G by adding a new vertex s and max{1, k − |ΓG− (v)|} edges from s to each vertex v ∈ V (G). By Lemma 2.2(ii) with S = V (G), H0 is sbasally k-connected. For the ground set U = V (G) − V0 , we define a set system M+ = (U, I + ) by putting I + = X ⊆ U | |X| |V (G)| − k and H0 − EH0 (s, X) remains s-basally k-connected (note that |EH0 (s, X)| = |X| by X ∩ V0 = ∅). For any X ∈ I + , S = ΓH+0 −EH (s,X)(s) (= V (G) − X) is k0
feasible in G by Lemma 2.2(i), since |ΓH+0 −EH (s,X)(s)| 0 k holds and H0 − EH0 (s, X) is s-basally k-connected. Conversely, for a given k-feasible set S in G, let X = V (G) − S. Then X = V (G) − S ⊆ U (by V0 ⊆ S) and |X| |V (G)| − k (by |S| k). By Lemma 2.2(ii), H0 − EH0 (s, X) is s-basally k-connected, and hence X ∈ I+. We prove that M+ = (U, I + ) is a matroid. For this, it suffices to show three axioms: (I1) ∅ ∈ I + , (I2) if Y ⊆ X ⊆ U and X ∈ I + then Y ∈ I + , (I3) for X, Y ∈ I + with |X| < |Y |, there exists a vertex x ∈ Y − X such that X ∪ {x} ∈ I + . It is easy to see that (I1) and (I2) hold. We show (I3) via three lemmas below. For an s-basally k-connected digraph H and an integer i ∈ {0, 1, . . . , k − 1}, we call a non-dominating set T ⊆ V (G) in G = H − s i-critical in H , if T satisfies − Γ (T ) = i, Γ − (T ) + Γ + (s) ∩ T = k, and G G H cH (s, u) = 1 for each u ∈ ΓH+ (s) ∩ T ,
and no proper subset T ⊂ T satisfies this property for the fixed i. Note that cH (s, T ) = |ΓH+ (s) ∩ T | = k − i holds for an i-critical set T with i ∈ {0, 1, . . ., k − 1}. Lemma 2.3. Let H be an s-basally k-connected digraph, and let G = H − s. For a vertex v ∈ ΓH+ (s) with |ΓG− (v)| k, if H − (s, v) is not s-basally kconnected, then v is contained in a (k − 1)-critical set Xv . Proof. The vertex v is contained in a non-dominating set Xv in G such that − Γ (Xv ) + Γ + (s) ∩ Xv = k and cH (s, v) = 1 G H and no proper subset X ⊂ Xv satisfies this property. Clearly, |Xv | 2 by |ΓG− (v)| k. It suffices to show that such Xv satisfies |ΓG− (Xv )| = k − 1 and cH (s, Xv ) = 1. Assume cH (s, Xv ) 2, which implies that Z = ΓH+ (s) ∩ (Xv − v) is not empty by cH (s, v) = 1. Then − Γ (Xv − Z) Γ − (Xv ) + |Z| G G = Γ − (Xv ) + Γ + (s) ∩ (Xv − v) G
= k − 1.
H
H. Nagamochi et al. / Information Processing Letters 80 (2001) 287–293
On the other hand, |ΓG− (Xv − Z)| k − cH (s, Xv − Z) = k − 1 holds from (2.3). Hence |ΓG− (Xv − Z)| = k − 1 and cH (s, Xv − Z) = 1 hold, which contradicts the minimality of Xv . ✷ Lemma 2.4. Let H be an s-basally k-connected digraph, and let G = H − s. Assume that H has an i-critical set Ti and a j -critical set Tj such that Ti and Tj intersect with each other in G. If |ΓH+ (s)| k + 1, then for h = |ΓG− (Ti ∩ Tj )|, 0 i + j − h k − 1 holds and Ti ∪ Tj contains an (i + j − h)-critical set T with ΓH+ (s) ∩ (Ti ∪ Tj ) ⊆ T . Proof. Since V (G) − (Ti ∩ Tj ) − ΓG− (Ti ∩ Tj ) = ∅ holds by V (G) − Ti − ΓG− (Ti ) = ∅, the set Ti ∩ Tj satisfies |ΓG− (Ti ∩ Tj )| + cH (s, Ti ∩ Tj ) k by (2.3). By (2.1), we obtain inequality |ΓG− (Ti )| + cH (s, Ti ) +|ΓG− (Tj )| + cH (s, Tj ) |ΓG− (Ti ∩ Tj )| + cH (s, Ti ∩ Tj ) +|ΓG− (Ti ∪ Tj )| + cH (s, Ti ∪ Tj ) holds. Since the left-hand side of the inequality is 2k by the criticality of Ti and Tj , we have |ΓG− (Ti ∪ Tj )| + cH (s, Ti ∪ Tj ) k. This implies V (G) − (Ti ∪ Tj ) − ΓG− (Ti ∪ Tj ) = ∅, since otherwise we would have |ΓH+ (s)| |ΓG− (Ti ∪ Tj )| + cH (s, Ti ∪ Tj ) k, contradicting to the assumption that |ΓH+ (s)| k + 1. For the nondominating set Ti ∪ Tj , |ΓG− (Ti ∪ Tj )| + cH (s, Ti ∪ Tj ) k by (2.3). Hence |ΓG− (Ti ∪ Tj )| + cH (s, Ti ∪ Tj ) = k holds, and the above inequality holds by equality, implying that − Γ (Ti ∪ Tj ) G = Γ − (Ti ) + Γ − (Tj ) − Γ − (Ti ∩ Tj ) G
G
G
=i +j −h for |ΓG− (Ti )| = i, |ΓG− (Tj )| = j and h = |ΓG− (Ti ∩ Tj )|. Clearly, 0 |ΓG− (Ti ∪ Tj )| k − 1 by |ΓG− (Ti ∪ Tj )| + cH (s, Ti ∪ Tj ) = k and cH (s, Ti ∪ Tj ) 1. Therefore there is an (i + j − h)-critical set T ⊆ Ti ∪ Tj with ΓH+ (s) ∩ (Ti ∪ Tj ) ⊆ T . ✷ Lemma 2.5. Let H be an s-basally k-connected digraph with |ΓH+ (s)| k + 1, and let G = H − s. For a nonempty subset Z ⊂ V (G), let T be a family of i-critical sets T ⊂ V (G), 0 i k − 1, such that Z ⊆ T ∈T T holds and |T | is the minimum. Then every two sets in T are pairwise disjoint.
291
Proof. Let Ti , Tj ∈ T be two sets such that Ti ∩ Tj = ∅. From the minimality of |T |, both Ti − Tj and Tj − Ti are nonempty, i.e., Ti and Tj intersect with each other in G. By |ΓH+ (s)| k + 1, Lemma 2.4 says that Ti ∪ Tj contains a p-critical set T ∗ for some p ∈ {0, . . . , k − 1} with T ∗ ⊇ ΓH+ (s) ∩ (Ti ∪ Tj ). Now T = (T − {Ti , Tj }) ∪ {T ∗ } is a family of i critical sets (0 i k − 1) such that Z ⊆ T ∈T T , contradicting the minimality of |T |. ✷ Now we are ready to prove (I3). For the digraph H ∗ = H0 − EH0 (s, X), we assume that for each v ∈ Y − X, H ∗ − (s, v) is not s-basally k-connected (otherwise we have (I3)). By Lemma 2.3, each vertex v ∈ Y − X is contained in a (k − 1)-critical set Xv in H ∗ (note that |ΓG− (v)| k for all v ∈ Y − X ⊆ U = V (G) − V0 ). Thus there exists a family T of i-critical sets T ⊂ V (G), 0 i k − 1, such that Y − X ⊆ T ∈T T holds. Let such T be chosen so as to minimize |T |. By Lemma 2.5 with H = H ∗ and Z = Y − X, we see that every two sets in the T are disjoint. This implies that we need at least |EH0 (s, Y − X)| (= |Y − X|) edges that enter critical sets in T to obtain an s-basally k-connected digraph. However, H0 − EH0 (s, Y ) is obtained from H ∗ = H0 − EH0 (s, X) by removing edge set EH0 (s, Y − X) and adding edge set EH0 (s, X − Y ). By |EH0 (s, X − Y )| < |EH0 (s, Y − X)|, H0 − EH0 (s, Y ) cannot be s-basally k-connected, a contradiction. This proves (I3). Therefore, M+ = (U, I + ) is a matroid. 2.3. Algorithms Since M+ = (U, I + ) is a matroid, we can obtain a subset X ∈ I + with the maximum cost w(X) by a greedy algorithm. Starting from H = H0 , we scan edges (s, v), v ∈ V (G) − V0 in the nonincreasing order of cost w(v), where if H − (s, v) remains s-basally k-connected then we remove edge (s, v) from the current digraph H and set H := H − (s, v). We repeat scanning edges until we obtain an s-basally k-connected digraph H such that EH (s, V (G)) becomes minimal subject to the s-basal k-connectivity or |ΓH (s)| = k holds. Clearly, a maximum cost subset X ∈ I + corresponds to a k-feasible set S with |S| k with the minimum cost w(S) = w(V (G)) − w(X). Therefore, S = ΓH+ (s) in the resulting digraph H is a minimum cost k-feasible set.
292
H. Nagamochi et al. / Information Processing Letters 80 (2001) 287–293
In what follows, we show an efficient method to obtain such a digraph H . For two vertices x, y ∈ V (G), the number of internally-disjoint directed paths from x to y in G is called local vertex-connectivity, and denoted by κG (x, y). For an s-basally k-connected digraph H and a vertex v ∈ ΓH+ (s), we can test whether H − (s, v) remains s-basally k-connected or not by the next lemma. Lemma 2.6. Let H be an s-basally k-connected digraph and let G = H − s. For each (s, v) ∈ EH (s, V (G)) with cH (s, v) = 1, the following (i) and (ii) hold. (i) If κH −(s,v)(s, v) k holds, then H − (s, v) is sbasally k-connected. (ii) Assume that |ΓH+ (s)| k + 1. If κH −(s,v)(s, v) < k holds, then H − (s, v) is not s-basally k-connected. Proof. (i) Assume that H − (s, v) is not s-basally k-connected. By Lemma 2.3, v is contained in a (k − 1)-critical set Xv ⊂ V (G). Thus, V (G) − Xv − ΓG− (X) = ∅, v ∈ Xv , cH (s, Xv ) = 1, and |ΓG− (Xv )| = k − 1 hold. Since ΓH−−(s,v)(Xv ) = ΓG− (Xv ) disconnects v from s in H − (s, v), we have κH −(s,v)(s, v) < k, a contradiction. (ii) Since κH −(s,v)(s, v) < k, there is a set Y ⊂ V (G) with v ∈ Y and |ΓH−−(s,v)(Y )| < k such that ΓH−−(s,v)(Y ) disconnects v from s in H − (s, v). We show V (G)−Y −ΓG− (Y ) = ∅. If V (G)−Y = ΓG− (Y ), then ΓH+−(s,v)(s) ⊆ V (G) − Y = ΓG− (Y ) implies + − Γ (s) Γ (Y ) ∪ {v} k, H G contradicting the assumption of |ΓH+ (s)| k + 1. Hence V (G)−Y −ΓG− (Y ) = ∅. By cH −(s,v)(s, Y ) = 0 and |ΓH−−(s,v)(Y )| < k, Y violates (2.3) in H − (s, v), a contradiction. ✷ Checking whether √ κH −(s,v)(s, v) k or not can be done in O(min{k, n}m) time by using the network flow computation [3]. Hence, given an s-basally k-connected digraph H , the s-basal k-connectivity of H − (s, v) can be tested in the same time complexity as long as |ΓH+ (s)| k + 1 holds. Since there are O(n) such computations of κH −(s,v)(s, v), the total time complexity √ for computing an optimal solution S is O(min{k, n}nm). This proves Theorem 2.1.
For undirected graphs G, √ this complexity can be reduced to O(m + min{k, n}kn2 ) by executing the flow computation on a sparse spanning subgraph of H with O(kn) edges that preserves the local vertexconnectivity up to k, where such sparsification takes O(m) time [5,13]. This establishes Theorem 2.2. Finally we consider the source location problem in Theorem 2.3, where a minimum cost set S is required to be chosen so that κˆ + (S, v) k and κˆ − (S, v) hold for all v ∈ V (G) − S. As observed in the previous subsection, all subsets S satisfying κˆ + (S, v) k for all v ∈ V (G) − S can be represented by a matroid M+ = (V (G), I + ) (where we can extend the ground set from U to V (G) without changing the set I + of independent sets). Similarly, a matroid M− = (V (G), I − ) that represents all subsets S satisfying κˆ − (S, v) for all v ∈ V (G) − S can be obtained (by reversing the orientations of all directed edges in a given digraph). Thus, the problem is now to choose a maximum cost subset X that belongs to both I + and I − (where a minimum cost subset S in the source location problem is obtained by S = V (G) − X). This problem is a weighted matroid intersection, for which an O(n3 ) oracle time algorithm is shown [2,4,12]. For both matroids M+ and M− , an oracle of testing whether a given subset X ⊆ V (G) is an independent set can be implemented to run in O(nm) time [6]. Therefore, there exists an O(n4 m) time algorithm for solving the source location problem in Theorem 2.3. It is left open to devise a graph theoretic algorithm for solving this problem without relying on a matroid intersection algorithm.
Acknowledgements The authors would like to thank anonymous referees for their helpful comments. This research was partially supported by the Scientific Grant-in-Aid from Ministry of Education, Science, Sports and Culture of Japan.
References [1] K. Arata, S. Iwata, K. Makino, S. Fujishige, Locating sources to meet flow demands in undirected networks, in: Lecture Notes in Comput. Sci., Vol. 1851, Springer, Berlin, 2000, pp. 300–313.
H. Nagamochi et al. / Information Processing Letters 80 (2001) 287–293 [2] J. Edmonds, Matroids, submodular functions, and certain polyhedra, in: R.K. Guy, H. Hanani, N. Sauer, J. Schönheim (Eds.), Combinatorial Structures and Their Applications, Gordon and Breach, New York, 1970, pp. 69–87. [3] S. Even, R.E. Tarjan, Network flow and testing graph connectivity, SIAM J. Comput. 4 (1975) 507–518. [4] A. Frank, A weighted matroid intersection algorithm, J. Algorithms 2 (1981) 328–336. [5] A. Frank, T. Ibaraki, H. Nagamochi, On sparse subgraphs preserving connectivity properties, J. Graph Theory 17 (1993) 275–281. [6] M.R. Henzinger, S. Rao, H.N. Gabow, Computing vertex connectivity: New bounds from old techniques, J. Algorithms 34 (2000) 222–250. [7] S. Honami, H. Ito, H. Uehara, M. Yokoyama, An algorithm for finding a node-subset having high connectivity from other nodes, IPSJ SIG Notes, AL-66 99 (8) (1999) 9–16 (in Japanese). [8] H. Ito, M. Yokoyama, Edge connectivity between nodes and node-subsets, Networks 31 (1998) 157–164.
293
[9] H. Ito, H. Uehara, M. Yokoyama, A faster and flexible algorithm for a location problem on undirected flow networks, IEICE Trans. E83-A (4) (2000) 704–712. [10] H. Ito, M. Ito, Y. Itatsu, H. Uehara, M. Yokoyama, Location problems based on node-connectivity and edge-connectivity between nodes and node-subsets, in: Lecture Notes in Comput. Sci., Vol. 1969, Springer, Berlin, 2000, pp. 338–349. [11] M. Labbe, D. Peeters, J.-F. Thisse, Location on networks, in: M.O. Ball et al. (Eds.), Handbooks in OR & MS, Vol. 8, NorthHolland, Amsterdam, 1995, pp. 551–624. [12] E.L. Lawler, Matroid intersection algorithms, Math. Programming 9 (1975) 31–56. [13] H. Nagamochi, T. Ibaraki, A linear-time algorithm for finding a sparse k-connected spanning subgraph of a k-connected graph, Algorithmica 7 (1992) 583–596. [14] H. Tamura, M. Sengoku, S. Shinoda, T. Abe, Location problems on undirected flow networks, IEICE Trans. E73 (1990) 1989–1993. [15] H. Tamura, H. Sugawara, M. Sengoku, S. Shinoda, Plural cover problem on undirected flow networks, IEICE Trans. A J81-A (1998) 863–869 (in Japanese).