Simultaneously dominating all spanning trees of a graph

We investigate the problem of simultaneously dominating all spanning trees of a given graph. We prove that on 2 -connected graphs, a subset of the vertices dominates all spanning trees of the graph if and only if it is a vertex cover. Using this fact we present an exact algorithm that ﬁnds a simultaneous dominating set of minimum size using an oracle for ﬁnding a minimum vertex cover. The algorithm can be implemented to run in polynomial time on several graph classes, such as bipartite or chordal graphs. We prove that there is no polynomial time algorithm that ﬁnds a minimum simultaneous dominating set on perfect graphs unless P = NP . Finally, we provide a 2 -approximation algorithm for ﬁnding a minimum simultaneous dominating set.


Introduction
A dominating set in a graph G is a subset S ⊆ V (G) of the vertices such that every vertex that is not contained in S has a neighbor in S. The dominating set problem, that aims to find a minimum dominating set in a graph, was formalized by Berge in 1958 [3] and Ore in 1962 [17]. Since then several variants of the dominating set problem have been studied. One example is the independent dominating set problem, in which additionally no two vertices in the searched set may be adjacent, cf. [9]. Another example is the total dominating set problem in which every vertex has to be adjacent to a vertex in the searched set, cf. [12]. The dominating set problem is well known to be NP-complete, see [10], and so are most of it variants.
In this paper we consider a variation of the dominating set problem in which we seek to simultaneously dominate all spanning trees of a graph. The concept of simultaneous domination in graphs was independently introduced by Sampathkumar in [18] under the name global domination and by Brigham and Dutton in [2] who used the term factor domination. Following [2], given a graph G and a partition of its edge set E 1 , . . . , E k , a subset of the vertices is a factor dominating set if it is dominating for all graphs (V (G), E i ). Whereas a susbet of the vertices is a global dominating set if it is a subset of the vertices which is dominating in G and its complement. Later on the term factor domination has also been used for subsets of the vertices that dominate some set of arbitrary subgraphs of G on the same vertex set, see e.g. [7] and [5]. In our studies we use the term simultaneous domination, as in our definition the edge sets of the subgraphs are not required to be disjoint. In the simultaneous dominating set problem regarded here we are given a graph G and we aim for a minimum subset of vertices that is a dominating set in every spanning tree of G. As we only regard simultaneous domination of all spanning trees, in the following we often omit all spanning trees in order to shorten notation. Simultaneous domination of all spanning trees has previously not been regarded in the literature. We prove that in a 2-connected graph G a set S ⊆ V (G) dominates all spanning trees if and only if it is a vertex cover. On general graphs we prove that the size of a minimum size vertex cover and a minimum size simultaneous dominating set may differ by a factor of two and give an example that this bound is tight. We utilize the relation of simultaneous dominating sets to vertex covers in order to derive an algorithm that finds a minimum size simultaneous dominating set. The algorithm works on the block graph of a graph and uses an oracle for VERTEXCOVER. It can be implemented to run in polynomial time on bipartite graphs, chordal graphs and graphs with bounded treewidth. The polynomial running times strongly rely on the fact that VERTEXCOVER is polynomial time solvable on these classes. However, the arguments used are not applicable to all graph classes on which VERTEXCOVER is solvable in polynomial time. In particular, it is well known that VERTEXCOVER is polynomial time solvable on perfect graphs, cf. [19]. Yet, one of our main results proves that the same does not hold for simultaneous domination.
Theorem 7. SIMULTANEOUSDOMINATINGSET is NP-complete when restricted to perfect graphs.
The theorem proves that VERTEXCOVER and SIMULTANEOUSDOMINATINGSET are not equivalent from the point of view of complexity theory. Another direct consequence of the theorem is, that although SIMULTANEOUSDOMINATINGSET is polynomial time solvable on 2-connected, perfect graphs, it is NP-hard on all perfect graphs. In a sense, one could say that the problem significantly simplifies when restricting it to 2-connected graphs. This is a property that is rarely seen among graph theoretic problems, as polynomial time solvability for problems on 2-connected graphs often implies polynomial time solvability of the corresponding problem on all graphs.
It is well known that MINVERTEXCOVER may be approximated by a factor of 2, cf. [19], as well as that it cannot be approximated by any constant factor smaller than 2, provided the unique games conjecture holds, cf. [16]. Here, we provide a 2-approximation for MINSIMUL-TANEOUSDOMINATINGSET that is based on LP-rounding. Note that the 2-approximability is not immediately implied from the 2-approximability of MINVERTEXCOVER, as the size of a minimum simultaneous dominating set and the size of a minimum vertex cover may differ by up to a factor of 2, cf. Theorem 8.
The results in this paper have also been published in the dissertations of Sebastian Johann [14] and Manuel Streicher [20].
Outline. After we state some basic definitions in Section 2, we focus on the characterization and the complexity of SIMULTANEOUSDOMINATINGSET in Section 3. In Section 4 we present an algorithm to find a minimum size simultaneous dominating set on general graphs using an oracle for computing a minimum size vertex cover. Afterwards, we show in Section 5 that we can solve SIMULTANEOUSDOMINATINGSET in polynomial time on bipartite graphs, on chordal graphs and on graphs of bounded treewidth. Finally, we present a 2-approximation algorithm for MINSIMUL-TANEOUSDOMINATINGSET in Section 6.

