The Steiner Tree problem in graphs is a classical problem in combinatorial optimization. It takes as input a graph together with a distinguished subset of nodes called terminals, and seeks a minimum-size tree which connects all terminals in . The currently best-known approximation factor achievable in polynomial time is for any 111That algorithm approximates the minimum-weight solution in graphs with non-negative edge weights., and is due to Byrka et al. . Of considerable interest is also the generalization of Steiner Tree to multiple terminal sets , where the goal is to find a minimum-size forest such that all terminals of each set belong to the same connected component. For this problem, which is known as Steiner Forest, a 2-approximate solution can be found in polynomial time [1, 8]. The nodes in are called Steiner nodes.
Karpinski and Zelikovsky  considered the -dense version of Steiner Tree, where every terminal has at least neighbours outside , for some fixed . They gave a PTAS for this problem. Subsequently, Hauptmann  studied dense versions of problems related to Steiner Tree, such as Prize-Collecting Steiner Tree, Group Steiner Tree, -Steiner Tree, and claimed polynomial-time approximation schemes (PTAS) for these problems. He also obtained a -approximation for a certain version of Steiner Forest where each terminal in is adjacent to at least nodes in . All his results use the star contractions technique in which, after a number of greedy contraction steps which reduce the number of terminals, the remaining problem is solved optimally.
It is open if Steiner Tree is -hard for -dense inputs. Likewise, the complexity of Steiner Forest for pairwise -dense instances is open.
Our contributions. We shed light on the exact and approximate solvability of pairwise -dense Steiner Forest.
Let . Steiner Forest admits a polynomial-time approximation scheme on pairwise -dense instances. On pairwise -dense instances without Steiner nodes, an optimal solution can be found in polynomial time.
We give the proof in Section 3.
Steiner Forest admits a polynomial-time -approximation for any , for all pairwise -dense instances.
We give the proof in Section 4. Our results show a connection between dense instances of Steiner Forest and Set Packing problem. It is an interesting open question whether Steiner Forest admits a PTAS on pairwise -dense instances for all values of .
Finally, in Section 5 we consider Group Steiner Tree on dense instances. The Group Steiner Tree problem takes as input a graph and terminal sets , and the goal is to find a smallest subtree of containing at least one node from each terminal set group for . An instance is -dense if each terminal is adjacent to at least nodes. We give a reduction from Set Cover to Group Steiner Tree on dense instances. The reduction implies that -dense Group Steiner Tree is -hard. The reader may contrast this with the PTAS that Hauptmann  claimed for this problem. Recall that if , no -hard problem admits a PTAS.
Consider an instance of Steiner Forest consisting of a graph and pairwise disjoint terminal sets . We first justify that we can work with instances without Steiner nodes. For Steiner Forest with general (non-negative) edge weights, this assumption can be made without loss of generality, as one could replace every Steiner vertex with a pair of terminals connected by a zero-weight edge. For Steiner Forest with unit edge weights, we first claim that such instances are hard without density condition. This is captured by following theorem, whose proof we give in Appendix 0.A.
Unit-weight Steiner Forest without Steiner nodes is -hard.
We consider -dense instances of Steiner Forest. Formally, an instance of Steiner Forest is pairwise -dense if each terminal is adjacent to at least nodes in and at least nodes in , for every and .
For all , any pairwise -dense instance of Steiner Forest admits an optimal solution that either (i) has at most one connected component, or (ii) does not use Steiner nodes.
Consider an optimal forest for which consists of trees . If , the claim holds. If , consider a tree which contains at least one Steiner node. Without loss of generality, . Let be the set of Steiner nodes in . Consider any tree . By pairwise density, each terminal has an edge in to some terminal in . Thus, the graph induced by the nodes is connected. So we can remove from , and replace them by a single tree spanning . As , this operation does not increase the value of the solution. Repeatedly applying this operation leads to an optimal solution which either does not use any Steiner nodes or has one connected component. ∎
The following observation is straightforward.
Let be a graph and let be a forest in . Then , where denotes the number of trees in .
This means that we can view our problem equivalently as that of maximizing the total number of connected components.
Consider any tree that is part of feasible solution to a Steiner Forest instance. We define as the number of terminal sets that spans. Further, call a terminal set trivial if it induces a connected subgraph of . For each terminal , let denote the neighbors of in .
3 Approximation Scheme for Pairwise -Dense Steiner Forest
In this section we give the algorithm that yields the proof of Theorem 1.1. Let and consider a pairwise -dense instance of Steiner Forest. We search for an optimal solution which satisfies one of the properties of Lemma 1.
To approximate an optimal solution which consists of a single connected component, we create a single terminal set . Note that is a -dense instance of Steiner Tree, as each node is adjacent to at least nodes of . Thus, we fix some and run the Karpinski-Zelikovsky polynomial-time approximation scheme for Steiner Tree on -dense instances on input and , to obtain a -approximate solution to .
From now on, we focus on finding an optimal solution to which does not use any Steiner nodes. This allows us to assume that . Recall that ; so we can make the following useful observation:
The subgraph of the input graph which is induced by any two terminal sets is connected.
Consider any two nodes . As , has more than neighbours in . The same can be said about , and thus and share a common neighbour in . By symmetry, any two vertices in are also connected in . Clearly, there is at least one edge between terminals in and , hence the observation follows. ∎
An immediate corollary of the above observation is that for any two terminal sets , there exists in a tree of rank 2 spanning . This suggests the greedy Algorithm 1.
We claim that Algorithm 1 returns optimal solutions. Consider an optimal forest which consists of trees . Observe that , for otherwise we could replace with multiple trees of rank and at most one of rank , improving by this the value of (see Theorem 2.2). Moreover, there is at most one tree of rank , for otherwise we could replace two such trees by three trees of rank .
For , let be the number of trees of rank in , and let be the number of trees of rank in . By Theorem 2.2, it is enough to show that .
Call a tree as special if it contains a trivial set and has rank larger than . Note that there are no special trees of rank , for otherwise we could improve by breaking such tree into two separate trees of rank 1 and 2.
We claim that there is at most one special tree in . For otherwise, there are at least two trivial sets and which are spanned by rank-2 trees and , respectively. Then we could replace by three trees: a spanning tree of , a spanning tree of , and a spanning tree of all other terminals covered by and . Again, this would contradict the optimality of .
Observe that, if there is a special tree in , then , for otherwise we could improve upon . Moreover, we can assume that if there is a special tree in , then : for if there was an additional rank-2 tree, we could replace the special tree and construct a trivial tree and a single rank 3 tree.
Finally, by construction of Algorithm 1 it follows that if there is no special tree in , then , and . If there is a unique special tree in , then we have and . Therefore, all terminals sets except one are trivial, and Algorithm 1 finds a solution with , and . This completes the proof of Theorem 1.1.
4 Approximation Algorithm for Pairwise -Dense Steiner Forest
In this section we give an approximation algorithm for pairwise -dense Steiner Forest when there are no Steiner vertices. The algorithm uses, as a subroutine, an approximation algorithm for the 3-Set Packing problem. The currently best known approximation algorithm for 3-Set Packing is a -approximation, and is due to Cygan .
The graph is either connected or consists of two connected components.
Consider any component of . Density implies that contains at least terminals from for each . Thus, has at most two components. Observe also, that when has two components , then both and contain exactly half of all terminals from each set . Moreover, terminals from two sets within each component are connected via a biclique. ∎
If contains a trivial set, then is connected.
Let us now define the notion of “triplets”. We say that three distinct terminal sets form a triplet if is connected.
Now, we claim that triplets provide connectivity for larger structures.
Let be a family of terminal sets such that is connected. If contains at least four sets then it contains a triplet.
Suppose, for sake of contradiction, that contains no triplets. We will show that this implies that is disconnected, yielding the desired contradiction.
Let . We will show that consists of two connected components, for .
Let . Observe that there is no pair such that is connected, for otherwise, for any , sets would form a triplet.
Now let and suppose the claim is true for all smaller values of . Let denote the two connected components of . For , let and . Consider now the two components of . Then or ; for otherwise, would form a triplet. Assume, without loss of generality, that . Let now and .
To finish the proof, it suffices to show that nodes from are not connected to nodes in for . To this end, note that if was connected to some node in , then would form a triplet. ∎
Next, we claim that there is an optimal solution which has at most one tree with rank larger than 3. To see this, assume that contains two trees of rank larger than 3. By Lemma 2, contains a triplet . Thus, we can replace by a spanning tree of triplet , and a tree spanning the terminals in and remaining terminals of . This change does not increase the cost of the solution.
We are ready to describe our approximation algorithm for Steiner Forest on pairwise -dense instances. Consider an instance .
As a first step, the algorithm deletes all trivial terminal sets from the instance except one. This step is justified as follows. Recall that a tree of a solution is special if it contains a trivial set and has rank larger than . We claim that there exists optimal solution which has at most one special tree. Too see this, assume that are special trees in , and are corresponding trivial sets inside and , respectively. Now, we can replace by a spanning tree of as a single tree, and a tree spanning and all terminals outside which are spanned by . Here we used Theorem 4.2. It is also easy to see that it is arbitrary which trivial set is used to construct a special tree in , as by Theorem 4.2 its choice does not affect the cost of the solution.
After this preprocessing, the algorithm reduces the problem to an instance of 3-Set-Packing. The full algorithm is described in Algorithm 2.
It remains to analyze the approximation ratio of Algorithm 2. Let , let be the value of an optimal solution to , and let be the value of the solution to computed by the -approximation algorithm for 3-Set Packing, due to Cygan . By Theorem 2.2 and above observations about the structure of optimal solutions, it remains to find an such that
Observe now, that , as we removed all trivial sets, and so every terminal set consists of at least two vertices. Thus, we have that
where in the last line we used that . This shows that we can set for any . This completes the proof of Theorem 1.2.
5 Hardness of Approximation for Dense Group Steiner Tree
In this section, we show that the Dense Group Steiner Tree is -hard. Our reduction takes an instance of Set Cover, where is an -element set and is a family of non-empty subsets of , and constructs an instance of Group Steiner Tree as follows. For each element create a terminal group where . For each set create a node and connect to all nodes for which . Put all the into a single group . Finally, add a root node forming a single group and connect all nodes to . See Figure 1 for an illustration.
Observe, that each node belongs to the exactly one group, so there are no Steiner vertices. Therefore, the density condition holds trivially. Now any feasible solution to instance of cost corresponds to a feasible solution to instance of cost , and vice-versa. As Set Cover is hard to approximate with factor , as shown by Feige , and any optimal solution to can be assumed have value , the -hardness of Group Steiner Tree for dense instances follows.
Acknowledgements. M.L. and S.M.M. were supported by NCN grant number 2015/18/E/ST6/00456. M.M. was supported by DFG grant MN 59/4-1. We thank Jarosław Byrka for helpful discussions.
-  (1995) When trees collide: an approximation algorithm for the generalized Steiner problem on networks. SIAM J. Comput. 24 (3), pp. 440–456. Cited by: §1.
-  (2013) Steiner tree approximation via iterative randomized rounding. J. ACM 60 (1), pp. 6:1–6:33. Cited by: §1.
-  (2013) Improved approximation for 3-dimensional matching via bounded pathwidth local search. In Proc. FOCS 2013, pp. 509–518. Cited by: §4, §4.
-  (2004) On the hardness of approximating minimum vertex cover. Ann. Math. 162, pp. 2005. Cited by: Appendix 0.A.
-  (1998) A threshold of for approximating set cover. J. ACM 45 (4), pp. 634–652. Cited by: §5.
-  (2013) On the approximability of dense Steiner problems. J. Discrete Algorithms 21, pp. 41–51. Cited by: §1, §1.
-  (1997) Approximating dense cases of covering problems. In Network Design: Connectivity and Facilities Location, Proceedings of a DIMACS Workshop, Princetin, New Jersey, USA, April 28-30, 1997, pp. 169–178. Cited by: §1.
-  (1995) A primal-dual approximation algorithm for generalized Steiner network problems. Combinatorica 15 (3), pp. 435–454. Cited by: §1.
Appendix 0.A Proof of Theorem 1
We give a reduction from Vertex Cover in graphs of bounded maximum degree. The reduction has two steps: first we will reduce to unit-weight Steiner Tree (with Steiner vertices), and second replace Steiner nodes by pairs of terminals, obtaining the desired Steiner Forest instance.
Let be a graph constituting an instance of Vertex Cover. Let be the graph whose node set is a union of and , and designate all nodes in corresponding to edges of as terminals: so . Now, connect each terminal in to two Steiner nodes corresponding to the endpoints of an edge in . Finally, connect all the Steiner vertices with each other, so that they form a clique.
We claim that each vertex cover in corresponds to a Steiner tree of size for . This can be seen by taking an edge for each terminal to some node corresponding to a node of , and then adding a spanning tree of nodes corresponding to a vertex cover. As Vertex Cover is -hard in graphs of bounded maximum degree  and , the -hardness for Steiner Tree follows.
For the second part of the reduction, for each node add a node which is connected by a single edge to . Add also set to a family of terminal sets to connect in the Steiner Forest instance. Finally, make also a set of terminals to connect. The complete instance is depicted in Figure 2.
To finish the proof, observe that solution size increases by , which is of the same order as the initial solution.