Next Article in Journal
Univariate Outlier Detection: Precision-Driven Algorithm for Single-Cluster Scenarios
Previous Article in Journal
NSBR-Net: A Novel Noise Suppression and Boundary Refinement Network for Breast Tumor Segmentation in Ultrasound Images
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Approximating a Minimum Dominating Set by Purification

by
Ernesto Parra Inza
1,
Nodari Vakhania
1,*,
José María Sigarreta Almira
2 and
José Alberto Hernández-Aguilar
3
1
Centro de Investigación en Ciencias, Universidad Autónoma del Estado de Morelos, Cuernavaca 62209, Morelos, Mexico
2
Facultad de Matemáticas, Universidad Autónoma de Guerrero, Acapulco de Juárez 39650, Guerrero, Mexico
3
Facultad de Contaduría, Administración e Informática, Universidad Autónoma del Estado de Morelos, Cuernavaca 62209, Morelos, Mexico
*
Author to whom correspondence should be addressed.
Algorithms 2024, 17(6), 258; https://doi.org/10.3390/a17060258
Submission received: 14 May 2024 / Revised: 31 May 2024 / Accepted: 11 June 2024 / Published: 12 June 2024
(This article belongs to the Section Combinatorial Optimization, Graph, and Network Algorithms)

Abstract

:
A dominating set of a graph is a subset of vertices such that every vertex not in the subset has at least one neighbor within the subset. The corresponding optimization problem is known to be NP-hard. It is proved to be beneficial to separate the solution process in two stages. First, one can apply a fast greedy algorithm to obtain an initial dominating set and then use an iterative procedure to purify (reduce) the size of this dominating set. In this work, we develop the purification stage and propose new purification algorithms. The purification procedures that we present here outperform, in practice, the earlier known purification procedure. We have tested our algorithms for over 1300 benchmark problem instances. Compared to the estimations due to known upper bounds, the obtained solutions are about seven times better. Remarkably, for the 500 benchmark instances for which the optimum is known, the optimal solutions are obtained for 46.33% of the tested instances, whereas the average error for the remaining instances is about 1.01.

1. Introduction

In a simple connected graph G = ( V , E ) with | V | = n vertices and | E | = m edges, a subset of vertices S V is a dominating set in graph G if any vertex v V is adjacent to some vertex from this subset unless vertex v itself belongs to set S. The general objective is to find an optimal solution, a dominating set with the minimum possible size γ ( G ) . The domination problem is known to be NP-hard [1], being among the hardest problems in the family. It is closely related to other well-known graph optimization problems such as set cover, graph coloring and independent set. The problem of domination in graphs was formalized in [2,3]. Currently, this topic has been detailed in the two well-known books by [4,5]. The theory of domination in graphs is an area of increasing interest in discrete mathematics and combinatorial computing, in particular, because of a number of important real-life applications, for example, in facility location problems in street networks [5,6,7], in monitoring electric power systems with the aim of minimizing stage measurement units [8], in electric power networks [9], and in the analysis of food web robustness [10]. Different versions of the graph domination problem have been utilized to model clustering in wireless ad hoc networks [11,12,13,14]. A number of other important graph-theoretic problems including set cover, maximum independent set and chromatic number are reducible to the dominance problem [5]. Dominating sets also find applications in the study of social networks [15,16,17].
Due to the complexity of the problem, major efforts have been made towards the development of heuristic algorithms. Among the earliest related works, we can mention that of Chvatal [18], who described an approximation algorithm with an approximation ratio ln n γ + 1 + 1 γ for the related weighted set cover problem; here and later, γ is the optimal objective value. Iteratively, the algorithm selects a vertex v minimizing w v f ( C { v } ) f ( C ) , where w v is the weight of vertex v, and f ( C ) = | v C N [ v ] | until f ( C ) = | S | . Adopting this algorithm, Parekh [19] solved the domination problem showing that the cardinality of the dominating set created by his algorithm is upper-bounded by n + 1 2 m + 1 . Later, Eubank et al. [20] and Campan et al. [21] presented heuristic algorithms designed for special types of graphs estimating the performance of their algorithms solely with an experimental study. Recently, [22] described a heuristic algorithm with a better performance.
Little work has been carried out in the development of exact algorithms. To the best of our knowledge, the only exact algorithms which do better than a complete enumeration are described in [23,24,25]. In [23,24], the authors show that their algorithms run in times O ( 1 . 4969 n ) and O ( 1 . 4689 n ) , respectively, without presenting experimental evidence of the practical performance of their algorithms. Although these bounds are notably better than 2 n , they remain too impractical. Quite recently, in [25], two exact algorithms, an implicit enumeration algorithm and an alternative integer linear programming (ILP) formulation were proposed. The authors also described an approximation algorithm. On the one hand, it gave solutions of notably better quality than the previously known approximation algorithms for the benchmark instances with up to 2100 vertices, some of them being solved in less than 1 min. The algorithm found an optimal solution for 61.54% of these instances. On the other hand, it failed to create solutions within a reasonable time limit for the graphs with 3000 and more vertices. In contrast, for large-scale practical problems, the heuristic from [22] gave solutions within the time limit of 50 s for graphs with up to 14,000 vertices.
Relying on the framework of the heuristic from [22], here, we propose new procedures that improve the quality of solutions for large-scaled instances. The heuristic works in two stages. In stage 1, a dominant set is generated, and in stage 2, it is purified, i.e., its size is reduced. The purification process is achieved through the analysis of the flowchart of stage 1, combined with a special kind of clustering of the dominating set of stage 1. A cluster exploits the special structural relationship between the vertices of a dominating set, which can beneficially be used during its purification process. Exploring the structural properties of a dominating set, we propose a new method for a more beneficial analysis of the structure of a dominating set. We present four different purification procedures, all of them outperforming, in practice, the earlier known purification procedure from [22]. For over 1300 benchmark problem instances [26], the improvement is about 10%, on average. Compared to the estimations due to the known upper bounds, the obtained solutions, on average, are about seven times better, resulting in a reduction of 85.71% of the value of the best of these upper bounds. For the 500 benchmark instances where the optimum is known (see [25,26]), at least one of the new purification procedures obtains an optimal solution for 46.33% of the instances, whereas the average error for the remained instances is 1.01.
The outline of the remaining part of the paper is as follows. In the following Section 2, we describe the necessary preliminaries. In Section 3, we give our clustering procedure. Section 4 details the four purification procedures. In Section 5, we present the approximation ratios, and in Section 6, we report our experimental results. We give some final remarks in Section 7.

