Computing a Tree Having a Small Vertex Cover

Conference paper

DOI: 10.1007/978-3-319-48749-6_6

Part of the Lecture Notes in Computer Science book series (LNCS, volume 10043)
Cite this paper as:
Fukunaga T., Maehara T. (2016) Computing a Tree Having a Small Vertex Cover. In: Chan TH., Li M., Wang L. (eds) Combinatorial Optimization and Applications. COCOA 2016. Lecture Notes in Computer Science, vol 10043. Springer, Cham

Abstract

In this paper, we consider a new Steiner tree problem. This problem defines the weight of a Steiner tree as the minimum weight of vertex covers in the tree, and seeks a minimum-weight Steiner tree in a given vertex-weighted undirected graph. Since it is included by the Steiner tree activation problem, the problem admits an \(O(\log n)\)-approximation algorithm in general graphs with n vertices. This approximation factor is tight because it is known to be NP-hard to achieve an \(o(\log n)\)-approximation for the problem with general graphs. In this paper, we present constant-factor approximation algorithms for the problem with unit disk graphs and with graphs excluding a fixed minor.

1 Introduction

The problem of finding a minimum-weight tree in a graph has been extensively studied in the field of combinatorial optimization. A typical example is the Steiner tree problem in edge-weighted graphs; it has a long history of approximation algorithms, culminating in the currently best approximation factor of 1.39 [1, 2]. The Steiner tree problem has also been studied in vertex-weighted graphs, where the weight of a Steiner tree is defined as the total weight of the vertices spanned by the tree. We call this problem the vertex-weighted Steiner tree problem while the problem in the edge-weighted graphs is called the edge-weighted Steiner tree problem. There is an \(O(\log k)\)-approximation algorithm for the vertex-weighted Steiner tree problem with k terminals, and it is NP-hard to improve this factor because the problem includes the set cover problem [3].

In this paper, we present a new variation of the Steiner tree problem. Our problem is motivated by the following situation in communication networks. We assume that messages are exchanged along a tree in a network; this is the case in many popular routing protocols such as the spanning tree protocol [4]. We consider locating devices that will monitor the traffic in the tree. If a device is located at a vertex, it can monitor all the traffic that passes through links incident to that vertex. How many devices do we need for monitoring all of the traffic in the tree? Obviously, it depends on the topology of the tree. If the tree is a star, it suffices to locate one device at the center. If the tree is a path on n vertices, then it requires \(\lceil n/2 \rceil \) devices, because any vertex cover of the path consists of at least \(\lceil n/2 \rceil \) vertices. Our problem is to compute a tree that minimizes the number (or, more generally, the weight) of devices required to monitor all of the traffic.

More formally, our problem is defined as follows. Let \(G=(V,E)\) be an undirected graph associated with nonnegative vertex weights \(w\in \mathbb {R}_+^V\). Throughout this paper, we will denote |V| by n. Let \(T \subseteq V\) be a set of vertices called terminals. The problem seeks a pair comprising a tree F and a vertex set \(U \subseteq V(F)\) such that (i) F is a Steiner tree with regard to the terminal set T (i.e., \(T \subseteq V(F)\)), and (ii) U is a vertex cover of F (i.e., each edge in F is incident to at least one vertex in U). The objective is to find such a pair (FU) that minimizes the weight \(w(U):=\sum _{v \in U}w(v)\) of the vertex cover. We call this the vertex-cover-weighted (VC-weighted) Steiner tree problem. We call the special case in which \(V=T\) the vertex-cover-weighted (VC-weighted) spanning tree problem. The aim of this paper is to investigate these fundamental problems.

Besides the motivation from the communication networks, there is another reason for the importance of the VC-weighted Steiner tree problem. The VC-weighted Steiner tree problem is a special case of the Steiner tree activation problem, which was formulated by Panigrahi [5]. In the Steiner tree activation problem, we are given a set W of nonnegative real numbers, and each edge uv in the graph is associated with an activation function \(f_{uv} :W \times W \rightarrow \{\top ,\bot \}\), where \(\top \) indicates that an edge uv is activated, and \(\bot \) indicates that it is not. A solution for the problem is defined as a |V|-dimensional vector \(x \in W^V\). We say that a solution xactivates an edge uv if \(f_{uv}(x(u), x(v))=\top \). The problem seeks a solution x that minimizes \(x(V):=\sum _{v\in V}x(v)\) subject to the constraint that the edges activated by x include a Steiner tree. In previous studies of this problem, an algorithm is allowed to run in polynomial time of |W|, and it is assumed that the activation function is monotone (i.e., if \(f_{uv}(i,j)=\top \), \(i \le i'\), and \(j \le j'\), then \(f_{uv}(i',j')=\top \)). The Steiner tree activation problem models various natural settings in design of wireless networks [5]. To see that the Steiner tree activation problem includes the VC-weighted Steiner tree problem, define W as \(\{w(v) :v \in V\}\), and let \(f_{uv}(i,j)= \top \) if and only if \(i \ge w(u)\) or \(j\ge w(v)\) for each edge uv. Under this setting, if x is a minimal vector that activates an edge set F, the objective x(V) is equal to the minimum weight of vertex covers of the subgraph induced by F. Hence the Steiner tree activation problem under this setting is equivalent to the VC-weighted Steiner tree problem.

The Steiner tree activation problem also contains the vertex-weighted Steiner tree problem. Indeed, vertex-weighted Steiner tree problem corresponds to the activation function \(f_{uv}\) such that \(f_{uv}(i,j)= \top \) if and only if \(i \ge w(u)\) and \(j\ge w(v)\) for each edge uv. Notice that the similarity of the activation functions for the VC-weighted and the vertex-weighted Steiner tree problems. Thus the VC-weighted Steiner tree problem is an interesting variant of the vertex-weighted Steiner tree and the Steiner tree activation problems, which are studied actively in the literature.

