Self-stabilization is a fault tolerance approach for distributed systems that has been introduced for the first time by Dijkstra . A self-stabilizing distributed system is able to achieve a global correct configuration (without any external intervention), in a finite time, starting from an initial illegitimate configuration. Various self-stabilizing distributed algorithms have been proposed in the literature using graph theory such as leader election, nodes coloring, domination problem, independent set identification, spanning tree construction. The reader can refer to the survey  for more details of self-stabilizing algorithms.
Domination has been extensively studied in literature  and adopted in many real-life applications. It has been utilized for address routing, power management and clustering issues in ad-hoc networks [5, 6, 7]. A dominating set is a subset of the graph nodes where every node is either in or is a neighbor of at least one node of . The dominating set is minimal if there is no proper subset in that could be a dominating set. Recently, domination is used to influence (and change) the opinion of the users in the social networks [8, 9]. Before 2003, only greedy algorithms have been proposed in the literature to find (minimal) dominating sets. The first self-stabilizing algorithm for (minimal) dominating set was proposed by Hedetniemi et al. . After that, many variants of self-stabilising algorithms have been proposed imposing additional parameters of domination like total domination [11, 12], efficient domination [13, 14], connected dominating set [15, 16], influence domination [17, 18], distance-k domination . Each parameter has its benefits according to the used application. For example, connected dominating sets are generally used as backbone (infrastructure) in ad-hoc and sensor networks.
As for -domination concept (without self-stabilization concept), it has been studied for the first time by . Other results are given in  on -domination. Suppose that is a connected graph where is the set of nodes and is the set of edges. We say that is -dominating if for all , where and is the set of neighbors . To the best of our knowledge, there is no self-stabilizing algorithm to find the -dominating set. Only, particular cases of -domination have been presented in the literature which are discussed in the next section.
1.1 Related works of -domination on self-stabilization
In self-stabilizing paradigm, few algorithms are proposed only for the particular instance of (three works to the best of our knowledge). In these cases, authors try to find the minimal dominating set where each node (in or in ) is dominated by at least half () of its neighborhood. Wang have introduced the positive influence dominating set . A self-stabilizing algorithm known as MPIDS is presented for this parameter in . We call a positive influence dominating set if each node is dominated by at least (that is, has at least neighbors in ). This algorithm can be considered as total -domination because the condition of -domination must be respected by all the nodes. Positive influence domination has applications in social networks where this parameter is used in [9, 17, 18] in order to influence the opinion of the users and individual behaviors in social networks. For example, in a social network with smoking problem, smokers could be exposed to a possible conversion to abstain due to the domination of their friends.
Simultaneously, Yahiaoui et al. have proposed a self-stabilizing algorithm for minimal global powerful alliance set called MGPA  which has the same basic concept of MPIDS. A subset is said global powerful alliance set if for each node , the majority of the neighbors of are in , that is, , where . Like MPIDS, MGPA can be also considered as total -domination.
Hedetniemi et al. have presented a collection of self-stabilizing algorithms to find an unfriendly partition into two dominating sets and . A bipartition is called unfriendly partition if for every node , most of neighbors of are in and for every node , most of neighbors of are in . Obviously, every node of is -dominated by and every node of is -dominated by .
Clearly, the above algorithms discuss a domination which is limited by the value of , where every node must have at least of the neighbors in the dominating set. However, it will be more comfortable if this value could be changed in order to be more suitable for particular cases where other values are required. For some cases can represent a bad choice while other values like or may be more useful. Using the general parameter of -domination will be more interesting for many practical cases.
In this paper, we propose a self-stabilizing algorithm to find the minimal -dominating set called -MDS. Analysis shows that our algorithm stabilizes in moves, namely a complexity of using the expression distance-2 model under central daemon. Note that expression distance-2 model is a variant of distance-two model. Using the transformer of , -MDS can be converted to -MDS that converges in under distributed daemon and distance-one model. Table 1 summarizes main formal results of -MDS, MPIDS, MGPA and UNFIENDLIER.
2 Model and Terminology
Generally, networks or distributed systems are represented by simple undirected graphs. Let be a connected graph where is the set of nodes and is the set of edges. For a node , the open neighborhood of is defined as , where the degree of is . denotes the closed neighborhood of . In this paper, we use to indicate the open neighborhood.
A subset is a dominating set if for every node , there exists a node such that is adjacent to .
The set defines the neighbors of in i.e. and represents neighbors of in . Consequently, .
An algorithm is self-stabilizing if it will be able to (1) reach a global correct configuration called and still in the legitimate state () (2) during a finite time after it has started from an unknown configuration. To show that an algorithm is self-stabilizing, it is sufficient to prove its for the legitimate configuration and its to achieve the desired configuration in a finite time. So, a self-stabilizing algorithm guarantees to converge to the legitimate configuration even if there is any possible transient faults. Also, an algorithm is called if in a legitimate state, there is no enabled nodes. Obviously, if an algorithm is silent, the closure is trivially satisfied.
In a uniform self-stabilizing system, all the nodes execute the same collection of rules having the form if then (written as: ). Nodes have also the same local variables that describe their . The guard is a (or a collection of) boolean expression. Once a guard of any node is true, the corresponding statement must be executed (an action on the node’s state). Thus, the of every node is updated (modified or not) by the node itself using at least one of its own rules. Each node has a partial view of the distributed system ( which consists of boolean expressions) on (1) its state and the states of its neighbors (called distance-one model) or (2) its state and the states of its neighbors and the states of the neighbors of its neighbors (called distance-two model). A rule is said if the guard is evaluated to be true. A node will be enabled if at least one of its rules is enabled. Executing the statement of the enabled rule by the node is called a . A move allows updating the state (local variables) of the node in order to be in harmony with its neighborhood.
2.1 Execution Model
The execution of self-stabilizing algorithms is managed by a daemon (scheduler) that selects one of the enabled nodes to move from a configuration to another configuration. Two types of daemons are widely used in self-stabilization literature: central and distributed daemons. In the central daemons, one enabled node is selected among all the enabled nodes to be moved. However, in the distributed daemons, a subset of nodes are selected among the set of enabled nodes to make a move simultaneously. A particular case is distinguished for distributed daemons i.e. the daemon where all the enabled nodes are selected to move simultaneously. Indeed, is the most used scheduler in self-stabilizing literature, wherein any subset of the enabled nodes can make their moves simultaneously. A daemon is a scheduler that selects the same enabled node continuously between configurations transition. Otherwise, the daemon is where it can delay the node move if there are other enabled nodes which allows to guarantee the convergence to the global legitimate configuration. A detailed taxonomy of the daemons variants can be found in .
Generally, it is easy to prove the stabilization of an algorithm working under hypotheses like central daemon and expression distance-2 model. However, algorithms working under distributed daemon and distance-one model are more difficult to prove, although they are more suitable for real applications.
A common approach, known in literature [24, 25], allows converting a self-stabilizing algorithm which operates under a given hypotheses to a new self-stabilizing algorithm , such that operates under other hypotheses. This transformation guarantees that the two algorithms obtain the same legitimate configuration.
Note that in the case of distributed daemon, it is not allowed for neighbors to execute simultaneously a move at the same time. This is achieved by using unique identifiers for nodes. At the same round, we can allow solely to the node having the higher identifier (among the enabled neighbors) to make a move. Whereas, the remainder neighbors still enabled in the next round.
3 Minimal -Dominating Set
In this section, we present a self-stabilizing algorithm for finding minimal -dominating set, we call -MDS. First, we give defintion of dominating set:
Let be a subset of and . is called -dominating set if for every node , . is minimal if no proper subset of is -dominating set. Every node in is called .
In algorithm LABEL:alg1, each node maintains a local variable and two expressions and . The value of can be or . It is clear that is used to express if any node belongs to the -dominating set or not. Therefore, -dominating set is defined as . is used to check if every node of is -dominated. shows that every node in which is not dominated must convert its state from to . Consequently, ensures that every node of will be -dominated. is used to verify the minimality of . Every node in that can leave without affecting the constraint -dominated of its neighbors in and still itself -dominated, will leave because it preserves the correct configuration in its neighborhood. Observe that is used in this situation: when a node wants to leave , all the neighbors must still respect the -domination condition after the leaving of .
Once all the nodes are not enabled, the set is a minimal -dominating set.
Proof We prove that : (a) every node of is -dominated and (b) is minimal.
(a) For every node out of , must be because is not enabled. Hence, each node out of is -dominated.
(b) Suppose that all the nodes of are not enabled and there exists a node such that is minimal -dominating set. Thus, (by definition) which implies that because . Since all the nodes of are not enabled ( is not enabled for ) and , there exists a node such that , so . After moving from to , the number of neighbors of having state will decrease by one i.e. . Thus becomes . This is a contradiction with the definition that every node out of the dominating set must be -dominated.
3.2 Convergence and Complexity Analysis
If any node has , the value still greater or equal than and cannot be down less than .
Proof Let be a node from such that . The value can be decrease by one way which is: if any neighbor of changes its state from to . However, R2 imposes that when moves from to , all its neighbors in including must have i.e. 333If at least one of neighbors: has , then R2 cannot be enabled and remains in , thus still has .. Suppose is the new dominating set after leaves . Thus, . So, becomes . Hence, remains .
Once a node leaves , it cannot reach again.
Proof Since any node leaves with , R1 cannot be enabled again according Lemma 2.
Every node executes at most R1 then R2 which allows algorithm 1 to terminate in the worst case at moves under the expression distance-2 model using unfair central daemon.
Proof It follows from Lemma 3.
-MDS is a silent self-stabilizing algorithm giving Minimal -Dominating Set in finite time not exceeding moves under expression distance-2 model using unfair central daemon.
After proving the stabilization of algorithm -MDS under the central daemon and expression distance-2 model, we use the transformer proposed by  that gives another self-stabilizing algorithm -MDS. This later is executable under distributed daemon and distance-one model.
-MDS gives a minimal -dominating set and stabilizes in moves in the distance-one model under unfair distributed daemon .
4 Simulation and Experimental results
In this section, simulation tests are carried out to evaluate -MDS on two levels. First, we attempt to observe the behavior of -MDS according values of in . Secondly, we compare the performance of -MDS with other known algorithms, namely MGPA, MTDS and MKDS that have been proposed by ,  and [24, 27], respectively. For each level, two parameters of efficiency are used: the cardinality of the dominating set and the time of convergence. Clearly, the efficient algorithm is that who gives the smallest dominating set and/or converges more quickly. Recall that we have selected these algorithms because they are the solely proposed in literature under expression distance-2 model. It is important to mention that this is the first work implementing the expression model. The choice of the daemon and the graphs follows the implementation of Lukasz Kuszner  whereby we have used a central daemon and generated arbitrary graphs with different density having orders from 1000 nodes to 10000 nodes. For each size of graphs, we have carried out 5 executions and then we have taken the average value.
Figures 2 and 3 show experiments performed on -MDS only. In this case, we try to understand the behavior of -MDS according values of in . Figure 2 illustrates that whatever the graph density, the -MDS size grows proportionally whith values. However, density of graph has some impact on the cardinality of the dominating set. For high density () where graphs are close to be complete, relation is clear: like an equation of a line , where . Once density begins to be down, curves of -MDS size starts to deviate from the line especially on the extremities of the interval . The worst deviation from is represented by the curve of the smallest density where for the cardinality of -MDS is and for the cardinality is . Theses results are important from a point of view application. Reducing the value of as possible gives a lower cardinality of the dominating set which is very practical in the reality. For example, for a given problem, if we want a small dominating set of nodes, it will be sufficient to set as small as possible.
Figure 3 shows the necessary time to converge to the stable configuration according values of . Theoretically, we have proved in section 3.2 that the number of moves cannot exceed moves which is confirmed by the experiments where the number of moves is always less then . However, it is clear through Figure 3 that -MDS needs more time (number of moves) on the extremities of while it converges quickly in the middle of this area.
Figures 4 and 4 illustrates comparison experiments between our algorithm -MDS, MGPA , MTDS  and MKDS [24, 27]. Note that we have take in this case. Recall that we have shown in section 1.1 that MGPA is a particular case of -MDS where . However, we have used the generalized version of MTDS and MKDS where is calculated according the density as follow: which is approximately the half degree for each node. Results show that -MDS outperforms other algorithms in both sides
giving smallest cardinality of the dominating set and stabilizing more quickly. Probably, other factors could affect the simulation results. For example, our algorithm impose its constraint of-domination just on the nodes out of the dominating set. However, in MTDS and MGPA the imposed constraint must be respected for all the nodes which needs more time to stabilize and gives higher cardinality.
A self-stabilizing algorithm is proposed in this paper for the parametric -domination called minimal -dominating set. The algorithm is studied in both sides theoretical and experimental, where it is proved that our algorithm converges in using a distributed daemon. Although the complexity is the same regarding other algorithms, experimental simulations shows that -MDS is more efficient. The algorithm is useful for real-life use particularly for security and health applications.
-  E. W. Dijkstra, Self-stabilizing systems in spite of distributed control, Communications of the ACM 17 (1974) 643-644.
-  N. Guellati, H. Kheddouci, A survey on self-stabilizing algorithms for independence, domination, coloring, and matching in graphs, Journal of Parallel and Distributed Computing 70 (2010) 406-415.
-  T. Haynes, S. Hedetniemi, P. Slater, Fundamentals of Domination in Graphs: Advanced Topics, Marcel Dekker, New York, 1998.
-  D. Li, L. Liu, H. Yang, Minimum connected r-hop k-dominating set in wireless networks, Discrete Mathematics, Algorithms and Applications 1(2009) 45-57.
-  K. Alzoubi, P.-J. Wan, O. Frieder, Maximal independent set, weakly connected dominating set, and induced spanners in wireless ad hoc networks, International Journal of Foundations of Computer Science 14 (2003) 287-303.
J. Blum, M. Ding, A. Thaeler, X. Cheng, Connected dominating set in sensor networks and manets, in: Du DZ., Pardalos P.M. (eds) Handbook of Combinatorial Optimization, Springer, Boston, MA, 2004, pp. 329-369.
-  W. Feng, C. Erika, X. Kuai, Positive influence dominating set in online social networks, in: Proceedings of the 3rd International Conference on Combinatorial Optimization and Applications, Springer-Verlag, Berlin, Heidelberg, 2009, pp. 313-321.
F. N. Abu-Khzam, K. Lamaa, Efficient heuristic algorithms for positive influence dominating set in social networks, in: Hot Topics in Pervasive Mobile and Online Social Networking, IEEE, 2018, pp. 610-615.
-  S. Hedetniemi, S. Hedetniemi, D. Jacobs, P. Srimani, Self-stabilizing algorithms for minimal dominating sets and maximal independent sets, Computer and Mathe matics with Applications 46 (2003) 805-811.
-  Y. Belhoul, S. Yahiaoui, H. Kheddouci, Efficient self-stabilizing algorithms for minimal total k-dominating sets in graphs, Information Processing Letters 114 (2014) 339-343.
-  W. Goddard, S. T. Hedetniemi, D. P. Jacobs, P. K. Srimani, A self-stabilizing distributed algorithm for minimal total domination in an arbitrary system graph, in: Proceedings of the International Parallel and Distributed Processing Symposium, IEEE, 2003. doi:10.1109/IPDPS.2003.1213437.
-  V. Turau, Self-stabilizing algorithms for efficient sets of graphs and trees, Information Processing Letters 113 (2013) 771-776.
-  S. M. Hedetniemi, S. T. Hedetniemi, H. Jiang, K. Kennedy, A. A. McRae, A self-stabilizing algorithm for optimally efficient sets in graphs, Information Processing Letters 112 (2012) 621-623.
-  K. Bessaoud, A. Bui, L. Pilard, Self-stabilizing algorithm for low weight connected dominating set, in: 17th IEEE/ACM International Symposium on Distributed Simulation and Real Time Applications, IEEE Computer Society, Washington, DC, USA, 2013, pp. 231-238. doi:10.1109/DS-RT.2013.33.
-  Y. Ding, J. Z. Wang, P. K. Srimani, A time self-stabilizing algorithm for minimal weakly connected dominating sets, International Journal of Parallel Programming 44 (2016) 151-162.
-  G. Wang, H. Wang, X. Tao, J. Zhang, A self-stabilizing algorithm for finding a minimal positive influence dominating set in social networks, in: Proceedings of the Twenty-Fourth Database Technologies 2013 (ADC 2013), Australian Computer Society, Inc., Australia, 2013, pp. 93-99.
-  Y. Ding, J. Z. Wang, P. K. Srimani, Self-stabilizing selection of influential users in social networks, in: 17th International Conference on Computational Science and Engineering, IEEE, 2014, pp. 1558-1565. doi:10.1109/CSE.2014.288.
-  A. K. Datta, S. Devismes, L. L. Larmore, A silent self-stabilizing algorithm for the generalized minimal k-dominating set problem, Theoretical Computer Science (2018).
-  J. Dunbar, D. Hoffman, R. Laskar, L. Markus, -domination, Discrete Mathematics 211 (2000) 11-26.
-  F. Dahme, D. Rautenbach, L. Volkmann, Some remarks on -domination, Discuss. Math. Graph Theory 24 (2004) 423-430.
-  S. Yahiaoui, Y. Belhoul, M. Haddad, H. Kheddouci, Self-stabilizing algorithms for minimal global powerful alliance sets in graphs, Information Processing Letters 113 (2013) 365-370.
-  S. M. Hedetniemi, S. T. Hedetniemi, K. Kennedy, A. A. McRae, Self-stabilizing algorithms for unfriendly partitions into two disjoint dominating sets, Parallel Processing Letters 23 (2013) 1350001(11).
-  V. Turau, Efficient transformation of distance-2 self-stabilizing algorithms, Journal of Parallel and Distributed Computing 72 (2012) 603-612.
-  W. Goddard, P. K. Srimani, Daemon conversions in distributed self-stabilizing algorithms, in: Ghosh S.K., Tokuyama T. (eds) WALCOM: Algorithms and Computation. WALCOM 2013. Lecture Notes in Computer Science, Springer, Berlin, Heidelberg, 2013, pp. 146-157.
-  S. Dubois, S. Tixeuil, A taxonomy of daemons in self-stabilization, CoRR, abs/1110.0334 (2011).
G. Wang, H. Wang, X. Tao, J. Zhang, A self-stabilizing algorithm for finding a minimal k-dominating set in general networks, in: Data and Knowledge Engineering. ICDKE 2012. Lecture Notes in Computer Science,Springer, Berlin, Heidelberg, 2012, pp. 74-85.
-  L. Kuszner, Tools to develop and test self-stabilizing algorithms, http://kaims.eti.pg.gda.pl/ kuszner/self-stab/main.html (2005).