2. Preliminaries

A formal description of our domination problem is as follows. Given a simple connected graph G = ( V , E ) with | V | = n vertices and | E | = m edges, a subset of vertices S V is a dominating set in graph G if any vertex v V is adjacent to some vertex x from this subset (i.e., there is an edge ( v , x ) E ) , unless vertex v itself belongs to set S. The objective is to find a feasible solution with the minimum possible size γ ( G ) .
Given a vertex v V , N ( v ) is the set of neighbors or the open neighborhood of v in G, that is, N ( v ) = { u V : ( u , v ) E } , we denote by δ G ( v ) = | N ( v ) | the degree of vertex v in G. We let δ G = min v V { δ ( v ) } and Δ G = max v V { δ ( v ) } . The private neighborhood of vertex v S V is defined by { u V : N ( u ) S = { v } } ; a vertex in the private neighborhood of vertex v is said to be its private neighbor with respect to set S. For further details on the basic graph terminology, see [5].
In [22], a dominating set is formed in two stages. At the first stage, an initial dominating set S = { v 1 , , v k } is created by a fast greedy algorithm, where v i stands for the vertex included at iteration i of this greedy algorithm. At the second purification stage, a special iterative procedure is applied to reduce the initial dominating set. This iterative procedure will be referred to as the purification procedure 0, abbreviated P0. It is based on the analysis of the flowchart of the greedy algorithm, represented as a special kind of spanning forest T of the original graph G and consisting of the vertices of set S. This forest is the union of the so-called clusters that organize vertices from set S in special graphical structures. These structures are formed at the first stage of our algorithm, while the greedy algorithm generates set S. Clusters represent important dependencies in the dominant set that allows its purification in different ways. In particular, the order in which the vertices of each cluster are purified is important and affects the outcome of the purification process. A cluster can be seen as a specific type of spanning forest of the initial graph G. Different clustering methods yield a collection of different types of rooted trees. By a traversal of these trees, we will purify the initial dominating set at stage 2. Different combinations of a particular clustering and traversal/purification method result in different overall purification algorithms of different efficiency.
In the following sections, we describe different tree traversal methods starting with a formal definition of a cluster in the next section. Then, we describe how we carry out the purification process during a traversal of each cluster. We combine different clustering and traversal methods and obtain different purification procedures.

3. Stage 1: The Clustering

As briefly noted, the cluster C i is a rooted tree, a sub-graph of graph G associated with some connected component of the graph induced by set S. Initially, a set of clusters, C 1 , , C l , form a partition of set S. We denote the union of these trees by T. In a cluster, the vertices of each connected component can be represented in different ways as trees. During the traversal of these trees, special conditions are verified, and some vertices are omitted (purified).
We generate the clusters during the construction of the initial dominating set S. This construction is based on the greedy procedure from [22], further referred to as Greedy. It works in a number of iterations, which is upper-bounded by n. At each iteration h 1 , one specially selected vertex, denoted by v h , is added to the dominant set S h 1 of the previous iteration, i.e., S h : = S h 1 { v h } , where initially S 0 = . S h 1 is the partial dominant set of iteration h 1 . At each iteration h, the active degree of a vertex v S h 1 ¯ is | N ( v ) [ S h 1 N ( S h 1 ) ] | . At each iteration h, vertex v h is a vertex of S h 1 ¯ with the maximum active degree. Note that v 1 is a vertex with the maximum degree in graph G. A vertex is said to be covered at iteration h if it has at least one neighbor in the set S h 1 . Greedy halts when S h is a dominating set of G. At that iteration, all uncovered vertices with active degree 0 (if any) are included in the set S h . A formal description is provided in Algorithm 1.
Throughout this section, v h is used for the vertex with the maximum active degree selected by Greedy at iteration h; hence, S = { v 1 , , v k } is the dominant set of Stage 1.
Algorithm 1 Algorithm Greedy
  • Input: A graph G.
  • Output: A dominating set S of G.
  • h : = 1 ;
  • i : = 1 ;
  • S 0 : = ;
  • T 0 : = ;
            {iterative step}
  • while  S h is not a dominating set of graph G do
  •        h : = h + 1 ;
  •        v h := any vertex of S h 1 ¯ with maximum active degree;
  •        S h : = S h 1 { v h } ;
  •        [ T h , i ] : = Cluster_Generation( v h , T h 1 , h, i);
  • end while