Preliminaries
Most of our notation is standard graph terminology which can be found in [8]. For an introduction to graph theory from the algorithmic point of view we refer to [15]. Nevertheless, we recall some basic notations in the following. All graphs under consideration are undirected and simple. For a graph G, we refer to its vertex set by V (G) and to its edge set by E(G). For an edge joining vertices u, v ∈ V (G) we write uv. For a subset S ⊆ V (G) we denote by G[S] the graph induced by S, that has vertex set S and contains all edges in G joining vertices in S. Further, we write G − S for the graph G[V (G) \ S] and for E ⊆ E(G) we write G − E for for the graph with vertex set V (G) and edge set E(G)\E. To simplify notation we write G−v and G−e instead of G−{v} and G − {e} for v ∈ V (G) and e ∈ E(G).
A path P = u 0 . . . , u k is a graph with vertex set V (P ) = {u 0 , u 1 , . . . , u k } and edge set E(P ) = {u 0 u 1 , u 1 u 2 , . . . , u k−1 u k }, where all the u i are distinct. A graph G is called connected if any two vertices are linked by a path. As it facilitates arguments in this contribution we make the following assumption for connected graphs. Assumption 1. Any connected graph contains at least two vertices.
We call a graph 2-connected if it has at least three vertices and does not contain a cutvertex. A block of G is a maximal connected subgraph of G that does not contain a cutvertex. The block graph of G is a bipartite graph T , where one bipartition set contains the cutvertices of G and the other bipartition set consists of the blocks of G. For a cutvertex v in G and a block B we have vB ∈ E(T ) if and only if v is contained in B. If G is connected, then the block graph of G is a tree, cf. [8]. Note that the blocks and the block graph can be computed in linear time, cf. [13]. We call a block endpoint if it is a leaf in T . Further, we call the unique cutvertex in an endpoint its connection vertex.
The set D is a dominating set of G if every vertex of G is contained in D or dominated by a vertex in D. Further, a subset C ⊆ V (G) is a vertex cover of G if every edge has an endvertex in C. An alternative characterization for a vertex cover C in a graph is: (1) Further, we use standard notation and basic results from linear and integer programming. For a further introduction into this topic we refer to [11].

Characterization and Complexity of SIMULTANEOUSDOMINATINGSET
In this section we introduce the basic definitions of simultaneous domination. Afterwards, we provide an alternative characterization for a simultaneous dominating set and analyze the complexity of the related decision problem.
Definition 2. Let G be a connected graph and S ⊆ V (G). We call S a simultaneous dominating set or SD-set of G if S is a dominating set in every spanning tree of G.
During this article we mainly investigate MINSIMULTANEOUSDOMINATINGSET which consists of finding a simultaneous dominating set of minimum size. The decision version of this problem is defined as follows:

