Dominating set

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For Dominator in control flow graphs, see Dominator (graph theory).
Dominating sets (red vertices).

In graph theory, a dominating set for a graph G = (VE) is a subset D of V such that every vertex not in D is adjacent to at least one member of D. The domination number γ(G) is the number of vertices in a smallest dominating set for G.

The dominating set problem concerns testing whether γ(G) ≤ K for a given graph G and input K; it is a classical NP-complete decision problem in computational complexity theory (Garey & Johnson 1979). Therefore it is believed that there is no efficient algorithm that finds a smallest dominating set for a given graph.

Figures (a)–(c) on the right show three examples of dominating sets for a graph. In each example, each white vertex is adjacent to at least one red vertex, and it is said that the white vertex is dominated by the red vertex. The domination number of this graph is 2: the examples (b) and (c) show that there is a dominating set with 2 vertices, and it can be checked that there is no dominating set with only 1 vertex for this graph.

History[edit]

As Hedetniemi & Laskar (1990) note, the domination problem was studied from the 1950s onwards, but the rate of research on domination significantly increased in the mid-1970s. Their bibliography lists over 300 papers related to domination in graphs.

Bounds[edit]

Let G be a graph with n ≥ 1 vertices and let Δ be the maximum degree of the graph. The following bounds on γ(G) are known (Haynes, Hedetniemi & Slater 1998a, Chapter 2):

  • One vertex can dominate at most Δ other vertices; therefore γ(G) ≥ n/(1 + Δ).
  • The set of all vertices is a dominating set in any graph; therefore γ(G) ≤ n.
  • If there are no isolated vertices in G, then there are two disjoint dominating sets in G; see domatic partition for details. Therefore in any graph without isolated vertices it holds that γ(G) ≤ n/2.

Independent domination[edit]

Dominating sets are closely related to independent sets: an independent set is also a dominating set if and only if it is a maximal independent set, so any maximal independent set in a graph is necessarily also a minimal dominating set. Thus, the smallest maximal independent set is also the smallest independent dominating set. The independent domination number i(G) of a graph G is the size of the smallest independent dominating set (or, equivalently, the size of the smallest maximal independent set).

The minimum dominating set in a graph will not necessarily be independent, but the size of a minimum dominating set is always less than or equal to the size of a minimum maximal independent set, that is, γ(G) ≤ i(G).

There are graph families in which a minimum maximal independent set is a minimum dominating set. For example, Allan & Laskar (1978) show that γ(G) = i(G) if G is a claw-free graph.

A graph G is called a domination-perfect graph if γ(H) = i(H) in every induced subgraph H of G. Since an induced subgraph of a claw-free graph is claw-free, it follows that every claw-free graphs is also domination-perfect (Faudree, Flandrin & Ryjáček 1997).

Examples[edit]

Figures (a) and (b) are independent dominating sets, while figure (c) illustrates a dominating set that is not an independent set.

For any graph G, its line graph L(G) is claw-free, and hence a minimum maximal independent set in L(G) is also a minimum dominating set in L(G). An independent set in L(G) corresponds to a matching in G, and a dominating set in L(G) corresponds to an edge dominating set in G. Therefore a minimum maximal matching has the same size as a minimum edge dominating set.

Algorithms and computational complexity[edit]

There exists a pair of polynomial-time L-reductions between the minimum dominating set problem and the set cover problem (Kann 1992, pp. 108–109). These reductions (see below) show that an efficient algorithm for the minimum dominating set problem would provide an efficient algorithm for the set cover problem and vice versa. Moreover, the reductions preserve the approximation ratio: for any α, a polynomial-time α-approximation algorithm for minimum dominating sets would provide a polynomial-time α-approximation algorithm for the set cover problem and vice versa.

The set cover problem is a well-known NP-hard problem – the decision version of set covering was one of Karp's 21 NP-complete problems, which were shown to be NP-complete already in 1972. Hence the reductions show that the dominating set problem is NP-hard as well.

The approximability of set covering is also well understood: a logarithmic approximation factor can be found by using a simple greedy algorithm, and finding a sublogarithmic approximation factor is NP-hard. More specifically, the greedy algorithm provides a factor 1 + log |V| approximation of a minimum dominating set, and Raz & Safra (1997) show that no algorithm can achieve an approximation factor better than c log |V| for some c > 0 unless P = NP.

L-reductions[edit]

The following pair of reductions (Kann 1992, pp. 108–109) shows that the minimum dominating set problem and the set cover problem are equivalent under L-reductions: given an instance of one problem, we can construct an equivalent instance of the other problem.

From dominating set to set covering. Given a graph G = (VE) with V = {1, 2, ..., n}, construct a set cover instance (SU) as follows: the universe U is V, and the family of subsets is S = {S1, S2, ..., Sn} such that Sv consists of the vertex v and all vertices adjacent to v in G.

Now if D is a dominating set for G, then C = {Sv : v ∈ D} is a feasible solution of the set cover problem, with |C| = |D|. Conversely, if C = {Sv : v ∈ D} is a feasible solution of the set cover problem, then D is a dominating set for G, with |D| = |C|.

Hence the size of a minimum dominating set for G equals the size of a minimum set cover for (SU). Furthermore, there is a simple algorithm that maps a dominating set to a set cover of the same size and vice versa. In particular, an efficient α-approximation algorithm for set covering provides an efficient α-approximation algorithm for minimum dominating sets.