Our aim is to purify this set, i.e., omit some vertices from that set so that the reduced set remains dominant. A combination of a particular clustering and traversal method results in a particular purification procedure. The four purification procedures that we propose here apply the same rules for the creation of the clusters. Unlike the purification procedure P0, which is oriented on the creation of clusters in depth, here, Stage 1 creates clusters in width. Iteratively, every next vertex v h is included in the partial forest T h 1 at iteration h, h = 1 , , k , as follows:
  • Initially, we let T 0 : = and T 1 : = C 1 : = v 1
  • For h > 1 ,
    -
    If N V ( T h 1 ) ( v h ) = , then we create a new cluster C i : = v h and {update T h } T h : = T h 1 C i
    -
    If N V ( T h 1 ) ( v h ) = { x } , x T (i.e., | N V ( T h 1 ) ( v h ) | = 1 ), then T h is T h 1 complemented by vertex v h , a new child of vertex x
    -
    If | N V ( T h 1 ) ( v h ) | > 1 , we create a new cluster C i with root v h and with the immediate successors from N V ( T h 1 ) ( v h ) . In this case, cluster C i includes one or more clusters from T h 1 (these clusters disappear as individual clusters in forest T h ). This kind of a union may yield a cycle (see Figure 1). To avoid this, we eliminate a required number of edges from T h 1 incident with vertices in N V ( T h 1 ) ( v h ) .
Below, we give a formal description of the procedure (see Algorithm 2).
Algorithm 2 Cluster_Generation
  • Input: v h , T h 1 , h, and number of clusters created i.
  • Output: Forest T h and i.
  • if  h = 1  then
  •        C 1 : = { v 1 } ; { v 1 is root of C 1 }
  •        T 1 : = C 1 ;
  • else
  •       if  N V ( T h 1 ) ( v h ) =  then
  •             i : = i + 1 ;
  •             C i : = { v h } ; { v h is root of C i }
  •             T h : = T h 1 C i ;
  •       else
  •            if  | N V ( T h 1 ) ( v h ) | = 1  then
  •                 x = N V ( T h 1 ) ( v h )
  •                 T h : = T h 1 { x } {insert v h as a child of x};
  •           else
  •                 T h : = T h 1 N V ( T h 1 ) ( v h ) {insert N V ( T h 1 ) ( v h ) as a child of v h and update T h };
  •           end if
  •       end if
  • end if
Theorem 1.
Stage 1 runs in time O ( n 3 ) .
Proof. 
The number of trees C i and the number of vertices in each tree are clearly bounded by | V ( T ) | < n . At an iteration h, N V ( T ) ( v h ) can be determined in time O ( | V ( T ) | ) , and the same time is required to locate and update each vertex x N V ( T ) ( v h ) . Hence, at every iteration h, vertex v h can be incorporated into the forest T h 1 in time O ( | V ( T ) | | N V ( T ) ( v h ) | ) = O ( n 2 ) . The theorem is followed as in Greedy, vertex v h is determined and added in the dominating set S also in time O ( n 2 ) (see [22]).    □
We use the graph in Figure 2a to illustrate our algorithms. For this graph, Greedy creates the dominating set S = { v 1 , v 2 , v 3 } . At iteration h = 0 , S 0 = and T 0 = . At iteration h = 1 , the vertices with the highest active degree (5) are 1, 2 and 3. So, vertex v 1 = 1 can be chosen. Consequently, S 1 = { v 1 } and T 1 = { v 1 } . Note that the maximum active degree of the vertices in S h 1 ¯ is 1. Thus, in iteration h = 2 , we can choose vertex v 2 = 2 , resulting in S 2 = { v 1 , v 2 } and T 2 = { v 1 , v 2 } . At iteration h = 3 , the active degree of vertex 3 is 1, so v 3 = 3 , S 3 = { v 1 , v 2 , v 3 } , and T 3 = { v 1 , v 2 , v 3 } , where T 3 is a tree with root vertex v 1 , see Figure 2b. At iteration h = 4 , S 3 is a dominating set, and the algorithm stops.

4. Stage 2: Purification Procedures