SIMULTANEOUSDOMINATINGSET
Instance: A connected graph G and an integer B ∈ N. Question: Is there a subset S ⊆ V (G) with |S| ≤ B such that S is a simultaneous dominating set in G?
Initially, it is not clear if SIMULTANEOUSDOMINATINGSET is contained in NP. As a graph can have an exponential number of spanning trees we cannot simply test dominance of a given solution in every spanning tree. However, the following theorem enables us to verify if a given set S is a simultaneous dominating set in polynomial time.
Theorem 3. Let G be a connected graph. A set S ⊆ V (G) is a simultaneous dominating set if and only if for every v ∈ V (G) it holds true that v ∈ S or: Proof. By Assumption 1 any connected graph contains at least two vertices. Thus, the neighborhood of a vertex in a connected graph is never empty. Let v ∈ V (G) \ S be a vertex that is not a cutvertex in G. We claim that the vertex v is simultaneously dominated by S if and only if all neighbors of v are in S: If all neighbors of v are contained in S, then v is clearly dominated by S in every spanning tree of G since there is at least one edge between v and one of its neighbors in every spanning tree.
Conversely, assume that v is simultaneously dominated by S. Since G − v is connected there is a spanning tree of G − v. We obtain a spanning tree of G by adding v and any edge incident to v in G. Thus, for any neighbor u of v in G there is at least one spanning tree of G such that u is the only neighbor of v. Since v is dominated in every spanning tree of G and v / ∈ S we get that all neighbors of v are contained in S.
Next consider the case that v is a cutvertex and is further contained in the blocks B 1 , . . . , B k . We show that v is simultaneously dominated by S if and only if there is an i ∈ {1, . . . , k} such that w ∈ S for all w ∈ N B i (v): If for some i ∈ {1, . . . , k} we have w ∈ S for all w ∈ N B i (v), then v is clearly dominated by S in every spanning tree of G since there is at least one edge between v and one of its neighbors in the block B i . Conversely, assume that for each i ∈ {1, . . . , k} there is an w i ∈ N B i (v) that is not in S. We obtain a spanning tree T of G by using a spanning forest in G − v and adding the vertex v and for every i ∈ {1, . . . , k} the edge vw i . The vertex v is not dominated in T since neither the vertex v nor any of its neighbors w i is in S. Hence, S is not an SD-set.
By Theorem 3 we can verify for a graph G if a given set S ⊆ V (G) is an SD-set in polynomial time by simply checking conditions (i) and (ii) of Theorem 3 for every vertex v ∈ V (G)\S. Recall, that for a graph G a set C ⊆ V (G) is a vertex cover if and only if for every vertex v ∈ V (G) it holds that v ∈ C or N G (v) ⊆ C, cf. (1). Theorem 3 asks for exactly the same for non-cutvertices and hence we get: is a simultaneous dominating set if and only if S is a vertex cover in G.
VERTEXCOVER is one of Karp's 21 NP-complete problems, cf. [10]. It can be observed that the problem remains NP-hard on 2-connected graphs and thus: Corollary 4 reveals a close connection between SIMULTANEOUSDOMINATINGSET and VER-TEXCOVER. However, it is not immediately clear if and how we may use this relation to efficiently compute a minimum size simultaneous dominating set in graphs on which VERTEXCOVER can be solved in polynomial time. We later see examples of such possibilities for certain graph classes such as bipartite or chordal graphs, but in the following we proof that this is not always the case.
Recall the definition of a perfect graph. A graph G is perfect if for every induced subgraph the chromatic number equals the clique number. The chromatic number is the minimum number of labels needed, such that every vertex has an assigned label and no two adjacent vertices have the same label. The clique number is the size of a largest induced subgraph that is complete. It is well known that MINVERTEXCOVER can be solved in polynomial time on perfect graphs, cf. [19]. However, in the following we prove that SIMULTANEOUSDOMINATINGSET is NP-complete when restricted perfect graphs.
To do so we make use of the Strong Perfect Graph Theorem proven by Chudnovsky et al. in [6]. Recall that for a graph G an odd hole of G is an induced subgraph of G which is a cycle of odd length at least 5. An odd antihole of G is an induced subgraph of G whose complement is an odd hole inḠ.
Theorem 6 (Strong perfect graph theorem, [6]). A graph G is perfect if and only if G has no odd hole and no odd antihole.
Theorem 7. SIMULTANEOUSDOMINATINGSET is NP-complete when restricted to perfect graphs.
Proof. By Theorem 3 SIMULTANEOUSDOMINATINGSET restricted to perfect graphs is contained in NP.
It is well known that VERTEXCOVER is NP-complete and it can be observed that it remains NP-complete on 2-connected graphs. Therefore, let G be a simple, 2-connected graph. For every edge uv ∈ E(G) we denote by H uv the graph with The graph H uv is illustrated in Figure 1.
We regard the graph H uv and claim that H is perfect. Further, we claim that G has a vertex cover of size at most k if and only if H has an SD-set of size at most k + 4|E(G)|.
To show that the graph H is perfect we use the Strong Perfect Graph Theorem, cf. Theorem 6, and show that there is no odd hole nor an odd antihole. First note that the only vertices in H that can possibly have degree larger than 5 are the ones also contained in G. As none of these are adjacent in H there cannot be an odd antihole of size 7 or larger. Further, the only cycle completely contained inside of some H uv for uv ∈ E(G) is of the form x uv 1 x uv 2 x uv 3 x uv 1 and has length 3. Any other cordless cycle C in H that passes through H uv has to use the path ux uv 1 x uv 3 x uv 4 v as otherwise it contains the chord x uv 1 x uv 3 . However, this path has length 4 and since this holds for every H uv we get that C has even length and there is no odd hole in H. Since an odd anti-hole of size 5 is the same as an odd hole of size 5 it already follows by the Strong Perfect Graph Theorem that H is perfect.
Next we show that G has a vertex cover of size at most k if and only if H has an SD-set of size at most k + 4|E(G)|.
Let C ⊆ V (G) be a vertex cover of G of size k. Consider the set S that contains all vertices from C and for every uv ∈ E(G) the vertices x uv 1 , x uv 3 , y uv Figure 1. Clearly, |S| = k + 4|E(G)| and we claim that S is a simultaneous dominating set of H. To this end regard some uv ∈ E(G). Since y uv 1 and z uv 1 are in S and x uv 1 and x uv 3 are cutvertices in H Theorem 3 implies that x uv 1 and x uv 3 are simultaneously dominated. For w ∈ {x uv 2 , x uv 4 , y uv 1 , y uv 2 , z uv 1 , z uv 2 } we have that either w itself is in S or all neighbors of w are in S. Thus, by Theorem 3 all vertices in H uv except possibly u and v are simultaneously dominated. If u / ∈ S, then by definition of S all neighbors of u in H are contained in S and u is simultaneously dominated. If v / ∈ S, then it must be the case that u ∈ S as C ⊂ S is a vertex cover of G. Again it follows by the definition of S that all neighbors of v are contained in S and w is simultaneously dominated by S. Overall, we conclude that S is a simultaneous dominating set in H.
Further, x uv 2 and x uv 4 are not cutvertices in H as G is 2-connected. Thus, by Theorem 3, we either have As G is 2-connected we have for every edge uv ∈ E(G) that neither u nor v is a cutvertex in H. If both, u and v, are not contained in S, we have by Theorem 3 that x uv 1 as well as x uv Replacing the elements in S ∩ V (H uv ) by the elements in the set {u, x uv 2 , x uv 4 , y uv 1 , z uv 1 } yields an SD-set of no larger cardinality which contains u. Thus we may assume that for every uv ∈ E(G) we have u ∈ S or v ∈ S. Therefore, the set C = S ∩ V (G) is a vertex cover and by (3) |C| ≤ k.
Theorem 7 demonstrates that SIMULTANEOUSDOMINATINGSET and VERTEXCOVER differ in their complexity on some graph classes, unless P = NP. However, in the following we show that the gap between a minimum size simultaneous dominating set and a minimum size vertex cover cannot be too large. In particular, we demonstrate that a minimum size vertex cover may be at most twice as large as a minimum size SD-set. For an integer k ∈ N let G be a graph on 3k vertices, where k vertices form a clique and each vertex of the clique has a dangling path of length two attached to it, cf. Figure 2. A vertex cover in G contains at least k − 1 vertices of the clique as well as one more for each dangling path. Hence, a vertex cover of G has size at least 2k − 1. See Figure 2 for a possible minimum size vertex cover.
On the other hand there is an SD-set of size k since the edges of every dangling path are contained in a spanning tree of G, cf. Figure 3. As for every dangling path at least one of its vertices has to be contained in an simultaneous dominating set the described SD-set is of minimum size. Now we show that this is the largest gap possible.
Theorem 8. Let G be a connected graph and S an SD-set. We can extend S to a vertex cover C by adding at most |S| − 1 vertices. In particular, if C is a minimum size vertex cover and S is a minimum size SD-set, then it holds that |C | ≤ 2|S | − 1. The given bound is tight.
i.e., S(v) consists of the neighbors of v that are in S and in the blocks that are children of v in T . We claim that C is a vertex cover of size at most 2|S| − 1, where An example for such a set C is illustrated in Figure 4. First we prove that C is in fact a vertex cover. To do so, we show for every vertex First of all, if v is not a cutvertex, then all its neighbors in G are in S by condition (i) of Theorem 3 and thus in C. Next assume that v is a cutvertex with children B 1 , . . . , B k and parent B in T . Since v / ∈ C we have S(v) = ∅ and thus no neighbor of v in the children . . , k}. If we show that w ∈ C, then the claim follows. Since neither v nor w is in S the vertex w needs to be a cutvertex, otherwise w would not satisfy condition (i) of Theorem 3. Further, the block B i is the parent of w in T and since v / ∈ S we have that w is simultaneously dominated in a block that is its child in T . In particular, we have S(w) = ∅ and by the definition of C it is w ∈ C. Overall, this shows that N G (v) ⊆ C and hence C is a vertex cover.
Next we show |C| ≤ 2|S| − 1. This follows if we can find an injective mapping from . If we map v to w, then we obtain an injective mapping: If w is not a cutvertex, then w is contained in exactly one block and v is the unique parent of this block. Otherwise, if w is a cutvertex, then it is itself a child of the block containing v and w in T . Hence, every block containing w is either a child of v or a child of w and since w ∈ S no other vertex in C \ S is mapped to w. This shows that the mapping is injective and hence |C| ≤ 2|S| − 1.
We already observed before the statement of this theorem, that there exists a graph G with minimum vertex cover C and minimum SD-set S such that |C| = 2|S| − 1, cf. Figure 4. Thus, the provided bound is in fact tight.