It is known that the Steiner tree activation problems admits an \(O(\log k)\)-approximation algorithm when \(|T|=k\). Indeed, there is an approximation-preserving reduction from the problem to the vertex-weighted Steiner tree problem, and hence the \(O(\log k)\)-approximation algorithm for the latter problem implies that for the former problem. This approximation factor is proven to be tight even in the spanning tree variant of the problem [5].

Since the VC-weighted Steiner tree problem is included by the Steiner tree activation problem, the \(O(\log k)\)-approximation algorithm can also be applied to the VC-weighted problem. Moreover, Angel et al. [6] presented a reduction from the dominating set problem to the VC-weighted spanning tree problem with uniform vertex-weights. This reduction implies the it is NP-hard to approximate the VC-weighted spanning tree problem within a factor of \(o(\log n)\) even if the given vertex weights are uniform.

1.1 Our Contributions

Because of the hardness of the VC-weighted spanning tree problem on general graphs, we will consider restricted graph classes. We show that the VC-weighted Steiner tree problem admits constant-factor approximation algorithms for unit disk graphs (Corollary 3) and graphs excluding a fixed minor (Theorem 5). Note that the later graph class contains planar graphs. For these graphs, it is known that the vertex-weighted Steiner tree problem admits constant-factor approximation algorithms [7, 8, 9]. Hence it is natural to ask whether the VC-weighted Steiner tree problem in these graph classes admits constant-factor approximation algorithms. Moreover, unit disk graphs are regarded as a reasonable model of wireless networks, and the vertex-weighted Steiner tree problem in unit disk graphs has been actively studied in this context (see, e.g., [8, 9, 10, 11, 12]). Since our problem is motivated by an application in communication networks, it is reasonable to investigate the problem in unit disk graphs.

Our algorithm for unit disk graphs is based on a novel reduction to another optimization problem. The problem used in the reduction is similar to the connected facility location problem studied in [13, 14], but it is slightly different. In the connected facility location problem, we are given sets \(C,D \subseteq V\) of clients and facilities with an edge-weighted undirected graph \(G=(V,E)\). If a facility \(f \in D\) is opened by paying an associated opening cost, any client \(i \in C\) can be allocated to f by paying the allocation cost, which is defined as the shortest path length from i to f multiplied by the demand of i. The opened facilities must be spanned by a Steiner tree, which incurs a connection cost defined as the edge weight of the tree. The objective is to find a set of opened facilities and a Steiner tree connecting them, that minimizes the sum of the opening cost, the allocation cost, and the connection cost. Our problem differs from the connected facility location problem in the fact that each client i can be allocated to an opened facility f only when i is adjacent to f in G, and there is no cost for the allocation. It can be regarded as a combination of the dominating set and the edge-weighted Steiner tree problems. Hence we call this the connected dominating set problem, although in the literature, this name is usually reserved for the case where the connection cost is defined by vertex weights and all vertices in the graph are clients. From a geometric property of unit disk graphs, we show that our reduction preserves the approximation guarantee up to a constant factor if the graph is a unit disk graph (Theorem 1). To solve the connected dominating set problem, we present a linear programming (LP) rounding algorithm. This algorithm relies on an idea presented by Huang et al. [11], who considered a variant of the connected dominating set problem in unit disk graphs. Although their algorithm is only for minimizing the number of vertices in a solution, we prove that it can be extended to our problem.

For graphs excluding a fixed minor, we solve the VC-weighted Steiner tree problem by presenting a constant-factor approximation algorithm for the Steiner tree activation problem. Our algorithm simply combines the reduction to the vertex-weighted Steiner tree problem and the algorithm of Demaine et al. [7] for the vertex-weighted Steiner tree problem in graphs excluding a fixed minor. However, analyzing it is not straightforward, because the reduction does not preserve the minor-freeness of the input graphs. Nevertheless, we show that the algorithm of Demaine et al. achieves a constant-factor approximation for the graphs constructed by the reduction (Sect. 4).

1.2 Organization

Section 2 introduces the notation and preliminary facts used throughout the paper. Sections 3 and 4 provide constant-factor approximation algorithms for unit disk graphs and for graphs excluding a fixed minor, respectively. Section 5 concludes the paper.

2 Preliminaries

We first define the notation used in this paper. Let \(G=(V,E)\) be a graph with the vertex set V and the edge set E. We sometimes identify the graph G with its edge set E and by V(G) denote the vertex set of G. When G is a tree, L(G) denotes the set of leaves of G.

Let U be a subset of V. Then \(G-U\) denotes the subgraph of G obtained by removing all vertices in U and all edges incident to them. G[U] denotes the subgraph of G induced by U.

We denote a singleton vertex set \(\{v\}\) by v. An edge joining vertices u and v is denoted by uv. For a vertex v, \(N_G(v)\) denotes the set of neighbors of v in a graph G, i.e., \(N_G(v)=\{u \in V :uv \in E\}\). \(N_G[v]\) indicates \(N_G(v) \cup v\). We let \(d_G(v)\) denote \(|N_G(v)|\). For a set U of vertices, \(N_G(U)\) denotes \((\bigcup _{v \in U}N_G(v))\setminus U\). When the graph G is clear from the context, we may remove the subscripts from our notation. We say that a vertex set Udominates a vertex v if \(v \in U\), or U contains a vertex u that is adjacent to v. If a vertex set U dominates each vertex v in another vertex set W, then we say that U dominates W.

A graph G is a unit disk graph when there is an embedding of the vertex set into the Euclidean plane such that two vertices u and v are joined by an edge if and only if their Euclidean distance is at most 1. If G is a unit disk graph, we call such an embedding a geometric representation of G.

Let G and H be undirected graphs. We say that H is a minor of G if H is obtained from G by deleting edges and vertices and by contracting edges. If H is not a minor of G, G is called H-minor-free. By Kuratowski’s theorem, a graph is planar if and only if it is \(K_5\)-minor-free and \(K_{3,3}\)-minor-free.