Given a set of clusters formed during the execution of the algorithm of Stage 1, we wish to purify the forest T, i.e., to convert a possibly non-minimal dominating set to a minimal one. Note that there is a difference between a minimal and a minimum dominating set. The latter one is optimal, whereas the former set is not necessarily optimal; however, it cannot be reduced by omitting any node from it. As we will see, our purification procedures return a minimal dominating set. In stage 2, Procedure P0 takes forest T as input, which, together with the initial dominating set S = { v 1 , , v k } , is constructed at stage 1. During the construction of set S, the vertex v h is inserted into the current forest T h 1 as a child of one of the previously inserted vertices v T h 1 , such that ( v , v h ) E ( G ) , where v C ( C T h 1 ) is the vertex which is furthest away from the root in its cluster. If the root of another cluster in T h 1 is adjacent to vertex v h in graph G, it becomes a child of vertex v h . Note that the clusters with so-defined roots will be merged with the former cluster C into a new larger cluster.
We may observe that, in Procedure P0, the clusters are generated in depth (resulting in clusters with high depth). Dealing with clusters with high depth has some advantages but also disadvantages. In Procedure P0, each cluster is traversed in a bottom-up fashion from a leaf to the root. We will refer to a sequence of four or three consecutive vertices on a path in the currently purified tree T h 1 ( C i ) as a quadruple or trio, respectively. In Procedure P0, a quadruple ( a , b , c , d ) or a trio ( a , b , c ) , forming sub-parts of the path, are identified. Given a quadruple ( a , b , c , d ) , the vertices ( b , c ) are purified, unless these vertices possesses a semi-private neighbor, a vertex from set V ( G ) T h , which is the only (remained) neighbor of the former vertex from set T h . For a trio, a similar condition is verified only for vertex b.
As described above, two vertices can be purified at once. However, this might not be possible, either because there may exist no quadruple (the up going paths might be too short) or/and because a candidate vertex may possess a semi-private neighbor. It might be beneficial to set firm all vertices with a semi-private neighbor first (a firm vertex remains unpurified in the resultant dominant set). It may also be beneficial to leave a vertex possessing a considerable number of immediate descendants without semi-private neighbors unpurified in case all its immediate descendants are purified. Likewise, it might be good to leave a vertex unpurified if the number of its neighbors in S ¯ is “large enough”. The above and similar considerations are taken into account in four new purification procedures.
The first three procedures P1–P3 set firm all vertices of forest T with private neighbors at iteration 0. If the so-formed set is dominating, all stop. Otherwise, three different disjoint subsets of set S forming a partition of S are distinguished, as defined below.
(1)
The set of firm vertices F h (as noted above, F 0 is the set of vertices from T with private neighbors; at iteration h > 0 , F h is the set of vertices from T with semi-private neighbors).
(2)
The set of the pending vertices P h formed by yet non-firm vertices which are neighbors of a firm vertex.
(3)
Set U h consisting of the remaining yet unconsidered vertices.
Iteratively, once F h is determined, sets P h and U h are formed. The two purification parameters for each cluster vertex are defined below.
The outer cover set of vertex v T h 1 at iteration h, O C S ( v , h ) , is the set of neighbors of v from V S , which are not adjacent with any firm vertex from set F h 1 ; i.e.,
O C S ( v , h ) = N T h 1 ¯ ( v ) N S ¯ ( F h 1 ) .
The inner cover set of vertex v T h 1 at iteration h, I C S ( v , h ) , is the set of yet non-firm neighbors of vertex v in T h 1 , i.e.,
I C S ( v , h ) = N T h 1 ( v ) F h 1 .
Roughly, vertices with high | O C S ( v , h ) | and | I C S ( v , h ) | tend to be non-purified; vice versa, direct descendants of such a vertex with low outer and inner cover indices tend to be purified. An overall purification balance of vertex v is
P B ( v , h ) = α | O C S ( v , h ) | + β | I C S ( v , h ) | ,
where 0 α , β 1 .
The distinguished features of our procedures are defined below.
Procedure P1. At iteration h > 0 , every cluster C T is traversed in a bottom-up fashion. For every non-leaf vertex x at a given level of cluster C, if x is firm, its children without semi-private neighbors are purified. If x is not firm and has no firm children, it is set firm, and its children with no semi-private neighbors are purified, whereas the children with semi-private neighbors are set firm. If x has a firm child, the parent of x is set firm (unless it is already firm), and x is purified (see Algorithm 3):
Algorithm 3 Procedure Purify 1 (P1)
  • Input: Forest T = { C 1 , C 2 , , C k } .
  • Output: S .    {minimal dominating set}
           {set vertices with private neighbors}
  • F 0 : = {set of vertices from T with private neighbors};
  • if  F 0 is dominating set then
  •        S : = F 0 ;
  • else
  •       for any C i T  do    {in order}
  •            C i 0 : = C i ;
  •            h : = 0 ;
  •           {Travel C i by levels in ascending order}
  •           for any x leaf set in level j of C i  do
  •              if  x F h  then   
  •                   C i h + 1 : = C i h { children not a firm of x do not have semi-private neighbors};
  •              else
  •                  if x has non firm children then
  •                       F h + 1 : = F h { x } ;
  •                       C i h + 1 : = C i h {children of x do not have semi-private neighbors};
  •                  else
  •                      if parent of x is not in F h  then
  •                           F h + 1 : = F h {parent of x } ;
  •                           C i h + 1 : = C i h { x } ;
  •                      else
  •                           C i h + 1 : = C i h { x } ;
  •                      end if
  •                  end if
  •              end if
  •               h : = h + 1 ;
  •           end for
  •       end for
  •        S : = F h ;
  • end if
Procedure P2. At any iteration h > 1 , a non-firm vertex x with the maximum P B ( x , h ) is set firm (for each non-firm vertex v, the sets O C S ( v , h ) and I C S ( v , h ) being updated, respectively). The procedure halts at iteration h if U h = and outputs dominant set F h (see Algorithm 4):
Algorithm 4 Procedure Purify 2 (P2)
  • Input: Forest T = { C 1 , C 2 , , C k } .
  • Output: S .    {minimal dominating set}
  • F 0 : = {set of vertices from T with private neighbors};
  • P 0 : = ;
  • if  F 0 is dominating set then
  •        S : = F 0 ;
  • else
  •        h : = 0 ;
  •       for any C i T  do    {in order}
  •             while  V ( C i ) ( F h P h )  do
  •                  v:= any vertex with the maximum PB ( v , h ) in set V ( C i ) F h ;
  •                   F h + 1 : = F h { v } ;
  •                   P h + 1 : = P h ( N V ( C i ) ( v ) F h ) ;
  •                   h : = h + 1 ;
  •               end while
  •               if  F h is dominating set then
  •                   S : = F h ;
  •                  break;
  •             end if
  •       end for
  • end if