An Exact Algorithm for SIMULTANEOUSDOMINATINGSET using an Oracle for VERTEX-COVER
In the previous section we saw that on 2-connected graphs SIMULTANEOUSDOMINATINGSET is equivalent to VERTEXCOVER. However, we have also highlighted some differences. On the one hand we showed that in general graphs the size of a minimum size SD-set and a minimum size vertex cover may differ by a factor of two. On the other hand we proved that SIMULTANEOUS-DOMINATINGSET is NP-complete when restricted to perfect graphs whereas VERTEXCOVER is solvable in polynomial time. In this section we concentrate on the algorithmic aspect of SIMUL-TANEOUSDOMINATINGSET. In particular, we show how we can find a minimum size SD-set in general graphs using an oracle for a minimum size vertex cover. To this end we need some further notation.
In the following we assign colors to vertices. To get an intuition what these colors represent for a vertex v we give an interpretation of them: • color 2 indicates that v is fixed to be in the SD-set, • color 1 indicates that v is not in the SD-set yet but it is simultaneously dominated and • color 0 indicates that v is not in the SD-set and it is not simultaneously dominated yet.
We call color 2 better than color 1 and 0 and say that color 1 is better than color 0. For a subset col ⊆ {2, 1, 0} we denote the best color of col by best(col). Now we briefly describe the idea of the algorithm: Explanation 9. Let G be a graph in which we want to compute a minimum size SD-set. Our algorithm is based on the structure of the block graph T of G. Let H be an endpoint of T and let v ∈ V (G) be the corresponding connection vertex. We take out of all minimum size sets S ⊆ V (H) that simultaneously dominate all vertices in V (H) \ {v} one with the best coverage for v, i.e., the best color for v. We then remove H − v from G and continue with the next endpoint.
In later stages of the algorithm we may have vertices in our endpoint, that are already simultaneously dominated or even contained in an SD-set for free. This has to be taken into account when computing such a minimum size set of a block that was originally not an endpoint. The crucial point of this procedure is, that any vertex can be simultaneously dominated by adding only one vertex, namely the vertex itself. Thus, if the connection vertex v is not simultaneously dominated in one of its endpoints by any of the minimum size SD-sets, then we can simply simultaneously dominate it later on in a subsequent step of the algorithm. This is true, as we can be sure that it never costs us more than it would cost us to simultaneously dominate it within the current block.
To formalize this setup where some vertices are already simultaneously dominated or even in the SD-set we need a generalized version of simultaneous dominating sets.
Definition 10. Let G be a connected graph and f : V (G) → {2, 1, 0} a coloring. We call a subset S ⊆ V (G) an f -respecting simultaneous dominating set if the following conditions hold: If we do not specify the coloring, then we also use the term color respecting simultaneous dominating set .
Thus, a color respecting SD-set S is an SD-set such that all vertices with assigned color 2 are contained in S and all vertices with assigned color 1 do not have to be simultaneously dominated by S. Clearly this is a generalization of an SD-set as if all vertices are assigned color 0, then a color respecting SD-set and an SD-set are the same thing.
In the following we present an algorithm that computes a minimum size color respecting SD-set in a connected graph without a cutvertex and afterwards, we show how we can use this algorithm to obtain an SD-set in general graph. To this end let G be a connected graph without a cutvertex and f : V (G) → {2, 1, 0} a coloring of the vertices of G. Algorithm 1 describes how to find a minimum size f -respecting SD-set in G using an oracle MINVERTEXCOVER for solving the well known MINVERTEXCOVER as a black box algorithm. Before we use the oracle to obtain such a vertex cover, we modify the graph. Recall that all vertices with color 2 have to be in S and therefore we remove them from G. The vertices with color 1 do not have to be simultaneously dominated and hence we remove the edges between vertices with color 1. In Theorem 11 we prove that a minimum size vertex cover in the modified graph is in fact a f -respecting SD-set in the original graph. Output: A minimum f -respecting simultaneous dominating set and its size Theorem 11. Given a connected graph G without a cutvertex and a coloring f : V (G) → {2, 1, 0} Algorithm 1 returns a minimum size f -respecting simultaneous dominating set. It can be implemented to run in polynomial time if MINVERTEXCOVER can be implemented to run in polynomial time.
Before we start with the proof note that this running time is also called oracle polynomial given the oracle MINVERTEXCOVER. As oracle algorithms are not our focus and we just use it here we do not formally introduce this form of algorithms.
Proof. Let S be the set returned by the algorithm. We begin by proving that S is an f -respecting simultaneous dominating set. Clearly f −1 (2) ⊆ S and thus, as G does not contain a cutvertex and by Definition 10 we only need to prove that for all vertices After having deleted all vertices with color 2 we do not delete edges incident to v. Thus, the vertex cover computed either contains v itself or all neighbors of v which do not have color 2. As all deleted vertices are contained in S the required condition follows and we conclude that S is indeed an f -respecting simultaneous dominating set. Let . To see that the algorithm returns a minimum size f -respecting simultaneous dominating set we show that for every f -respecting simultaneous dominating set S it holds that S \ f −1 (2) is a vertex cover in G . So let S be any f -respecting simultaneous dominating set and let e = uv ∈ E(G ). Then at least one endpoint of e, say v, has color 0 and neither u nor v has color 2. By Definition 10 this means that v or all vertices in N G (v) are contained in S. We have u ∈ N G (v) and thereby u ∈ S \ f −1 (2) or v ∈ S \ f −1 (2). As e was an arbitrary edge in E(G ) we conclude that S \ f −1 (2) is a vertex cover in G .
Clearly all steps of the algorithm, except possibly the call to MINVERTEXCOVER can be implemented to run in polynomial time. Now that we know how to find a color respecting SD-set on connected graphs without a cutvertex we focus on minimum size SD-sets in a general graph G. As already described in Explanation 9 we make use of the tree structure of the block graph of G. In particular, we do not consider the whole graph G at once but successively work with endpoints of the block graph and their connection vertex. Since we have to make some adjustments to the used coloring during the algorithm we need further notation to make the arguments more clear and formally correct.  Algorithm 2 shows a pseudo code version of the complete procedure. Within the algorithm we use the algorithm CRSDS and the black box algorithm GETENDPOINT. The latter one takes as input a graph G that is not 2-connected and returns an endpoint B of the block graph of G and the parent v ∈ B of the endpoint B in the block graph. Note that if a vertex in V (B) is simultaneously dominated in B, then this vertex is simultaneously dominated in G by Theorem 3. Therefore, a color respecting simultaneous dominating set in B suffices to ensure that every vertex in V (B) \ {v} with color 0 is simultaneously dominated in G. We save the current color of v and compute a color respecting simultaneous dominating set in B for every possible color of v. We use the color respecting simultaneous dominating set in B, which is the smallest among the three possibilities, where ties are broken by the best coverage of v. Afterwards, we delete B − v from G and continue with the remaining graph. Before we formally prove the correctness of Algorithm 2 and discuss its running time, we prove two lemmas, which make life easier in the proof of the algorithm.
Lemma 13 shows that if we only change one color in a coloring of a connected graph G without a cutvertex, then the size of a minimum color respecting SD-set changes at most by one.
Lemma 13. Let G be a connected graph without a cutvertex, v ∈ V (G) a fixed vertex in G and f : V (G) → {2, 1, 0} some coloring. Then the following two statements hold: Proof. First we show that every f v=0 -respecting SD-set S is also f v=1 -respecting. Clearly we is simultaneously dominated by S and S is also f v=1 -respecting. With similar arguments we get that any f v=2 -respecting SD-set is also f v=0 -respecting. These two small observations directly imply 13.(i).
To see that 13.(ii) holds, let S v=1 be a minimum f v=1 -respecting SD-set. Then S v=1 ∪ {v} is f v=2 -respecting, as . This already implies that the minimum f v=2 -respecting SD-set has at most one element more than S v=1 . The next lemma justifies how the algorithm combines such a color respecting SD-set of an endpoint and one of the rest of the graph to obtain a color respecting SD-set for the whole graph G. For better readability we abuse notation in Lemma 14 and Theorem 15 and write G − H instead of G − V (H). As we only use this in these two statements we do not introduce this notation formally.

