Abstract
A matching \({E_\mathcal{M}}\) of graph G = (V, E) is a subset of the edges E, such that no vertex in V is incident to more than one edge in \({E_\mathcal{M}}\) . The matching \({E_\mathcal{M}}\) is maximum if there is no matching in G with size strictly larger than the size of \({E_\mathcal{M}}\) . In this paper, we present a distributed stabilizing algorithm for finding maximum matching in bipartite graphs based on the stabilizing PIF algorithm of Cournier et al. (Proceedings of 21st IEEE international conference on distributed computing systems, 91–98, 2001). Since our algorithm is stabilizing, it does not require initialization and withstands transient faults. The complexity of the proposed algorithm is O(d × n) rounds, where d is the diameter of the communication network and n is the number of nodes in the network. The space complexity is O(log Δ + log d), where Δ is the largest degree of all the nodes in the communication network. In addition, an optimal version of the proposed algorithm finding maximum matching in linear time is also presented.
Similar content being viewed by others
References
Arora A, Gouda MG (1994) Distributed reset. IEEE Trans Comput 43: 1026–1038
Arora A, Nesterenko M (2005) Unifying stabilization and termination in message-passing systems. Distrib Comput 17(3): 279–290
Berge C (1957) Two theorems in graph theory. Proc Natl Acad Sci 43: 842–844
Brown GM, Gouda MG, Wu CL (1989) Token systems that self-stabilize. IEEE Trans Comput 38(6): 844–852
Bruell SC, Ghosh S, Karaata MH, Pemmaraju SV (1999) Self-stabilizing algorithms for finding centers and medians of trees. SIAM J Comput 29(2): 600–614
Burns JE, Pachl J (1989) Uniform self-stabilizing rings. ACM Trans Program Lang Syst 11: 330–344
Chattopadhyay S, Higham L, Seyffarth K (2002) Dynamic and self-stabilizing distributed matching. In: PODC, pp 290–297
Cournier A, Datta AK, Petit F, Villain V (2001) Self-stabilizing PIF algorithm in arbitrary rooted networks. In: Proceedings of 21st IEEE international conference on distributed computing systems, pp 91–98
Cournier A, Devismes S, Villain V (2006). Snap-stabilizing pif and useless computations. In: ICPADS’06: Proceedings of the 12th international conference on parallel and distributed systems. IEEE Computer Society, Washington, DC, USA, pp 39–48
Dasgupta A, Ghosh S, Tixeuil S (2006) Selfish stabilization. In: Datta AK, Gradinariu M (eds) SSS. Lecture notes in computer science, vol 4280. Springer, Berlin, pp 231–243
Datta AK, Johnen C, Petit F, Villain V (2000) Self-stabilizing depth-first token circulation in arbitrary rooted networks. Distrib Comput 13(4): 207–218
Dijkstra EW (1974) Self-stabilizing systems in spite of distributed control. Commun ACM 17(11): 643–644. doi:10.1145/361179.361202
Edmonds J (1965) Paths, trees, and flowers. Can J Math 17: 449–467
Galil Z (1986) Efficient algorithms for finding maximum matchings in graphs. ACM Comput Surv 18(1): 171–175
Ghosh S, Bejan A (2003) A framework of safe stabilization. In: Huang S-T, Herman T (eds) Self-stabilizing systems. Lecture notes in computer science, vol 2704. Springer, Berlin, pp 129–140
Ghosh S, He X (2000) Fault-containing self-stabilization using priority scheduling. Inf Process Lett 73(3–4): 145–151
Gibbons A (1985) Algorithmic graph theory. Cambridge University Press, Cambridge
Gouda MG (2002) Multiphase stabilization. IEEE Trans Softw Eng 28(2): 201–208
Gouda MG, Haddix FF (2007) The alternator. Distrib Comput 20(1): 21–28
Hopcroft JE, Karp RM (1973) An n 5/2 algorithm for maximum matchings in bipartite graphs. SIAM J Comput 2: 225–231
Huang S-T, Chen N-S (1993) Self-stabilizing depth-first token circulation on networks. Distrib Comput 7: 61–66
Karaata MH, Saleh KA (2000) A distributed self-stabilizing algorithm for finding maximum matching. Comput Syst Sci Eng 15(3): 175–180
Katz S, Perry KJ (1993) Self-stabilizing extensions for message-passing systems. Distrib Comput 7: 17–26
Micali S, Vazirani VV (1980) An O(sqrt(|v|) |e|) algorithm for finding maximum matching in general graphs. In: FOCS. IEEE, pp 17–27
Nesterenko M, Arora A (2002) Stabilization-preserving atomicity refinement. J Parallel Distrib Comput 65(2): 766–791
Author information
Authors and Affiliations
Corresponding author
Additional information
This research was supported by the Kuwait University Research Administration under grant EO-01/06.
Rights and permissions
About this article
Cite this article
Hadid, R., Karaata, M.H. Stabilizing maximum matching in bipartite networks. Computing 84, 121–138 (2009). https://doi.org/10.1007/s00607-009-0025-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-009-0025-z
Keywords
- Distributed systems
- Fault-tolerance
- Propagation of information with feedback and cleaning
- Self-stabilization
- Maximum matching