Making Randomized Algorithms Self-stabilizing
It is well known that the areas of self-stabilizing algorithms and local algorithms are closely related. Using program transformation techniques local algorithms can be made self-stabilizing, albeit an increase in run-time or memory consumption is often unavoidable. Unfortunately these techniques often do not apply to randomized algorithms, which are often simpler and faster than deterministic algorithms. In this paper we demonstrate that it is possible to take over ideas from randomized distributed algorithms to self-stabilizing algorithms. We present two simple self-stabilizing algorithms computing a maximal independent set and a maximal matching and terminate in the synchronous model with high probability in \(O(\log n)\) rounds. The algorithms outperform all existing algorithms that do not rely on unique identifiers.
- 3.Awerbuch, B., Varghese, G.: Distributed program checking: a paradigm for building self-stabilizing distributed protocols. In: Proceedings of 32nd Annual Symposium of Foundations of Computer Science, pp. 258–267, October 1991Google Scholar
- 5.Barenboim, L., Elkin, M., Goldenberg, U.: Locally-iterative distributed \((\varDelta +1)\)-Coloring below szegedy-vishwanathan barrier, and applications to self-stabilization and to restricted-bandwidth models. In: Proceedings of ACM Symposium on Principles of Distributed Computing, pp. 437–446 (2018)Google Scholar
- 12.Ghaffari, M.: An improved distributed algorithm for maximal independent set. In: Proceedings of 27th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 270–277 (2016)Google Scholar