Algorithm 2: Computing a color respecting SD-set of minimum size
Input: A connected graph G and a coloring f : V (G) → {2, 1, 0} Output: An f -respecting SD-set of minimum size in Let G be a graph with some coloring f : V (G) → {2, 1, 0} and H be some endpoint of G with connection vertex v ∈ V (G) and let H = H − v. Then the following three statements hold: is a minimum f -respecting simultaneous dominating set in G.
is a minimum f -respecting simultaneous dominating set in G. 1}) is a minimum f -respecting simultaneous dominating set in G.
Proof. It is easy to see that all claimed sets are f -respecting simultaneous dominating sets in G, we now focus on their minimality. To this end let S be a minimum f -respecting simultaneous dominating set in G. We If v is not simultaneously dominated, then by S ∩ V (H ) we are done, therefore assume v is simultaneously dominated by S ∩ V (H ) and hence

Both cases then imply |S| ≥ |S
Then |S | ≤ |S| and S is still simultaneously dominating with respect to f . Furthermore, it holds that |S \ V (H)| ≥ S G−H v=best({f (v),1}) and we get which implies the desired result.
Now we show that the algorithm works in fact as desired and argue about the running time. Before we start with the proof note that this running time is also called oracle polynomial given the oracle CRSDS. As oracle algorithms are not our focus and we just use it here we do not formally introduce this form of algorithms.
Proof. The proof of correctness can be regarded as a direct consequence of Lemma 14. Nevertheless, we give a formal proof here for the sake of completeness. To this end, note that Algorithm 2 can be regarded as a recursive algorithm, where in each step one endpoint except its connection vertex is cut off the graph. We do induction on the number of blocks of G. If G is connected and has no cutvertex the claim trivially holds. So let H be an endpoint of G with connection vertex v and set H = H − v. In the algorithm we now compute S H v=i for i ∈ {2, 1, 0}. By Lemma 13 the three case distinction made in the algorithm (concerning the sizes of these sets) are the only cases that may occur. The algorithm now handles the cases as follows:  (v),1}) , which is a minimum f -respecting simultaneous dominating set in G by Lemma 14.
As we can see in all considered cases the algorithm correctly computes a minimum f -respecting simultaneous dominating set in G.
Considering the running time of Algorithm 2, note that we can find all blocks in linear time, cf. [13]. With a small adjustment of the usual lowpoint algorithm by Hopcroft and Tarjan [13] we can get the blocks in an order such that each time we regard the next component it is an endpoint of the remaining graph. Doing this as a preprocessing step, each call to GETENDPOINT takes constant time and the deletion of H is done implicitly. In each iteration, besides the three calls to CRSDS we only do steps that can be realized in polynomial time, thus, if CRSDS can be implemented to run in polynomial time so can Algorithm 2.