Procedure P3. At any iteration h > 1 , a vertex x with the minimum P B ( x , h ) is purified, and the vertices from T h 1 with semi-private neighbors from T ¯ h 1 are set firm (for each non-firm vertex v, the sets OCS ( v , h ) and ICS ( v , h ) being updated, respectively). The procedure halts at iteration h if U h = and outputs dominant set F h (see Algorithm 5):
Algorithm 5 Procedure Purify 3 (P3)
  • Input: Forest T = { T ( C 1 ) , T ( C 2 ) , , T ( C k ) } .
  • Output: S .    {minimal dominating set}
  • F 0 : = {set of vertices from T with private neighbors};
  • P 0 : = ;
  • if  F 0 is dominating set then
  •        S : = F 0 ;
  • else
  •        h : = 0 ;
  •       for any T ( C i ) T  do    {in order}
  •             while  T ( C i ) ( F h P h )  do
  •                  v:= any vertex with the minimum PB ( v , h ) in set T ( C i ) F h ;
  •                   P h + 1 : = P h { v } ;
  •                   F h + 1 : = F h { all vetex in set T ( F h P h + 1 ) that have semi-private neighbor};
  •                   h : = h + 1 ;
  •             end while
  •             if  F h is dominating set then
  •                   S : = F h ;
  •                  break;
  •             end if
  •       end for
  • end if
Note that, for the example in Figure 2, | S | = 3 but γ ( G ) = 2 ; hence, set S can be purified. At iteration 0, Procedures P1–P3 set firm all vertices of forest T with private neighbors. The vertices v 2 and v 3 have as private neighbors vertices 4 and 8, respectively; so, F 0 = { v 2 , v 3 } . Since F 0 is a dominating set, S = F 0 , and the algorithm stops.
Procedure P4. (This procedure was basically suggested by one of the anonymous referees of [22], which is highly acknowledged by the authors of this paper). The private neighborhood  p n ( v , S ) of vertex v S V ( G ) is
p n ( v , S ) = { u V : N ( u ) S = { v } } .
Let a and b be adjacent vertices from set T i , such that a is a leaf vertex added to set T i after vertex b. Procedure P4 processes vertex a first and then vertex b, as follows (see Algorithm 6).
Algorithm 6 Procedure Purify 4 (P4)
  • Input: A graph G ( V , E ) and dominating set S.
  • Output: S .    {minimal dominating set}
  • S = { v 1 , , v p } ; {vertices of S in the order they are added by Greedy.}
  • h : = p ;
  •   {iterative step}
  • while  h > 0 do
  •       if  p n ( v h , S ) =  then
  •              S : = S { v h } ; {we purify vertex v h }
  •       end if
  •        h : = h 1 ;
  • end while
We use the example of Figure 2 to demonstrate Procedure P4. Initially, S = S = { v 1 , v 2 , v 3 } . In iterations h = 3 and h = 2 , p n ( v 3 , S ) = 1 and p n ( v 2 , S ) = 1 , respectively, so these vertices cannot be purified. In iteration h = 1 , p n ( v 1 , S ) = 0 , so this vertex is purified, S = { v 2 , v 3 } and the procedure stops. Note that all four purification procedures find an optimal solution for our example.

5. Approximation Ratios

In this section, we derive approximation ratios for our algorithms. By [22], if | S | 2 , then S is a minimum dominating set. Then, all the graphs G analyzed here will be such that γ ( G ) > 2 . Note that G is a connected graph, and all x S has at least one semi-private neighbor ( S be the output of purification procedures). Then, | S | n / 2 .
In the next, we derive an approximation ratio of purification procedures. By [5], γ ( G ) n Δ + 1 . Then, n Δ + 1 | S | n 2 . Since | S | γ ( G ) , we obtain that an approximation ratio for purification is
ρ = | S | γ ( G ) n 2 n Δ + 1 = Δ + 1 2 .
By [22], Algorithm Greedy achieves the approximation ratio ρ l n ( Δ + 1 ) + 1 . Using these approximation ratios, we obtain an overall approximation ratio for purification procedures.
ρ Δ + 1 2 , if 1 Δ 4 l n ( Δ + 1 ) + 1 , otherwise .

6. Experimental Results

