Refinement of Probabilistic Stabilizing Programs Using Genetic Algorithms

  • Ling ZhuEmail author
  • Jingshu Chen
  • Sandeep Kulkarni
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9212)


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.


Genetic Algorithm Convergence Time Optimal Probability Ring Size Nondominated Solution 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Annabelle, C.M.: Mcovera. An elementary proof that herman’s ring is (n2). Information Processing Letters 94(2), 79–84 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    Arora, A., Gouda, M.: Closure and convergence: A foundation of fault-tolerant computing. IEEE Trans. Softw. Eng., 19(11), November 1993Google Scholar
  4. 4.
    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)CrossRefGoogle Scholar
  5. 5.
    Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Commun. ACM 17(11), 643–644 (1974)CrossRefzbMATHGoogle Scholar
  6. 6.
    Dolev, S.: Self-Stabilization. MIT Press (2000)Google Scholar
  7. 7.
    Feng, Y., Zhang, L.: A tighter bound for the self-stabilization time in herman’s algorithm. Inf. Process. Lett. 113(13), 486–488 (2013)CrossRefzbMATHGoogle Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    Fribourg, L., Messika, S., Picaronny, C.: Coupling and self-stabilization. Distributed Computing 18(3), 221–232 (2006)CrossRefGoogle Scholar
  10. 10.
    Haslegrave, J.: Bounds on herman’s algorithm. CoRR, abs/1405.5209 (2014)Google Scholar
  11. 11.
    Herman, T.: Probabilistic self-stabilization. Inf. Process. Lett. 35(2), 63–67 (1990)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Herman, T.: Self-stabilization: Randomness to reduce space. Distributed Computing 6(2), 95–98 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    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) CrossRefGoogle Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    Holland, J.H.: Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control, and artificial intelligence. U Michigan Press (1975)Google Scholar
  16. 16.
    Huang, S.-T.: Leader election in uniform rings. ACM Trans. Program. Lang. Syst. 15(3), July 1993Google Scholar
  17. 17.
    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)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Kwiatkowska, M.Z., Norman, G., Parker, D.: Probabilistic verification of herman’s self-stabilisation algorithm. Formal Asp. Comput. 24(4–6), 661–670 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    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) CrossRefGoogle Scholar
  20. 20.
    Nakata, T.: On the expected time for herman’s probabilistic self-stabilizing algorithm. Theor. Comput. Sci. 349(3), 475–483 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Weise, T., Tang, K.: Evolving distributed algorithms with genetic programming. IEEE Transactions on Evolutionary Computation 16(2), 242–265 (2012)CrossRefGoogle Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    Whitley, D.: A genetic algorithm tutorial. Statistics and Computing 4(2), 65–85 (1994)CrossRefGoogle Scholar
  24. 24.
    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)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringMichigan State UniversityEast LansingUSA

Personalised recommendations