Simultaneous dominating sets on Special Graph Classes
In this section we focus on simultaneous dominating sets on special graph classes. In particular, we present some classes, where we can solve SIMULTANEOUSDOMINATINGSET in polynomial time. From Theorem 15 and Theorem 11 we get the following theorem: We now regard some graph classes, where Theorem 16 is applicable: Bipartite Graphs. Recall that a graph G is bipartite if its vertex set can be partitioned into two sets, such that no edge of G is between vertices in the same set of the partition. It is easy to see that bipartite graphs are hereditary, i.e., every induced subgraph is again bipartite. Even if we delete edges in the graph it remains bipartite. With the help of König's Theorem [19] and a maximum flow algorithm (for example the Hopcroft-Karp algorithm [13]) we can compute a minimum size vertex cover for bipartite graphs in polynomial time. By Theorem 16 Algorithm 2 solves SIMULTANEOUSDOMINATINGSET on bipartite graphs in polynomial time.
Graphs of Bounded Treewidth. For a fixed κ ∈ N regard the class H of graphs of treewidth at most κ. We can find a tree decomposition of graphs in H in linear time, cf. [4]. Arnborg and Proskurowski showed in [1] that a vertex cover of minimum size can be computed for a graph of bounded treewidth and given tree decomposition in linear time. As deleting vertices or edges does not increase the treewidth, by Theorem 16 we can compute an SD-set of minimum size in polynomial time for graphs from H.
Wit bipartite graphs and graphs of bounded treewidth we saw two classes of graphs where H = H in Theorem 16. Next we consider the class of graphs where this is not the case and therefore the proof that we can apply Theorem 16 is a bit more involved.
Chordal Graphs. Recall that a graph G is chordal if any cycle of G with length at least 4 contains a chord, i.e., an edge between non subsequent edges in C. Also note that chordal graphs are perfect, cf. [8]. Chordal graphs are hereditary but if we delete edges in a chordal graph, it is possible that the resulting graph is not chordal anymore. However, with the help of the Strong Perfect Graph Theorem, cf. Theorem 6 or [6], we can show that the graph after the edge deletion done in Algorithm 1 is perfect. In perfect graphs we can compute a minimum size vertex cover in polynomial time, cf. [19]. This leads to a polynomial-time algorithm for solving SIMULTANEOUSDOMINATINGSET on chordal graphs by Theorem 16.
It remains to show that for chordal graphs the graph obtained after the edge deletion is perfect. To do so we use the Strong Perfect Graph Theorem, cf. Theorem 6 or [6] and show that the obtained graph does not contain an odd hole nor an odd anti hole. Then G is perfect.
Proof. Assume G has an odd hole C 2k+1 . At most k vertices of C 2k+1 can be in I since I is an independent set in G . Hence, there are two consecutive vertices on C 2k+1 which are not in I. Since these two vertices do not have a common neighbor in C 2k+1 and only edges between vertices of I are deleted there exits a cycle in G of length at least four that is contained in G but has no chord. In this case G is not chordal which contradicts the assumptions and hence G cannot have an odd hole. Now assume that G has an odd antiholeC 2k+1 , where C 2k+1 = u 1 . . . u 2k+1 u 1 . We claim that the subgraph of G induced by {u 1 , . . . , u 2k+1 } has exactly one additional edge in comparison to the subgraphC 2k+1 of G . Otherwise if there is no additional edge in G[{u 1 , . . . , u 2k+1 }], then it follows that G[{u 1 , . . . , u 2k+1 }] =C 2k+1 since no edge is deleted but this contradicts the assumption that G is chordal and hence perfect. If there are two or more additional edges, then at least three of the vertices are in I. Since all the edges between the vertices in I are deleted, C 2k+1 cannot be an odd antihole in G . So assume that the additional edge is between u 2 and u 3 in G[{u 1 , . . . , u 2k+1 }] and thus, these two vertices are the only vertices of V (C 2k+1 ) in I. Then the cycle C = (u 2 , u 3 , u 1 , u 4 , u 2 ) is contained in G and has length four but no chord. Again this contradicts the assumption that G is chordal and hence G has no odd antihole.
The claim follows by the Strong Perfect Graph Theorem, cf. Theorem 6 or [6].
This lemma shows that for a chordal graph the graph obtained after the edge deletion of Algorithm 1 is perfect. We get the following corollary from Theorem 16: Corollary 18. In bipartite graphs, chordal graphs and graphs of bounded treewidth we can compute a minimum size simultaneous dominating set in polynomial time.
At this point we refer to Theorem 7 again which states that SIMULTANEOUSDOMINATINGSET is NP-complete when restricted to perfect graphs. This shows that even though VERTEXCOVER is solvable in polynomial time on perfect graphs, Theorem 16 is not applicable to this class.

