• Aucun résultat trouvé

Minimal Dominating Set Algorithm

Dans le document To the memories of Necdet Doˇganata and (Page 179-184)

Part II Graph Theoretical Algorithms

11.4 Self-Stabilizing Domination

11.4.2 Minimal Dominating Set Algorithm

The self-stabilizing algorithm which works under a central scheduler to find the MDS of a graph is also due to Hedetiemi et al. [6]. Every nodeiin this algorithm called SS2_MDS has a binary variablex(i), which is equal to 1 if the node is in the minimal dominating setS. Each node also has a pointer (→), which points to its dominator. If this pointer has null value, eitheriSoriis not dominated. This algorithm is based on the fact that a dominating set DS is a minimal dominating set if and only if it is dominating and everyu∈DS has a private neighbor [6]. Therefore, this algorithm attempts to form a DS with each element of DS dominating only one element.

The membership rules M1 and M2 of this algorithm are described as follows:

• M1: If nodeiand all its neighbors are not in MDS,ienters MDS.

• M2: If nodeiis in MDS but has at least one neighbor that is also in CDS; and also it is not a dominator of any of its neighbors, it leaves MDS.

The pointer moves P1, P2, and P3 do not change the membership of a node in the MDS, but they modify the value of the pointers as follows:

P1: If a node is in MDS and its pointer is not null, its pointer is set to null.

11.5 Chapter Notes 169 not pointing, it sets its pointer toj.

• P3: If nodei that is not in MDS has more than one neighbor in MDS and its pointer is not null, it sets its pointer to null.

Algorithm11.5shows a pseudocode of this algorithm.

Theorem 11.4 The algorithm finds an MDS inO(n2)moves.

Proof If a node moves by M1, it will not make any other membership move. If it moves by M2, the next membership move will have to be M1, and there will not be any membership moves after this move. Therefore, a node can make at most two membership moves. Also, there can be at mostn consecutive pointer moves as any pointer move by a nodei results ini being unprivileged, andi cannot be privileged by any pointer moves of the neighbors. Hence, each node can make one pointer move resulting in n consecutive pointer moves at most. There can be at most 2nmembership moves. As there can be at most n pointer moves before or after each membership move, total number of moves before stabilization isO(n2) moves. A more detailed description of the proof can be found in [6].

11.5 Chapter Notes

Finding minimal (connected) dominating sets is a well-studied topic in both graph theory and ad hoc wireless networks. There is in fact a book devoted to this

prob-170 11 Dominating Sets Fig. 11.10 Example graphs

for Exercise1

Fig. 11.11 Example graph for Exercise2

lem [5]. Dominating set problem is equivalent to set-covering problem. Given a set of elements called the universe and sets whose union comprises the universe, the set cover problem is to find the smallest number of sets whose union contains all ele-ments in the universe. The decision version of this problem is: given (U, S), where Uis the universe, andSis a set of subsets, for an integerk, find if a set covering of sizekor less exists. This problem is shown to be NP-complete in [9].

Weighted dominating set problem is to find a minimal weight dominating set in a graph where nodes have weights, which is also NP-complete. Chvatal [1] proposed a central weighted-set cover-based dominating-set algorithm (CENTSET) with lnW approximation ratio, whereW is the minimum weight of the dominating set. The dominator with the minimum weight ratio is chosen, it is covered with its neighbors in each round, and the algorithm continues until all nodes are either dominators or are dominated. In the self-stabilizing approach, algorithms to find CDS were given in [7,8]. Goddard et al. [3] recently provided a self-stabilizing algorithm to find a connected dominating set in an anonymous network.

An MCDS can be conveniently used for routing in ad hoc networks, and we will be investigating the construction of a backbone for routing using MCDS in ad hoc wireless networks in Chap.15.

11.5.1 Exercises

1. Find examples of DS in (a), MDS in (b), and MCDS in (c) of the graph of Fig.11.10.

2. Provide a pseudocode for the Seq_MCDS algorithm and show its execution in the graph of Fig.11.11.

3. Sketch a pseudocode of a greedy distributed algorithm that finds a maximal weighted dominating set. Work out its time and message complexities. Also, show the operation of this algorithm step-by-step in the example graph of Fig.11.12where each vertex is labeled by its weight.

References 171 Fig. 11.12 Example graph

for Exercise3

Fig. 11.13 Example graph for Exercise4

4. Provide the FSM-based version of Span_MCDS algorithm described in Sect.11.3.1that finds the MCDS by greedily selecting the node with the highest span. Provide its FSM diagram and a pseudocode and work out the time and message complexities. Show also step-by-step execution of this algorithm in the example graph of Fig.11.13.

5. Provide a pseudocode for the SYNSET algorithm described in Sect.11.5.

References

