Abstract
In this paper, we evaluate the role of genetic algorithms (GAs) for identifying optimal probabilities in probabilistic self-stabilizing algorithms. Although it is known that the use of probabilistic actions is beneficial for reducing the state space requirements and solving problems that are unsolvable in the deterministic manner, identifying the ideal probabilities is often difficult. This is especially the case where several independent probability values need to be selected. We analyze two token ring protocols proposed by Herman –an asymmetric program where one process is distinguished and a symmetric program where all processes are identical (anonymous). We find that for the asymmetric program, unequal probabilities are preferred for smaller rings. Moreover, the size of the ring for which equal probability is desirable increases with the increase in the states available to individual processes. By contrast, unequal probabilities are preferred for the symmetric token ring when the number of processes increases. We also consider the case where the symmetric protocol is modified to allow each process to choose the probabilities independently. We find that making a few processes almost deterministic reduces the expected convergence time. Finally, we note that the analysis in the paper can also be used to identify the increased cost of randomization when compared to a corresponding deterministic solution.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Annabelle, C.M.: Mcovera. An elementary proof that herman’s ring is (n2). Information Processing Letters 94(2), 79–84 (2005)
Arcuri, A., Yao, X.: A novel co-evolutionary approach to automatic software bug fixing. In: IEEE World Congress on Computational Intelligence Evolutionary Computation, pp. 162–168 (2008)
Arora, A., Gouda, M.: Closure and convergence: A foundation of fault-tolerant computing. IEEE Trans. Softw. Eng., 19(11), November 1993
Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: Nsga-ii. IEEE Transactions on Evolutionary Computation 6(2), 182–197 (2002)
Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Commun. ACM 17(11), 643–644 (1974)
Dolev, S.: Self-Stabilization. MIT Press (2000)
Feng, Y., Zhang, L.: A tighter bound for the self-stabilization time in herman’s algorithm. Inf. Process. Lett. 113(13), 486–488 (2013)
Forrest, S., Nguyen, T., Weimer, W., Goues, C.L.: A genetic programming approach to automated software repair. In: Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation, New York, NY, USA (2009)
Fribourg, L., Messika, S., Picaronny, C.: Coupling and self-stabilization. Distributed Computing 18(3), 221–232 (2006)
Haslegrave, J.: Bounds on herman’s algorithm. CoRR, abs/1405.5209 (2014)
Herman, T.: Probabilistic self-stabilization. Inf. Process. Lett. 35(2), 63–67 (1990)
Herman, T.: Self-stabilization: Randomness to reduce space. Distributed Computing 6(2), 95–98 (1992)
Hinton, A., Kwiatkowska, M., Norman, G., Parker, D.: PRISM: A Tool for Automatic Verification of Probabilistic Systems. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 441–444. Springer, Heidelberg (2006)
Hoepman, J.-H.: Uniform deterministic self-stabilizing ring-orientation on odd-length rings. In: Proceedings of the 8th International Workshop on Distributed Algorithms, WDAG 1994, pp. 265–279 (1994)
Holland, J.H.: Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control, and artificial intelligence. U Michigan Press (1975)
Huang, S.-T.: Leader election in uniform rings. ACM Trans. Program. Lang. Syst. 15(3), July 1993
Kiefer, S., Murawski, A.S., Ouaknine, J., Wachter, B., Worrell, J.: Three tokens in herman’s algorithm. Formal Asp. Comput. 24(4–6), 671–678 (2012)
Kwiatkowska, M.Z., Norman, G., Parker, D.: Probabilistic verification of herman’s self-stabilisation algorithm. Formal Asp. Comput. 24(4–6), 661–670 (2012)
Millard, A.G., White, D.R., Clark, J.A.: Searching for Pareto-optimal Randomised Algorithms. In: Fraser, G., Teixeira de Souza, J. (eds.) SSBSE 2012. LNCS, vol. 7515, pp. 183–197. Springer, Heidelberg (2012)
Nakata, T.: On the expected time for herman’s probabilistic self-stabilizing algorithm. Theor. Comput. Sci. 349(3), 475–483 (2005)
Weise, T., Tang, K.: Evolving distributed algorithms with genetic programming. IEEE Transactions on Evolutionary Computation 16(2), 242–265 (2012)
Weise, T., Zapf, M., Geihs, K.: Rule-based genetic programming. In: Bio-Inspired Models of Network, Information and Computing Systems, Bionetics 2007, 2nd edn. pp. 8–15 (2007)
Whitley, D.: A genetic algorithm tutorial. Statistics and Computing 4(2), 65–85 (1994)
Zhu, L., Kulkarni, S.: Using genetic programming to identify tradeoffs in self-stabilizing programs: A case study. In: Proceedings of the 2015 IEEE 35th International Conference on Distributed Computing Systems Workshops, ICDCSW 2015, Columbus, OH, USA (2015)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Zhu, L., Chen, J., Kulkarni, S. (2015). Refinement of Probabilistic Stabilizing Programs Using Genetic Algorithms. In: Pelc, A., Schwarzmann, A. (eds) Stabilization, Safety, and Security of Distributed Systems. SSS 2015. Lecture Notes in Computer Science(), vol 9212. Springer, Cham. https://doi.org/10.1007/978-3-319-21741-3_15
Download citation
DOI: https://doi.org/10.1007/978-3-319-21741-3_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-21740-6
Online ISBN: 978-3-319-21741-3
eBook Packages: Computer ScienceComputer Science (R0)