In this section, we describe our computation experiments. We implemented our algorithms in C++ using Windows 10 operative system for 64 bits on a personal computer with Intel Core i7-9750H (2.6 GHz) and 16 GB of RAM DDR4. We generated different sets of problem instances using different pseudo-random methods for the generation of graphs. The order (the number of vertices) and the size (the number of edges) of each instance were determined randomly using the function r a n d o m ( ) . While creating a new edge, the corresponding pair of currently non-adjacent vertices was selected randomly, until the corresponding amount of edges is attained. For a given order, the corresponding size was determined according to the desired density,
d e n s i t y ( G ) = 2 m n ( n 1 ) .
We employed instances with densities from 0.2 to 0.9.
We analyzed 1316 benchmark instances from [26]. A complete summary of the results for these instances can be found at [26]. Due to the space limitations, here, we summarize our results for 45 randomly selected sample instances in Tables 1 and 3, where S denotes the initial dominant set found by [22], and S is the purified dominant set returned by the corresponding purification procedures. The columns marked by % represent the percentage of the reduction in the number of vertices from the dominant set returned by the P0 in the dominant set returned by the purification procedures P1–P4.
Table 1 below presents the percentage of the improvement by purification procedures P1–P4 for the 45 sample instances with sizes between 800 and 15,000.
Table 2 below presents the percentage of the improvement accomplished by purification procedures P1–P4, on average, for all the tested benchmark instances.
On average over all the 1316 tested instances, a best solution among the four solutions generated by purification procedures P1–P4 is 9.68% smaller than the dominant set returned by P0. Purification procedures P1–P4 turn out to be more efficient for dense instances with about 40% of the improvement, though in absolute terms, the number of purified vertices for non-dense instances is higher.
Table 3 presents results for 45 sample benchmark instances from [26] for which the optima solutions are known. This table compares the quality of the solutions obtained by purification procedures P1–P4 vs. the corresponding optimal solutions and upper bounds. The complete comparative analysis for all the 500 benchmark instances with known optimal solutions can be found in [26] and is also reflected in Figure 3. Over all the tested instances, our solutions, on average, contained 1/7th part of the number of vertices established due to the best known upper bound U, an improvement of 85.71% (see Fact 1 at the end of this section). Remarkably, among the 500 instances with the known optimum, an optimal solution is generated for 46.33% of the instances, whereas the average error over all the created non-optimal solutions is 1.01 vertices.
As to the execution times, for the largest benchmark instances with 15,000 vertices, all four procedures finished in less than two seconds. Figure 4 represents the execution times for all the tested instances.
The upper bound U is due to the following known results.
Fact 1
([4]).  If G ( V , E ) is a connected graph of order n, minimum degree δ ( G ) and maximum degree Δ ( G ) , then γ ( G ) n 2 , γ ( G ) n Δ ( G ) , and γ ( G ) n ( ln ( δ ( G ) + 1 ) ) δ ( G ) + 1 . Hence,
U = min n 2 , n Δ ( G ) , n ( ln ( δ ( G ) + 1 ) ) δ ( G ) + 1
is a valid upper bound on γ ( G ) .

7. Conclusions

We studied the purification process for the domination set problem in graphs and proposed four purification procedures that enhance solutions by 9.68% compared to the earlier state-of-the-art algorithm. Remarkably, among the 500 instances with a known optimum, optimal solutions were achieved for 46.33%, with an average error of 1.01 vertices for the remaining instances. We also derived approximation ratios for our purification procedures.
Although our purification procedures create minimal dominating sets, they are not necessarily optimal. As we can observe from our experimental study, there are problem instances, for which only one of the proposed purification procedures delivers the best obtained solution, whereas for some other instances, the best solution is delivered by another heuristic (see Table 1 and Table 2). It is a challenging question to develop a single best possible purification procedure, one that, for any (non-minimal) dominating set, always omits the maximum possible number of (redundant) vertices. Another direction for future related work is to extend our procedures to more general domination and other related graph optimization problems.

Author Contributions

Investigation, E.P.I., J.M.S.A. and N.V.; writing—review and editing, E.P.I. and N.V.; Resources, UAEMor administrated by J.A.H.-A. All authors have read and agreed to the published version of the manuscript.

Funding

This research was partial supported by funding from CCyTEM.