1. Chvatal V (1979) A greedy heuristic for the set-covering problem. Math Oper Res 4(3):233–

235

2. Garey MR, Johnson DS (1978) Computers and intractability: a guide to the theory of NP-completeness. Freeman, San Francisco

3. Goddard W, Srimani P (2010) Anonymous self-stabilizing distributed algorithms for con-nected dominating set in a network graph. In: Proc the international multi-conference on com-plexity, informatics and cybernetics (IMCIC)

4. Guha S, Khuller S (1998) Approximation algorithms for connected dominating sets. Algorith-mica 20(4):374–387

5. Haynes TW, Hedetniemi ST, Slater PJ (1998) Fundamentals of domination in graphs. Dekker, New York

6. Hedetniemi SM, Hedetniemi ST, Jacobs DP, Srimani PK (2003) Self-stabilizing algorithms for minimal dominating sets and maximal independent sets. Comput Math Appl 46(5–6):805–

811

7. Jain A, Gupta A (2005) A distributed self-stabilizing algorithm for finding a connected domi-nating set in a graph. In: Proc PDCAT. IEEE Computer Society, Los Alamitos, pp 615–619 8. Kamei S, Kakugawa H (2007) A self-stabilizing distributed approximation algorithm for the

minimum connected dominating set. In: IPDPS. IEEE Press, New York, pp 1–8

9. Karp RM (1991) Probabilistic recurrence relations. In: Proc 23rd annual ACM symposium on theory of computing (STOC 91), pp 190–197

10. Wattenhofer R Principles of distributed computing, Chapter 12. Class notes, ETH Zurich

Chapter 12

Matching

Abstract A matching M of a graph G(V , E)is a subset of its edges such that no two edges inM have common endpoints. Matching is a fundamental problem in graph theory, and although there are many sequential algorithms for matching, the distributed algorithms have begun to receive attention recently due to many ap-plications of matchings in distributed systems such as mobile and sensor networks.

Matching algorithms in distributed systems may also be the building blocks for other algorithms or protocols. In this chapter, we describe sample distributed algorithms for matching in graphs.

12.1 Introduction

The formal definitions for matching-related concepts are as follows.

Definition 12.1 (Matching) Given an undirected graphG(V , E), a matching (M) ofGis a subset of the edgesEsuch that no vertex inV is incident to more than one edge inM.

Definition 12.2 (Maximal matching) A maximal matching (MM) of a graph G(V , E)is a matching ofGthat is not properly contained in any other matching. In other words, a matching is maximal if we cannot add any edge to the existing set.

Definition 12.3 (Maximum matching) A maximum matching (MaxM) for a graph G(V , E)is a matching ofGthat has the largest number of edges among all possible matchings ofG.

The maximum matching problem is to find a matching inGwith maximum car-dinality.

Definition 12.4 (Maximum weighted matching) A maximum weighted matching (MaxWM) for a graphG(V , E, w), whereE:w→R, is a weighted matching ofG such that there does not exist any other weighted matching ofGwith total weight larger than MaxWM.

174 12 Matching

Fig. 12.1 Matching examples

Figure12.1displays matching examples where (a) and (b) are maximal match-ings of size 2 and (c) is a MaxM of size 3.

There may be diverse applications of matching in computer networks. For ex-ample, there could bekavailable resources, andmevents may be triggered at any time in a sensor network, and the requirement would be the handling of an event by just one node, which requires matching of mevents to k sensors. A network switch that connects its input ports to output ports so that no port is connected to more than one port is an example of bipartite matching, where the vertex setV of graphG(V , E)is partitioned into two disjoint sets V1andV2, anyeEhas two endpoints, one inV1and the other inV2, and novV is incident to more than one edge. Maximal bipartite matching seeks to find a maximal matching in a bipartite graph. Maximal bipartite weighted matching for the network switch example may be required if weights are associated with packets for their sizes or priorities, and the aim would be to match the input ports of the switch to the output ports to give the maximal matching for best performance.

A perfect matching (1-factor matching) matches all vertices of the graph, in which case every vertex of the graph is incident to exactly one edge of the matching.

For a matching M, an alternating path is a path in which the edges alternatively be-long and do not bebe-long to the matching. An augmenting path is an alternating path that starts from and ends on unmatched vertices. It can be proven that a matching is maximum if and only if it does not have any augmenting paths [3].

Unlike other graph problems, we have seen such as vertex coloring, maximal in-dependent set, and minimal dominating set; maximal matching and weighted match-ing of a graph can be found in polynomial time usmatch-ing an algorithm of Edmonds [3].

In this chapter, we classify and analyze distributed matching algorithms in three sections as unweighted, weighted, and self-stabilizing algorithms.

Dans le document To the memories of Necdet Doˇganata and (Page 179-184)