A 2-Approximation Algorithm for SIMULTANEOUSDOMINATINGSET
For MINVERTEXCOVER there is an easy 2-approximation algorithm using maximal matchings, cf. [8]. Together with the result of Theorem 8 we directly obtain a 4-approximation for MINSI-MULTANEOUSDOMINATINGSET. However, we can do better. In this section we show that there is a 2-approximation algorithm for MINSIMULTANEOUSDOMINATINGSET. The following idea is deduced from another 2-approximation algorithm for VERTEXCOVER using LP-relaxation of the IP-formulation of the problem, cf. [19]. However, it is more involved than the approximation for VERTEXCOVER and therefore worth to be described in detail. We begin by formulating an inter program for MINSIMULTANEOUSDOMINATINGSET and prove its correctness. Then, we use the solution of its LP-relaxation to obtain an integral solution of at most twice the optimal objective function value of the LP and thus at most twice the optimal objective function value of the IP.
(IP 4) describes MINSIMULTANEOUSDOMINATINGSET for a connected graph G. Let CV be the set of cutvertices in G and NCV := V (G) \ CV. For every v ∈ CV we denote by B v the set of blocks of G that contain the vertex v. In a solution the variable x v states if a vertex v is in the SD-set or not. The variable y v,B is only used if v is a cutvertex and states if v is simultaneously dominated by the block B.

(IP 4) min
x, y v∈V (G) x v (4a) is an SD-set of minimum size if and only if there is a y such that (x, y) is an optimal solution for (IP 4).
Proof. The lemma follows if we show that the set S = {v ∈ V (G) : x v = 1} is an SD-set if and only if there is a y such that (x, y) is a feasible solution of (4b)-(4e). First let (x, y) be a feasible solution for (4b)-(4e) and let S = {v ∈ V (G) : x v = 1}. Note that by (4e) the entries in x v and y v,B are only 0 or 1. By (4b) we have for every non-cutvertex that either itself or all its neighbors are in S and thus condition (i) of Theorem 3 is fulfilled. Condition (4d) makes sure that every cutvertex v is in S or for at least one block B containing v that y v,B has value 1. Hence, together with (4c) all neighbors of v in B are in S. This implies (ii) of Theorem 3 and hence it follows that S is a SD-set. Now assume that S is a SD-set. Set x v = 1 if v ∈ S and x v = 0 otherwise. For every cutvertex v we have that v itself is in S or it is simultaneously dominated, i.e., there is a block B containing v such that all neighbors of v in B are in S. We set y v,B = 1 if and only if the latter case is true. This immediately shows that (4c) and (4d) are fulfilled. Condition (4b) is also satisfied by condition (i) of Theorem 3. This shows that (x, y) is a feasible solution of (4b)-(4e).
Next consider the LP-relaxation: Let (x, y) be an optimal solution for (LP 5). We construct a new solution (x , y ) that is integral in the end and at most doubles the objective function value of (x, y).
The idea is to round at least one variable in (5b) up so (4b) is fulfilled. It remains to ensure that (4c) and (4d) are satisfied for the cutvertices in G. To do so we use the block graph T of G. We regard the cutvertices of G bottom up in the tree T and if necessary round up the x-variable of the cutvertex itself, while decreasing some x-values of neighbors of the cutvertex in order to maintain the approximation quality. During all rounding steps we ensure that the current solution remains feasible for (LP 5) such that after making all variables integral the resulting solution automatically induces an SD-set. Further, any variable that is at some point set to 1 is never changed again, implying that only fractional variables are rounded down.