Dominating-set-2.svg
For example, given the graph G shown on the right, we construct a set cover instance with the universe U = {1, 2, ..., 6} and the subsets S1 = {1, 2, 5}, S2 = {1, 2, 3, 5}, S3 = {2, 3, 4, 6}, S4 = {3, 4}, S5 = {1, 2, 5, 6}, and S6 = {3, 5, 6}. In this example, D = {3, 5} is a dominating set for G – this corresponds to the set cover C = {S3S5}. For example, the vertex 4 ∈ V is dominated by the vertex 3 ∈ D, and the element 4 ∈ U is contained in the set S3 ∈ C.

From set covering to dominating set. Let (SU) be an instance of the set cover problem with the universe U and the family of subsets S = {Si : i ∈ I}; we assume that U and the index set I are disjoint. Construct a graph G = (VE) as follows: the set of vertices is V = I ∪ U, there is an edge {ij} ∈ E between each pair ij ∈ I, and there is also an edge {iu} for each i ∈ I and u ∈ Si. That is, G is a split graph: I is a clique and U is an independent set.

Now if C = {Si : i ∈ D} is a feasible solution of the set cover problem for some subset D ⊆ I, then D is a dominating set for G, with |D| = |C|: First, for each u ∈ U there is an i ∈ D such that u ∈ Si, and by construction, u and i are adjacent in G; hence u is dominated by i. Second, since D must be nonempty, each i ∈ I is adjacent to a vertex in D.

Conversely, let D be a dominating set for G. Then it is possible to construct another dominating set X such that |X| ≤ |D| and X ⊆ I: simply replace each u ∈ D ∩ U by a neighbour i ∈ I of u. Then C = {Si : i ∈ X} is a feasible solution of the set cover problem, with |C| = |X| ≤ |D|.

Dominating-set-reduction.svg
The illustration on the right shows the construction for U = {abcde}, I = {1, 2, 3, 4}, S1 = {abc}, S2 = {ab}, S3 = {bcd}, and S4 = {cde}.
In this example, C = {S1S4} is a set cover; this corresponds to the dominating set D = {1, 4}.
D = {a, 3, 4} is another dominating set for the graph G. Given D, we can construct a dominating set X = {1, 3, 4} which is not larger than D and which is a subset of I. The dominating set X corresponds to the set cover C = {S1S3S4}.

Special cases[edit]

If the graph has maximum degree Δ, then the greedy approximation algorithm finds an O(log Δ)-approximation of a minimum dominating set. The problem admits a PTAS for special cases such as unit disk graphs and planar graphs (Crescenzi et al. 2000). A minimum dominating set can be found in linear time in series-parallel graphs (Takamizawa, Nishizeki & Saito 1982).

Exact algorithms[edit]

A minimum dominating set of an n-vertex graph can be found in time O(2nn) by inspecting all vertex subsets. Fomin, Grandoni & Kratsch (2009) show how to find a minimum dominating set in time O(1.5137n) and exponential space, and in time O(1.5264n) and polynomial space. A faster algorithm, using O(1.5048n) time was found by van Rooij, Nederlof & van Dijk (2009), who also show that the number of minimum dominating sets can be computed in this time. The number of minimal dominating sets is at most 1.7159n and all such sets can be listed in time O(1.7159n) (Fomin et al. 2008) .

Parameterized complexity[edit]

Finding a dominating set of size k plays a central role in the theory of parameterized complexity. It is the most well-known problem complete for the class W[2] and used in many reductions to show intractability of other problems. In particular, the problem is not fixed-parameter tractable in the sense that no algorithm with running time f(k)nO(1) for any function f exists unless the W-hierarchy collapses to FPT=W[2]. On the other hand, if the input graph is planar, the problem remains NP-hard, but a fixed-parameter algorithm is known. In fact, the problem has a kernel of size linear in k (Alber, Fellows & Niedermeier 2004), and running times that are exponential in √k and cubic in n may be obtained by applying dynamic programming to a branch-decomposition of the kernel (Fomin & Thilikos 2006).

Variants[edit]

Vizing's conjecture relates the domination number of a cartesian product of graphs to the domination number of its factors.

There has been much work on connected dominating sets. If S is a connected dominating set, one can form a spanning tree of G in which S forms the set of non-leaf vertices of the tree; conversely, if T is any spanning tree in a graph with more than two vertices, the non-leaf vertices of T form a connected dominating set. Therefore, finding minimum connected dominating sets is equivalent to finding spanning trees with the maximum possible number of leaves.

A total dominating set is a set of vertices such that all vertices in the graph (including the vertices in the dominating set themselves) have a neighbor in the dominating set. Figure (c) above shows a dominating set that is a connected dominating set and a total dominating set; the examples in figures (a) and (b) are neither.

A k-tuple dominating set is a set of vertices such that each vertex in the graph has at least k neighbors in the set.

A domatic partition is a partition of the vertices into disjoint dominating sets. The domatic number is the maximum size of a domatic partition.

Software for searching minimum dominating set[edit]

Name
(alphabetically)
License API language Brief info
OpenOpt [[BSD]] Python Uses NetworkX graphs, can use free and commercial solvers, included / excluded vertices, see its dominating set page for details and examples

See also[edit]

References[edit]