Data Availability Statement

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Garey, M.R.; Johnson, D.S. Computers and Intractability; Freeman: San Francisco, CA, USA, 1979; Volume 174. [Google Scholar]
  2. Berge, C. The Theory of Graphs and Its Applications; Methuen & Co, Ltd.: London, UK, 1962. [Google Scholar]
  3. Ore, O. Theory of Graphs; AMS Colloquium Publications: Providence, RI, USA, 1962; Volume 38. [Google Scholar]
  4. Haynes, T.W.; Hedetniemi, S.T.; Slater, P.J. Domination in Graphs; Advanced Topics; Marcel Dekker Publications: New York, NY, USA, 1998. [Google Scholar]
  5. Haynes, T.W. Domination in Graphs; Advanced Topics; Routledge: London, UK, 2017; Volume 2. [Google Scholar]
  6. Corcoran, P.; Gagarin, A. Heuristics for k-domination models of facility location problems in street networks. Comput. Oper. Res. 2021, 133, 105368. [Google Scholar] [CrossRef]
  7. Joshi, D.S.; Radhakrishnan, S.; Chandrasekharan, N. The k-neighbor, r-domination problems on interval graphs. Eur. J. Oper. Res. 1994, 79, 352–368. [Google Scholar] [CrossRef]
  8. Liao, C.S.; Lee, D.T. Power domination problem in graphs. In Proceedings of the International Computing and Combinatorics Conference, Kunming, China, 16–19 August 2005; Springer: Berlin/Heidelberg, Germany, 2005; pp. 818–828. [Google Scholar] [CrossRef]
  9. Haynes, T.W.; Hedetniemi, S.M.; Hedetniemi, S.T.; Henning, M.A. Domination in graphs applied to electric power networks. SIAM J. Discret. Math. 2002, 15, 519–529. [Google Scholar] [CrossRef]
  10. Parra Inza, E.; Sandoval Ramírez, A.; Hernández Gómez, J.; Cerdenares Ladrón de Guevara, G. Robustness Analysis of Trophic Networks using Outer k-independent Total Dominant Sets. In Modelación Matemática IV Biomatemáticas, Epidemiología, Ingeniería; Universidad Tecnológica de la Mixteca: Huajuapan de León, Mexico, 2021; Volume 4, pp. 3–18. [Google Scholar]
  11. Balasundaram, B.; Butenko, S. Graph domination, coloring and cliques in telecommunications. In Handbook of Optimization in Telecommunications; Springer: Berlin/Heidelberg, Germany, 2006; pp. 865–890. [Google Scholar] [CrossRef]
  12. Wan, P.J.; Alzoubi, K.M.; Frieder, O. Distributed construction of connected dominating set in wireless ad hoc networks. Mob. Netw. Appl. 2004, 9, 141–149. [Google Scholar] [CrossRef]
  13. Wu, J.; Wu, B.; Stojmenovic, I. Power-aware broadcasting and activity scheduling in ad hoc wireless networks using connected dominating sets. Wirel. Commun. Mob. Comput. 2003, 3, 425–438. [Google Scholar] [CrossRef]
  14. Wu, J. Extended dominating-set-based routing in ad hoc wireless networks with unidirectional links. IEEE Trans. Parallel Distrib. Syst. 2002, 13, 866–881. [Google Scholar] [CrossRef]
  15. Wang, F.; Camacho, E.; Xu, K. Positive influence dominating set in online social networks. In Proceedings of the Combinatorial Optimization and Applications: Third International Conference, COCOA 2009, Huangshan, China, 10–12 June 2009; Proceedings 3. Springer: Berlin/Heidelberg, Germany, 2009; pp. 313–321. [Google Scholar] [CrossRef]
  16. Wang, F.; Du, H.; Camacho, E.; Xu, K.; Lee, W.; Shi, Y.; Shan, S. On positive influence dominating sets in social networks. Theor. Comput. Sci. 2011, 412, 265–269. [Google Scholar] [CrossRef]
  17. Abu-Khzam, F.N.; Lamaa, K. Efficient heuristic algorithms for positive-influence dominating set in social networks. In Proceedings of the IEEE INFOCOM 2018-IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), Honolulu, HI, USA, 15–19 April 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 610–615. [Google Scholar] [CrossRef]
  18. Chvatal, V. A greedy heuristic for the set-covering problem. Math. Oper. Res. 1979, 4, 233–235. [Google Scholar] [CrossRef]
  19. Parekh, A.K. Analysis of a greedy heuristic for finding small dominating sets in graphs. Inf. Process. Lett. 1991, 39, 237–240. [Google Scholar] [CrossRef]
  20. Eubank, S.; Kumar, V.A.; Marathe, M.V.; Srinivasan, A.; Wang, N. Structural and algorithmic aspects of massive social networks. In Proceedings of the Fifteenth Annual ACM-SIAM Symposium on Discrete Algorithms, New Orleans, LA, USA, 11–14 January 2004; pp. 718–727. [Google Scholar]
  21. Campan, A.; Truta, T.M.; Beckerich, M. Fast Dominating Set Algorithms for Social Networks. In Proceedings of the MAICS, Greensboro, NC, USA, 25–26 April 2015; pp. 55–62. [Google Scholar]
  22. Hernández Mira, F.; Parra Inza, E.; Sigarreta Almira, J.M.; Vakhania, N. A polynomial-time approximation to a minimum dominating set in a graph. Theor. Comput. Sci. 2022, 930, 142–156. [Google Scholar] [CrossRef]
  23. Van Rooij, J.M.; Bodlaender, H.L. Exact algorithms for dominating set. Discret. Appl. Math. 2011, 159, 2147–2164. [Google Scholar] [CrossRef]
  24. Iwata, Y. A faster algorithm for dominating set analyzed by the potential method. In Proceedings of the International Symposium on Parameterized and Exact Computation, Ljubljana, Slovenia, 12–14 September 2012; Springer: Berlin/Heidelberg, Germany, 2012; pp. 41–54. [Google Scholar] [CrossRef]
  25. Parra Inza, E.; Vakhania, N.; Sigarreta Almira, J.M.; Hernández Mira, F.A. Exact and heuristic algorithms for the domination problem. Eur. J. Oper. Res. 2024, 313, 926–936. [Google Scholar] [CrossRef]
  26. Parra Inza, E. Random Graph (1), version 5; Mendeley Data. 2024. Available online: https://data.mendeley.com/datasets/rr5bkj6dw5/5 (accessed on 3 April 2024).