First Rounding
Step:. For all v ∈ V (G) set x v := 1 if x v ≥ 1 2 and otherwise x v := x v . Moreover, for each cutvertex v and each block B with v ∈ V (B) we set Whenever we make a change to a variable x in any rounding step we update all respective variables y and thus assume that (6) remains valid throughout the procedure. After the first rounding step, all constraints (4b) are already fulfilled as by (5b) one of the two variables is greater or equal to 1 2 . Since we never decrease a variable with value 1 this does not change during the preceding rounding steps. Further, note that all variables now have a value of 1 or less than 1 2 . We keep this invariant throughout the remaining rounding steps. Now regard the block graph T of G and root it at any cutvertex. It is easily observed that we may now recursively choose a cutvertex v such that all descendants of v in T that are cutvertices have already been regarded. If for some block B containing v we have y v,B ≥ 1 2 , then by (6) it holds that y v,B = 1, which implies that the vertex v is simultaneously dominated by block B and we can safely go to the next cutvertex. So assume that y v,B < 1 2 for all blocks containing v. We denote by B the parent of v in T and by B 1 , . . . , B k its children. As y v,B < 1 2 , by constraint (5c) it holds that For every i = 1, . . . , k there exists some node u i fulfilling x u i = y v,B i by (6). We can use these vertices to define our next rounding step.

Second Rounding
Step. For every cutvertex v moving bottom up in the block graph T of G, test if y v,B ≥ 1 2 for some block B containing v. If none such block exists, set x v = 1 and x u i = 0 for all i = 1, . . . , k.
Note that after each of these rounding steps if we increase x v we may safely set y v,B i to 0, as the constraint (4d) is satisfied due to x v = 1. Thus, all constraints (4c) corresponding to the cutvertex v are satisfied after the rounding step. Further, decreasing variables that have value less than 1 2 does not violate any constraint, as all constraints corresponding to vertices in the children of v are satisfied solely by variables that are already set to 1. With these arguments we can be sure that after any second rounding step, the solution remains feasible. Note that it is possible that we have to update some y variables, as we changed the value of some x variables and the minimum in (6) may have changed.
We argue later that these rounding steps do not increase the objective value of the current solution too much.

Third Rounding
Step. After iterating through all cutvertices we set all remaining fractional variables to 0. Theorem 20. The described algorithm is a 2-approximation algorithm for MINSIMULTANEOUS-DOMINATINGSET and runs in polynomial time.
Proof. First we show that the objective value of (x , y ) is at most twice the optimal objective value of (IP 4). In every first or second rounding step we replace the value of a subset of variables, which have summed up value at least 1 2 , by the value 1. This clearly implies that the defined solution has objective value at most twice the objective value of the optimal LP solution.
We now show that (x , y ) is a feasible solution for (IP 4). All entries in x and y are integral. In (5b) x u or x v was greater or equal to 1 2 and hence x u or x v was set to 1. We do not decrease it later on, so (4b) is satisfied. Moreover, we made sure that for every cutvertex v at least one of the variables x v or y v,B for some block B containing v equals 1 and hence, (4d) is fulfilled. Condition (4c) is also satisfied since we set y v,B only to 1 if all the corresponding x u equal 1 otherwise we set it to 0.
This shows that (x , y ) is a feasible solution for (IP 4) that has at most twice the value of the objective function value of an optimal solution of (LP 5) and hence, of (IP 4).
We need polynomial time to set up and solve (LP 5), cf. [19]. All rounding steps can be implemented to run in polynomial time.

Conclusion
We considered the problem of simultaneously dominating every spanning tree in a graph. We proved that in a 2-connected graph a subset of the vertices is a simultaneous dominating set if and only if it is a vertex cover. Although finding a minimum vertex cover and finding a minimum simultaneous dominating set is thereby strongly related, crucial differences remain. On the one hand we proved that the size of a minimum simultaneous dominating set and the size of a minimum vertex cover may differ by a factor of 2 and that this bound is tight. On the other hand, we proved that SIMULTANEOUSDOMINATINGSET is NP-complete on perfect graphs, whereas VERTEXCOVER is polynomial time solvable. This also implies that SIMULTANEOUSDOMINATINGSET is solvable in polynomial time on 2-connected, perfect graphs. Afterwards, we presented an algorithm that solves SIMULTANEOUSDOMINATINGSET by decomposing it into smaller subproblems that can be solved by some preprocessing and an oracle for the MINVERTEXCOVER. We argued that the algorithm can be implemented to run in linear time, when the input graph is restricted to bipartite graphs, chordal graphs, or graphs of bounded treewidth. Finally, we presented a 2-approximation based on LP-rounding.