As mentioned in Sect. 1, the Steiner tree activation problem contains both the VC-weighted and the vertex-weighted Steiner tree problems. In addition, the Steiner tree activation problem can be reduced to the vertex-weighted Steiner tree problem, as summarized in the following theorem.

Theorem 1

There is an approximation-preserving reduction from the Steiner tree activation problem to the vertex-weighted Steiner tree problem. Hence, if the latter problem admits an \(\alpha \)-approximation algorithm, the former problem does also.

Proof

Recall that an instance I of the Steiner tree activation problem consists of an undirected graph \(G=(V,E)\), a terminal set T, a range \(W \subseteq \mathbb {R}_+\), and an activation function \(f_{uv}:W \times W\rightarrow \{\top ,\bot \}\) for each \(uv \in E\). We define a copy \(v_i\) of a vertex v for each \(v \in V\) and \(i \in W\), and associate \(v_i\) with the weight \(w(v_i):=i\). We join \(u_i\) and \(v_j\) by an edge if \(uv \in E\) and \(f_{uv}(i,j)=\top \). In addition, we join each terminal \(t \in T\) with its copies \(t_i\), \(i \in W\). The weight w(t) of t is defined to be 0. Let \(G'\) be the obtained graph on the vertex set \(T \cup \{v_i :v \in V, i \in W\}\). Let \(I'\) be the instance of the vertex weighted Steiner tree problem that consists of the graph \(G'\), the vertex weights w, and the terminal set T. From an inclusion-wise minimal Steiner tree F feasible to \(I'\), define a vector \(x \in W^V\) by \(x(v)=\max \{i \in W :v_i \in V(F)\}\) for each \(v \in V\). Then x activates a Steiner tree in the original instance I, and x(V) is equal to the vertex weight of F. Hence there is a one-to-one correspondence between a minimal Steiner tree in \(I'\) and a feasible solution in I, and they have the same objective values in their own problems. Hence the above reduction is an approximation-preserving reduction from the Steiner tree activation problem to the vertex-weighted Steiner tree problem.    \(\square \)

We do not claim the originality of Theorem 1; we believe that this reduction has been already known although we are aware of no previous study describing this reduction explicitly.

We note that the reduction claimed in Theorem 1 transforms the input graph, and hence it may not be closed in a graph class. In fact, we can observe that the reduction is not closed in unit disk graphs or planar graphs.

3 VC-weighted Steiner Tree Problem in Unit Disk Graphs

This section presents a constant-factor approximation algorithm for the VC-weighted Steiner tree problem in unit disk graphs. Our algorithm consists of two steps. In the first step, we reduce the VC-weighted Steiner tree problem to another optimization problem, which is called the connected dominating set problem. Combined with a constant-factor approximation algorithm for the connected dominating set problem, the reduction gives the required algorithm for the VC-weighted Steiner tree problem.

Let us discuss the reduction. As noted in Theorem 1, the Steiner tree activation problem can be reduced to the vertex-weighted Steiner tree problem. Since the VC-weighted Steiner tree problem is included in the Steiner tree activation problem, the reduction also applies to the VC-weighted Steiner tree problem. Since there is a constant-factor approximation algorithm for the vertex-weighted Steiner tree problem in unit disk graphs, this reduction gives a constant-factor approximation for the VC-weighted problem if the graph constructed by the reduction is a unit disk graph. However, the constructed graph may not be a unit disk graph even if the original graph is a unit disk graph.

Our idea is to reduce the VC-weighted Steiner tree problem to another optimization problem. This is inspired by a constant-factor approximation algorithm for the vertex-weighted Steiner tree problem on a unit disk graph [8, 9]. This algorithm is based on a reduction from the vertex-weighted to the edge-weighted Steiner tree problems. The reduction is possible because the former problem always admits an optimal Steiner tree in which the maximum degree is a constant if the graph is a unit disk graph. Even in the VC-weighted Steiner tree problem, if there is an optimal solution (FU) such that the maximum degree of vertices in the vertex cover U is a constant in the Steiner tree F, then we can reduce the problem to the edge-weighted Steiner tree problem. However, there is an instance of the VC-weighted Steiner tree problem that admits no such optimal solution. For example, if the vertex weights are uniform, and the graph includes a star in which all of the terminals are its leaves, then the star is the Steiner tree in the optimal solution, and its minimum vertex cover consists of only the center of the star. The degree of the center of the star is not bounded by a constant. Hence it seems that it would be difficult to reduce the VC-weighted Steiner tree problem to the edge-weighted problem.

We reduce the VC-weighted Steiner tree problem to a problem similar to the connected facility location problem. The reduction is based on a geometric property of unit disk graphs, and we will begin by proving this property. The following lemma gives a basic claim about geometry. For two points i and j on the plane, we denote their Euclidean distance by \(l_{ij}\).

Lemma 1

Let i be a point on the Euclidean plane, and let \(\alpha \in (1/2,3/4]\). Let P be a set of points on the plane such that \(\alpha < l_{ik}/l_{ij}\le 1/\alpha \) holds for all \(j,k \in P\). If \(|P| > 2\pi /\arccos (\alpha /2 + 3/(8\alpha ))\), then there exist \(j,k \in P\) such that \(l_{jk} < \max \{l_{ij}, l_{ik}\}/2\).

Proof

Since \(|P| > 2\pi /\arccos (\alpha /2 + 3/(8\alpha ))\), there exist \(j,k \in P\) such that \(\theta := \angle jik < \arccos (\alpha /2 + 3/(8\alpha ))\). We note that \(l^2_{jk}=l^2_{ij} + l^2_{ik} -2 l_{ij} l_{ik} \cos \theta \). Without loss of generality, we assume \(l_{ij} \ge l_{ik}\). Then, \((\max \{l_{ij},l_{ik}\})^2=l^2_{ij}\). Hence it suffices to show that \(-4l^2_{ik}- 3l^2_{ij} + 8l_{ij}l_{ik} \cos \theta > 0\).

Let \(\beta :=l_{ik}/l_{ij}\). Then, \(\alpha < \beta \le 1\). \(\max _{\alpha < \beta \le 1}4\beta + 3/\beta =4\alpha +3/\alpha \) holds, where the maximum is attained by \(\beta =\alpha \). Hence the required inequality is verified by
$$\begin{aligned} -4l^2_{ik}- 3l^2_{ij} + 8l_{ij}l_{ik} \cos \theta&= l_{ij}l_{ik} \left( -4 \beta - \frac{3}{\beta } +8 \cos \theta \right) \\&\ge l_{ij}l_{ik} \left( -4 \alpha - \frac{3}{\alpha } +8 \cos \theta \right) \\&= 0. \quad \square \end{aligned}$$

Our reduction requires the assumption that there is an optimal solution (FU) for the VC-weighted Steiner tree problem such that the degree of each vertex \(v \in U\) is bounded by a constant \(\alpha \) in the tree \(F-(L(F)\setminus U)\). The following lemma proves that the unit disk graph satisfies this assumption with \(\alpha =29\).

Lemma 2

If the input graph \(G=(V,E)\) is a unit disk graph, the VC-weighted Steiner tree problem admits an optimal solution consisting of a Steiner tree F and a vertex cover U of F such that the degree of each vertex in U is at most 29 in \(F - (L(F)\setminus U)\).

Proof

For two vertices \(u,v\in V\), let \(l_{uv}\) denote the Euclidean distance between u and v in the geometric representation of G. Let (FU) be an optimal solution for the VC-weighted Steiner tree problem. Without loss of generality, we can assume that (FU) satisfies the following conditions:
  1. (a)

    (FU) maximizes \(|L(F)\setminus U|\) over all optimal solutions;

     
  2. (b)

    F minimizes \(\sum _{e \in F}l_e\) over all optimal solutions subject to (a);

     
  3. (c)

    (FU) minimizes the number of vertices \(v \in U\) such that \(|\{u \in U :uv \in F\}|\ge 6\) over all optimal solutions subject to (a) and (b).

     

Let \(v \in U\). Let \(M_v:=\{u \in U :uv \in F\}\) and \(M'_v:=\{u \in V\setminus (U \cup L(F)) :uv \in F\}\). The lemma can be proven by showing that \(|M_v|\le 5\) and \(|M'_v|\le 24\).

Let us prove \(|M_v| \le 5\). We first prove \(|M_v| \le 6\), and then prove \(|M_v| \ne 6\). Suppose that there are two distinct vertices \(i,j \in M_v\) such that \(l_{ij} < \max \{l_{vi}, l_{vj}\}\). Let \(l_{vi}=\max \{l_{vi}, l_{vj}\}\), and denote \(F \setminus \{vi\} \cup \{ij\}\) by \(F'\). Then \(F'\) is a Steiner tree, U is a vertex cover of \(F'\), \(L(F)\setminus U=L(F')\setminus U\), and \(\sum _{e \in F'}l_e < \sum _{e \in F}l_e\). Since the existence of such an \(F'\) contradicts the condition (b), \(M_v\) contains no such vertices i and j. If \(|M_v| \ge 7\), there must be two vertices \(i,j \in M_v\) such that \(\angle ivj < \pi /3\), and \(l_{ij} < \max \{l_{vi}, l_{vj}\}\) holds for these vertices. Hence \(|M_v| \le 6\) holds.

Suppose that \(|M_v| =6\). In this case, \(M_v=\{u_1,\ldots ,u_6\}\), and \(l_{vu_k}=l_{vu_{k+1}}=l_{u_k u_{k+1}}\) holds for all \(k=1,\ldots ,6\), where \(u_{7}\) denotes \(u_1\) for notational convenience. If \(|M_{u_1}|\le 4\), we define \(F'\) as \(F \setminus \{vu_2\} \cup \{u_1u_2\}\). Then, \(F'\) is a Steiner tree, U is a vertex cover of \(F'\), \(L(F')\setminus U = L(F)\setminus U\), and \(\sum _{e \in F'}l_e = \sum _{e \in F}l_e\). Replacing F by \(F'\) decreases the number of vertices \(v \in U\) such that \(|M_v|\ge 6\), which contradicts the condition (c). If \(|M_{u_1}|\ge 5\), then (i) there exist \(i,j \in M_{u_1}\setminus v\) such that \(l_{ij} < \max \{l_{u_1 i}, l_{u_1j}\}\), or (ii) there exist \(i \in M_{u_1} \setminus v\) and \(j \in \{v,u_2,u_6\}\) such that \(l_{ij} < \max \{l_{u_1 i}, l_{u_1j}\}\). Case (i) contradicts the condition (b) as observed above. In case (ii), we define \(F'\) as \(F \setminus \{u_1 i\} \cup \{ij\}\) if \(\max \{l_{u_1 i}, l_{u_1j}\}=l_{u_1 i}\), and as \(F \setminus \{u_1 v\} \cup \{ij\}\) if \(\max \{l_{u_1 i}, l_{u_1j}\}=l_{u_1 j}\). In either case, \(F'\) is a Steiner tree, U is a vertex cover of \(F'\), \(L(F')\setminus U=L(F)\setminus U\), and \(\sum _{e \in F}l_e >\sum _{e \in F'}l_e\), which contradicts the condition (b). Hence \(|M_v| \le 5\) holds.
Fig. 1.

Transformation of F when \(l_{vu'}\le 1\) for all \(u' \in A_u\)

We now prove \(|M'_v| \le 24\). Let \(u \in M'_v\). Since u is not a leaf, u has a neighbor other than v. We denote by \(A_u\) the set of neighbors of u other than v. Since \(u \not \in U\), each vertex in \(A_u\) is included in U. If \(l_{v u'} \le 1\) holds for all vertices \(u' \in A_u\), consider \(F':=F \setminus (vu \cup \{uu' :u' \in A_u\}) \cup \{vu' :u'\in A_u\}\). Then, \(F'\) is a Steiner tree, U is a vertex cover of \(F'\), and \(L(F')\setminus U = (L(F) \setminus U)\cup \{u\}\) (Fig. 1). Since the existence of such an \(F'\) contradicts condition (a), there is at least one vertex \(u' \in A_u\) with \(l_{vu'} > 1\). We choose one of these vertices for each \(u \in M'_v\), and let B denote the set of those chosen vertices (hence B includes exactly one vertex in \(A_u\) for each \(u \in M'_v\)).

Suppose there exist two vertices \(i,j \in B\) such that \(l_{ij} < \max \{l_{vi},l_{vj}\}/2\). Let \(l_{vi}=\max \{l_{vi},l_{vj}\}\). Let u denote the common neighbor of v and i. Then \(l_{vu}\) or \(l_{ui}\) is at least \(l_{vi}/2\). If \(l_{vu} \ge l_{vi}/2\), then replace edge vu by ij in F (see Fig. 2(a)). Otherwise, replace edge ui by ij in F (see Fig. 2(b)). Let \(F'\) denote the tree obtained by this replacement. \(F'\) is a Steiner tree, U is a vertex cover of \(F'\), \(L(F)\setminus U \subseteq L(F')\setminus U\), and \(\sum _{e\in F'}l_{e} < \sum _{e \in F}l_e\) hold. Since this contradicts condition (a) or (b), there exists no such pair of vertices \(i,j\in B'\).

We divide B into \(B':=\{i \in B \mid l_{vi} \le 1.41\}\) and \(B'':=\{i \in B \mid 1.41 \le l_{vi}\}\). Notice that \(1/1.41 \le l_{vi}/l_{vj}\le 1.41\) holds for any \(i,j \in B'\). Hence, by Lemma 1, \(|B'|\le \lfloor 2\pi /\arccos (1/2.82+4.23/8) \rfloor =12\). Moreover, \(3/5 \le l_{vi}/l_{vj}\le 5/3\) holds for any \(i,j \in B''\). Hence, by Lemma 1, \(|B''|\le \lfloor 2\pi /\arccos (3/10+5/8) \rfloor =12\). Since \(|M_v'| \le |B|=|B'| + |B''|\le 24\), this proves the lemma.    \(\square \)

In the remainder of this section, we assume that G is not necessarily a unit disk graph, but there is an optimal solution (FU) for the VC-weighted Steiner tree problem such that the degree of each vertex \(v \in U\) is at most a constant \(\alpha \) in the tree \(F - (L(F)\setminus U)\). Based on this assumption, we reduce the VC-weighted Steiner tree problem to another optimization problem. First, let us define the problem used in the reduction.
Fig. 2.

Transformation of a tree F when \(l_{ij}<\max \{l_{vi},l_{vj}\}/2\)

Definition 1

(Connected Dominating Set Problem). Let \(G=(V,E)\) be an undirected graph, and let \(T \subseteq V\) be a set of terminals. Each edge e is associated with the length \(l(e) \in \mathbb {R}_+\), each vertex v is associated with the weight \(w(v) \in \mathbb {R}_+\), and \(l(e) \le \min \{w(u),w(v)\}\) holds for each edge \(e=uv \in E\). The problem seeks a pair of a tree \(F \subseteq E\) and a vertex set \(S \subseteq V\) such that S dominates T and F spans S. Let l(F) denote \(\sum _{e \in F}l(e)\). The objective is to minimize \(w(S) + l(F)\).

Theorem 2

Suppose that the VC-weighted Steiner tree problem with input graph G admits an optimal solution (FU) such that the degree of each vertex in U is at most \(\alpha \) in the tree \(F-(L(F) \setminus U)\). If there is a \(\beta \)-approximation algorithm for the connected dominating set problem in G, then there is an \((\alpha +1)\beta \)-approximation algorithm for the VC-weighted Steiner tree problem with G.

Proof

Suppose that an instance I of the VC-weighted Steiner tree problem consists of an undirected graph \(G=(V,E)\), a terminal set \(T \subseteq V\), and vertex weights \(w\in \mathbb {R}_+^V\). We define the edge length l(e) as \(\min \{w(u),w(v)\}\) for each \(e=uv \in E\), and define an instance \(I'\) of the connected dominating set problem from G, T, w, and l. We show that the optimal objective value of \(I'\) is at most \(\alpha +1\) times that of I, and a feasible solution for I can be constructed from the one for \(I'\) without increasing the objective value.

First, we prove that the optimal objective value of \(I'\) is at most \(\alpha +1\) times that of I. Let (FU) be an optimal solution for I. Then, the optimal objective value of I is w(U). Since F spans T and U is a vertex cover of F, U dominates T. Define \(F':= F - (L(F)\setminus U)\). Since \(F'\) is a tree spanning U, \((F',U)\) is a feasible solution for \(I'\). If \(e=uv \in F'\), then u or v is included in U, and l(e) is at most w(u) and w(v). Hence \(l(F') \le \sum _{v \in U}w(v) d_{F'}(v)\). By assumption, \(d_{F'}(v)\le \alpha \) holds for each \(v \in U\). Hence \(l(F') \le \alpha w(U)\). Since the objective value of \((F',U)\) in \(I'\) is \(l(F')+w(U)\), the optimal objective value of \(I'\) is at most \((\alpha +1)w(U)\).

Next, we prove that a feasible solution (FS) for \(I'\) provides a feasible solution for I, and its objective value is at most that of (FS). Since S dominates T, if a terminal \(t \in T\) is not spanned by F, there is a vertex \(v \in S\) with \(tv \in E\). We let \(F'\) be the set of such edges tv. Notice that \(F \cup F'\) is a Steiner tree of the terminal set T. For each edge \(e \in F\), choose an end vertex v of e such that \(l(e)=w(v)\). Let \(S'\) denote this set of chosen vertices. Then, \(S' \cup S\) is a vertex cover of \(F \cup F'\). Hence \((F \cup F',S'\cup S)\) is feasible for I. Since \(w(S'\cup S)\le w(S)+l(F)\), the objective value of \((F \cup F',S'\cup S)\) is at most that of (FS).   \(\square \)

By Lemma 2 and Theorem 2, a constant-factor approximation algorithm for the connected dominating set problem gives that for the VC-weighted Steiner tree problem. We note that there are several previous studies of the connected dominating set problem [10, 12, 15, 16]. However, the algorithms in those studies do not apply to our setting because they consider only the case \(T=V\). Indeed, if \(T=V\), the connected dominating set problem can be solved by a simple algorithm as follows; compute an approximate solution S for the minimum weight dominating set of the graph, and then compute a tree spanning S by an approximation algorithm for the edge-weighted Steiner tree problem. We note that the dominating set problem admits a constant-factor approximation algorithm if the graph is a unit disk graph [12, 19]. This achieves a constant-factor approximation for the connected dominating set problem with \(T=V\). However, this simple algorithm does not work for the case of \(T \subset V\).

We can observe through an example that computing a dominating set and a Steiner tree for connecting it separately does not give a good approximate solution for the connected dominating set problem. Motivated by this observation, we consider an LP rounding algorithm. Our key idea is to use an LP relaxation for coordinating a dominating set and a Steiner tree. The same idea was previously given by Huang et al. [11] for a problem, which is a special case of the connected dominating set problem. We can prove that their algorithm can be extended to the connected dominating set problem. In the present paper, we omit its detail due to the space limitation. We will present it in the full version.

Theorem 3

The VC-weighted Steiner tree problem admits a constant-factor approximation algorithm in unit disk graphs.

4 Steiner Tree Activation Problem in Graphs Excluding a Fixed Minor

In this section, we present a constant-factor approximation algorithm for the Steiner tree activation problem in graphs excluding a fixed minor. In particular, our algorithms is a 11-approximation for planar graphs.

Our algorithm is based on the reduction mentioned in Theorem 1. We reduce the problem to the vertex-weighted Steiner tree problem by using that reduction, and we solve the obtained instance by using the constant-factor approximation algorithm proposed by Demaine et al. [7] for the vertex-weighted Steiner tree problem in graphs excluding a fixed minor. We prove that this achieves a constant-factor approximation for the Steiner tree activation problem when the input graph is H-minor-free for some graph H such that |V(H)| is a constant. This seems to be an easy corollary to Demaine et al., but it is not because the reduction does not preserve the H-minor-freeness of the input graph. In spite of this, we can prove that the approximation guarantee given by Demaine et al. extends to the graphs constructed from a H-minor-free graph by the reduction.

We recall that the reduction constructs a graph \(G'\) on the vertex set \(T \cup \{v_i :v \in V, i \in W\}\) from the input graph \(G=(V,E)\) and the monotone activation functions \(f_{uv}:W \times W \rightarrow \{\top ,\bot \}\), \(uv \in E\). We denote the vertex set \(\{v_i :i \in W\}\) defined from an original vertex \(v \in V\) by \(U_v\). Let U denote \(\bigcup _{v \in V}U_v\).

First, let us illustrate how the algorithm of Demaine et al. behaves for \(G'\). The algorithm maintains a vertex set \(X \subseteq T \cup U\), where X is initialized to T at the beginning. Let \(\mathcal {A}(X) \subseteq 2^X\) denote the family of connected components that include some terminals in the subgraph of \(G'[X]\). We call each member of \(\mathcal {A}(X)\) an active set. The algorithm consists of two phases, called the increase phase and the reverse-deletion phase. In the increase phase, the algorithm iteratively adds vertices to X until \(|\mathcal {A}(X)|\) is equal to one. This implies that, when the increase phase terminates, the subgraph induced by X connects all of the terminals. In the reverse-deletion phase, X is transformed into an inclusion-wise minimal vertex set that induces a Steiner tree. This is done by repeatedly removing vertices from X in the reverse of the order in which they were added.

Let \(\bar{X}\) be the vertex set X when the algorithm terminates, and let X be the vertex set at some point during the increase phase. We denote \(\bar{X}\setminus X\) by \(\bar{X}'\). Note that \(\bar{X}'\) is a minimal augmentation of X such that \(X \cup \bar{X'}\) induces a Steiner tree. Each \(Y \in \mathcal {A}(X)\) is disjoint from \(\bar{X}'\), because \(Y \subseteq X\). Demaine et al. showed the following analysis of their algorithm.

Theorem 4

([7]). Let X be a vertex set maintained at some moment in the increase phase, and let \(\bar{X}'\) be a minimal augmentation of X so that \(X \cup \bar{X}'\) induces a Steiner tree. If there is a number \(\gamma \) such that \(\sum _{Y \in \mathcal {A}(X)} |\bar{X}' \cap N(Y)| \le \gamma |\mathcal {A}(X)|\) holds for any X and \(\bar{X}'\), the algorithm of Demaine et al. achieves an approximation factor \(\gamma \).

In \(G'[\bar{X}' \cup (\bigcup _{Y \in \mathcal {A}(X)}Y)]\), contract each \(Y \in \mathcal {A}(X)\) into a single vertex, discard all edges induced by \(\bar{X}'\) and all isolated vertices in \(\bar{X}'\), and replace multiple edges by single edges. This gives us a simple bipartite graph with the bipartition \(\{A,B\}\) of the vertex set, where each vertex in A corresponds to an active set, and B is a subset of \(\bar{X}'\). Let D denote this graph. This construction of D is illustrated in Fig. 3. We note that \(\sum _{Y \in \mathcal {A}(X)} |\bar{X}' \cap N(Y)|\) is equal to the number of edges in D. Hence, by Theorem 4, if the number of edges is at most a constant factor of |A|, the algorithm achieves a constant-factor approximation.

Demaine et al. proved that \(|B| \le 2|A|\), and D is H-minor-free if G is H-minor-free. By [17, 18], these two facts imply that the number of edges in D is \(O(|A| |V(H)| \sqrt{\log |V(H)|})\). When G is planar, together with Euler’s formula and the fact that D is bipartite, they imply that the number of edges in D is at most 6|A|.

The proof of Demaine et al. for \(|B| \le 2|A|\) can be carried to our case. However, D is not necessarily H-minor-free even if G is H-minor-free. Nevertheless, we can bound the number of edges in D, as follows.

Lemma 3

Suppose that the given activation function is monotone. If G is H-minor-free, the number of edges in D is \(O(|A||V(H)|\sqrt{\log |V(H)|})\). If G is planar, the number of edges in D is at most 11|A|.

The following theorem is immediate from Theorem 4 and Lemma 3.

Theorem 5

If an input graph is H-minor-free for some graph H, then the Steiner tree activation problem with a monotone activation function admits an \(O(|V(H)| \sqrt{\log |V(H)|})\)-approximation algorithm. In particular, if the input graph is planar, then the problem admits a 11-approximation algorithm.

In the rest of this section, we prove Lemma 3. We first provide several preparatory lemmas.

Lemma 4

If \(G'\) includes an edge \(u_{i}v_j\) for some \(u,v\in V\) and \(i,j\in W\), then \(G'\) also includes an edge \(u_{i'}v_{j'}\) for any \(i',j' \in W\) with \(i' \ge i\) and \(j' \ge j\).

Proof

The lemma is immediate from the construction of \(G'\) and the assumption that each edge in G is associated with a monotone activation function.    \(\square \)

Lemma 5

\(\bar{X}\) does not contain any two distinct copies of an original vertex.

Proof

For the sake of a contradiction, suppose that \(v_i,v_j \in \bar{X}\) for some \(v \in V\) and \(i,j \in W\) with \(i < j\). If an edge \(u_kv_i\) exists in \(G'\), then another edge \(u_k v_j\) also exists by Lemma 4. This means that \(\bar{X}\setminus v_i\) induces a Steiner tree in \(G'\), which contradicts the minimality of \(\bar{X}\).   \(\square \)

Lemma 6

Let \(Y,Y' \in \mathcal {A}(X)\) with \(Y \ne Y'\). If \(Y \cap U_v \ne \emptyset \) for some \(v \in V\), then \(Y' \cap U_v=\emptyset \).

Proof

Suppose that \(Y \cap U_v \ne \emptyset \ne Y' \cap U_v\). Let \(v_i \in Y\) and \(v_j \in Y'\) with \(i< j\). A vertex adjacent to \(v_i\) is also adjacent to \(v_j\) in \(G'\) by Lemma 4. By the definition, Y induces a connected component of \(G'[X]\) that includes a terminal t. Hence \(v_i\) has at least one neighbor in Y. This implies that \(v_i\) and \(v_j\) are connected in \(G'[X]\). This contradicts the fact that Y and \(Y'\) are different connected components of \(G'[X]\).    \(\square \)

Fig. 3.

An example of \(G'[\bar{X}' \cup (\bigcup _{Y \in \mathcal {A}(X)}Y)]\), D, and \(D'\); in construction of \(D'\), \(\bar{Y}_3\) is divided into two subsets, one of which contains \(u_j\) and the other contains \(v_j\); the former is shrunken into \(a_3\) and the later is shrunken into \(a'_3\)

Consider \(Y \in \mathcal {A}(X)\) and \(v \in V\) such that \(Y \cap U_v \ne \emptyset \). Let \(v_{i}\) be the vertex that has the largest subscript in \(Y \cap U_v\) (i.e., \(i=\max \{i' \in W :v_{i'} \in Y \cap U_v\}\)). Then, from Y, we remove all vertices in \(Y\cap U_v\) but \(v_i\). Moreover, if a copy \(v_j\) of v is included in B, we replace \(v_i\) by \(v_j\). Notice that \(j > i\) holds in this case by Lemma 4, and B does not include more than one copy of v because of Lemma 5. Let \(\bar{Y}\) denote the vertex set obtained from Y by doing these operations for each \(v \in V\) with \(Y \cap U_v \ne \emptyset \). \(\bar{Y}\) induces a connected subgraph of \(G'\) because of Lemma 4.

We let \(V_B\) denote \(\{v \in V:B \cap U_v \ne \emptyset \}\), and let \(V_{B,Y}\) denote \(\{v \in V_B :\bar{Y} \cap U_v \ne \emptyset \}\) for each \(Y \in \mathcal {A}(X)\). Moreover, let \(B'\) denote \(B \cap \{U_v :v\in \bigcup _{Y \in \mathcal {A}(X)} V_{B, Y}\}\), and \(B''\) denote \(B \setminus B'\). In other words, each vertex \(v_j \in B\) belongs to \(B'\) if and only if some copy \(v_i\) of the same original vertex \(v\in V\) is contained by an active set in \(\mathcal {A}(X)\).

If \(k:=|V_{B,Y}|\ge 2\), we divide \(\bar{Y}\) into k subsets such that the copies of the vertices in \(V_{B,Y}\) belong to different subsets, and each subset induces a connected subgraph of \(G'\). Let \(\mathcal {A}'(X)\) denote the family of vertex sets obtained by doing these operations to all active sets in \(\mathcal {A}(X)\). Notice that \(|\mathcal {A}'(X)|= |\mathcal {A}(X)| + \sum _{Y \in \mathcal {A}(X)}\max \{0,|V_{B,Y}|-1\}\). Lemma 6 indicates that, if a vertex \(v \in V_B\) belongs to \(V_{B,Y}\) for some \(Y \in \mathcal {A}(X)\), then it does not belong to \(V_{B,Y'}\) for any \(Y' \in \mathcal {A}(X)\setminus \{Y\}\). Thus, \(\sum _{Y \in \mathcal {A}}|V_{B,Y}| \le |B'|\), and hence \(|\mathcal {A}'(X)| \le |\mathcal {A}(X)|+|B'|\).

We shrink each \(Z \in \mathcal {A}'(X)\) into a single vertex in the induced subgraph \(G'[B'' \cup (\bigcup _{Z \in \mathcal {A}'(X)} Z)]\) of \(G'\), and convert the obtained graph into a simple graph by removing all self-loops and by replacing multiple edges with single edges. Let \(A'\) denote the set of vertices obtained by shrinking vertex sets in \(\mathcal {A}'(X)\), and let \(D'\) denote the obtained graph (with the vertex set \(A' \cup B''\)). See Fig. 3 for an illustration of this construction. We observe that \(D'\) is H-minor-free in the following lemma.

Lemma 7

If G is H-minor-free, then \(D'\) is H-minor-free.

Proof

By Lemma 5 and the construction of \(\mathcal {A}'(X)\), each vertex in V has at most one copy in \(B'' \cup (\bigcup _{Z \in \mathcal {A}'(X)} Z)\). If \(G'[B'' \cup (\bigcup _{Z \in \mathcal {A}'(X)} Z)]\) includes an edge \(u_iv_j\) for \(u_i \in U_u\) and \(v_j \in U_v\), then G also includes an edge uv. Thus \(G'[B'' \cup (\bigcup _{Z \in \mathcal {A}'(X)} Z)]\) is isomorphic to a subgraph of G. Since each \(Z\in \mathcal {A}'(X)\) induces a connected subgraph of \(G'\), the graph \(D'\) (constructed from \(G'[B'' \cup (\bigcup _{Z \in \mathcal {A}'(X)} Z)]\) by shrinking each \(Z\in \mathcal {A}'(X)\)) is a minor of G. Hence if G is H-minor-free, \(D'\) is also H-minor-free.   \(\square \)

The following lemma gives a relationship between D and \(D'\).

Lemma 8

If l is the number of edges in \(D'\), then D contains at most \(l+|B'|\) edges.

Proof

Let \(av_i\) be an edge in D that joins vertices \(a \in A\) and \(v_j \in B\). Suppose that a is a vertex obtained by shrinking \(Y \in \mathcal {A}(X)\), and \(v_j\) is a copy of \(v \in V\). Remember that \(v_j\) belongs to either \(B'\) or \(B''\). If \(v_j \in B'\), it is contained by a vertex set in \(\mathcal {A}'(X)\), denoted by \(Z_v\). We consider the following three cases:
  1. 1.

    \(v_j \in B'\) and \(Z_v \subseteq \bar{Y}\)

     
  2. 2.

    \(v_j \in B'\) and \(Z_v \not \subseteq \bar{Y}\)

     
  3. 3.

    \(v_j \in B''\)

     

In the second case, an edge in \(D'\) joins vertices obtained by shrinking \(Z_v\) and a subset of \(\bar{Y}\). In the third case, \(v_j\) exists in \(D'\), and \(D'\) includes an edge that joins \(v_j\) and the vertex obtained by shrinking a subset of \(\bar{Y}\). Thus \(D'\) includes an edge corresponding to \(av_j\) in these two cases. We can also observe that no edge in \(D'\) corresponds to more than two such edges \(av_j\). This is because \(Z_u \ne Z_v\) for any distinct vertices \(u_i\) and \(v_j\) in \(B'\) by the construction of \(\mathcal {A}'(X)\).

In the first case, \(D'\) may not contain an edge corresponding to \(av_j\). However, the number of such edges is at most \(|B'|\) in total because \(\bar{Y}\) are uniquely determined from \(v_j\) in this case. Therefore, the number of edges in D is at most \(l+|B'|\).    \(\square \)

We now prove Lemma 3.

Proof

(Lemma 3). The number of vertices in \(D'\) is at most \(|\mathcal {A}'(X)|+|B''| \le |\mathcal {A}(X)|+|B'|+|B''|=|A|+|B|\). As we mentioned, we can prove \(|B|\le 2|A|\) similar to Demaine et al. [7]. Hence \(D'\) contains at most 3|A| vertices. By Lemma 7, \(D'\) is H-minor-free. It is known [17, 18] that the number of edges in an H-minor-free graph with n vertices is \(O(n|V(H)| \sqrt{\log |V(H)|})\). Therefore, the number of edges in \(D'\) is \(O(|A||V(H)| \sqrt{\log |V(H)|})\). By Lemma 8, this implies that the number of edges in D is \(|B'|+O(|A||V(H)| \sqrt{\log |V(H)|})=O(|A||V(H)| \sqrt{\log |V(H)|})\).

If G is planar, by Euler’s formula, the number of edges in \(D'\) is at most \(3(|A|+|B|)\). Hence, by Lemma 8, the number of edges in D is at most \(3(|A|+|B|) + |B'| \le 3|A|+4|B| \le 11|A|\).    \(\square \)

5 Conclusion

In this paper, we formulate the VC-weighted Steiner tree problem, a new variant of the vertex-weighted Steiner tree and the Steiner tree activation problems. We proved that it is NP-hard to achieve an \(o(\log n)\)-approximation for the VC-weighted spanning tree problem in general graphs, and we presented constant-factor approximation algorithms for the VC-weighted Steiner tree problem with unit disk graphs and for the Steiner tree activation problem with graphs excluding a fixed minor. Finding a constant-factor approximation algorithm for the Steiner tree activation problem with unit disk graphs remains an open problem.

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  1. 1.National Institute of InformaticsTokyoJapan
  2. 2.JST, ERATO, Kawarabayashi Large Graph ProjectTokyoJapan
  3. 3.Department of Mathematical and Systems EngineeringShizuoka UniversityShizuokaJapan

Personalised recommendations