Figure 1. Forests T h 1 and T h (the red edge in T h 1 is omitted in T h and yellow edges are added in T h .
Figure 1. Forests T h 1 and T h (the red edge in T h 1 is omitted in T h and yellow edges are added in T h .
Algorithms 17 00258 g001
Figure 2. Graph G and Cluster T. (a) Graph G with γ ( G ) = 2 ; (b) Cluster T.
Figure 2. Graph G and Cluster T. (a) Graph G with γ ( G ) = 2 ; (b) Cluster T.
Algorithms 17 00258 g002
Figure 3. Results of purification procedures ( min { S i } ), γ ( G ) , and U.
Figure 3. Results of purification procedures ( min { S i } ), γ ( G ) , and U.
Algorithms 17 00258 g003
Figure 4. Execution time of purification procedures. (a) Maximum execution times among P1–P4 for all instances. (b) Execution times for individual procedures.
Figure 4. Execution time of purification procedures. (a) Maximum execution times among P1–P4 for all instances. (b) Execution times for individual procedures.
Algorithms 17 00258 g004
Table 1. Results for sample instances.
Table 1. Results for sample instances.
| V | | E | P0Purification Procedures
P1P2P3P4
| S | | S | | S | % | S | % | S | % | S | %
840310,39675420.00420.0050.00420.00
115011855004704318.304308.514308.514288.94
165017117176606146.976097.736117.426078.03
170017407256816346.906327.206337.056327.20
190019778027547026.906987.437036.766977.56
215022879098507877.417818.127847.767818.12
230024079669078427.178357.948417.288357.94
2450258810549879018.718959.328989.028959.32
26502744114710599817.379757.939777.749757.93
280028531225113710487.8310487.8310448.1810408.53
295030111277118610918.0110858.5210898.1810858.52
330033421440133912327.9912198.9612218.8112198.96
340035181480138212737.8912688.2512698.1812688.25
350035301537142313058.2912929.2112968.9212929.21
365037051589146413676.6313517.7213567.3813517.72
395040931688157514647.0514537.7514557.6214537.75
420042021832170715847.2115648.3815658.3215648.38
455045891963184117017.6017107.1217017.6016957.93
485049152111195518097.4717908.4417968.1317898.49
495050482164200518656.9818527.6318537.5818497.78
515052882204204418997.0918887.6318907.5318887.63
530053132293213619996.4119807.3019827.2119807.30
545054892369221120676.5120527.1920557.0620527.19
555055622424225520847.5820698.2520748.0320698.25
570057702463228721306.8621157.5221197.3521147.56
595060472614243922567.5022438.0422467.9122438.04
600060102614242722417.6622377.8322328.0322258.32
620063102694249023047.4723097.2722898.0722828.35
640064662769258224007.0523957.2423887.5123837.71
650065862804262324406.9824217.7024247.5924217.70
675068702952272125227.3124948.3424998.1624948.34
685069332969278525797.4025667.8625667.8625637.97
700070383043283226207.4926237.3826117.8026018.16
710071353067285126467.1926397.4426337.6526218.07
725073573080287926717.2226547.8226567.7526547.82
735074743177294427446.7927177.7127227.5427177.71
745074973217298027717.0127726.9827577.4827517.68
755075573299309328448.0528278.6028358.3428218.79
765076963331309528757.1128497.9528537.8228468.05
770077163332309628757.1428617.5928627.5628557.78
780078043395317629477.2129337.6529387.4929247.93
795079823480326030227.3030007.9830047.8530007.98
800081263466321529877.0929857.1529697.6529578.02
990024,411,0321614137.14137.14137.14137.14
15,00056,111,3571412120120120120
Table 2. Average results over all instances.
Table 2. Average results over all instances.
% P1% P2% P3% P4
9.179.488.889.63
Table 3. Comparison between results of purification procedures, γ ( G ) , and U.
Table 3. Comparison between results of purification procedures, γ ( G ) , and U.
| V | | E | γ ( G ) P1P2P3P4U
| S 1 | | S 2 | | S 3 | | S 4 |
10026876777726
10637444444418
12646516666630
12863314444413
13453597777732
13874704555513
14067106666624
14472675555525
14886643334316
15079505555527
15483046666624
17011,6404444414
17210,6656666626
17699787777739
18212,1006666625
19413,6755555534
19614,2296666626
19812,9367777742
20016,3894444419
20415,1695555535
22220,3704444418
22416,9237777743
23422,7094444421
23820,9025555539
26427,1755556530
32637,8787777760
32845,7034444424
33043,7146666635
33241,6615555556
34247,1427777736
34450,3644444426
37058,5314444428
40065,5456666637
45877,2967777779
50695,0916667691
538125,7345555547
612140,91877787101
714198,53955555117
724199,14177777124
790243,72555555130
794240,59277777138
840310,3964445467
844306,6817777772
870296,19757777145
1098533,2205555581
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Parra Inza, E.; Vakhania, N.; Sigarreta Almira, J.M.; Hernández-Aguilar, J.A. Approximating a Minimum Dominating Set by Purification. Algorithms 2024, 17, 258. https://doi.org/10.3390/a17060258

AMA Style

Parra Inza E, Vakhania N, Sigarreta Almira JM, Hernández-Aguilar JA. Approximating a Minimum Dominating Set by Purification. Algorithms. 2024; 17(6):258. https://doi.org/10.3390/a17060258

Chicago/Turabian Style

Parra Inza, Ernesto, Nodari Vakhania, José María Sigarreta Almira, and José Alberto Hernández-Aguilar. 2024. "Approximating a Minimum Dominating Set by Purification" Algorithms 17, no. 6: 258. https://doi.org/10.3390/a17060258

APA Style

Parra Inza, E., Vakhania, N., Sigarreta Almira, J. M., & Hernández-Aguilar, J. A. (2024). Approximating a Minimum Dominating Set by Purification. Algorithms, 17(6), 258. https://doi.org/10.3390/a17060258

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop