In graph theory, a dominating set for a graph G is a subset D of its vertices, such that any vertex of G is in D, or has a neighbor in 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. Therefore it is believed that there may be no efficient algorithm that can compute γ(G) for all graphs G. However, there are efficient approximation algorithms, as well as efficient exact algorithms for certain graph classes. Dominating sets are of practical interest in several areas. In wireless networking, dominating sets are used to find efficient routes within ad-hoc mobile networks. They have also been used in document summarization, and in designing secure systems for electrical grids. 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.
Formal definition Given an undirected graph G = (V, E), a subset of vertices D ⊆ V {\displaystyle D\subseteq V} is called a dominating set if for every vertex u ∈ V ∖ D {\displaystyle u\in V\setminus D} , there is a vertex v ∈ D {\displaystyle v\in D} such that { u , v } ∈ E {\displaystyle \{u,v\}\in E} . Every graph has at least one dominating set: if D = V = {\displaystyle D=V=} the set of all vertices, then by definition D is a dominating set, since there is no vertex u ∈ V ∖ D {\displaystyle u\in V\setminus D} . A more interesting challenge is to find small dominating sets. The domination number of G is defined as: γ ( G ) := min { | D | : D is a dominating set of G } {\displaystyle \gamma (G):=\min\{|D|:D{\text{ is a dominating set of }}G\}} .
History The domination problem was studied from the 1950s onwards, but the rate of research on domination significantly increased in the mid-1970s. In 1972, Richard Karp proved the set cover problem to be NP-complete. This had immediate implications for the dominating set problem, as there are straightforward vertex to set and edge to non-disjoint-intersection bijections between the two problems. This proved the dominating set problem to be NP-complete as well.
Algorithms and computational complexity 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. There exist a pair of polynomial-time L-reductions between the minimum dominating set problem and the set cover problem. 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. Both problems are in fact Log-APX-complete. 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 no polynomial time algorithm can achieve an approximation factor better than c log|V| for some c > 0 unless P = NP.
L-reductions The following two reductions show 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 = (V, E) with V = {1, 2, ..., n}, construct a set cover instance (U, S) 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 (U, S). 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.
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 = {S3, S5}. 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.
… excerpt ends here. Continue reading the full article.




