Skip to main content

Refinement of Probabilistic Stabilizing Programs Using Genetic Algorithms

  • Conference paper
  • First Online:
Stabilization, Safety, and Security of Distributed Systems (SSS 2015)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9212))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Annabelle, C.M.: Mcovera. An elementary proof that herman’s ring is (n2). Information Processing Letters 94(2), 79–84 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  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. Arora, A., Gouda, M.: Closure and convergence: A foundation of fault-tolerant computing. IEEE Trans. Softw. Eng., 19(11), November 1993

    Google Scholar 

  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)

    Article  Google Scholar 

  5. Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Commun. ACM 17(11), 643–644 (1974)

    Article  MATH  Google Scholar 

  6. Dolev, S.: Self-Stabilization. MIT Press (2000)

    Google Scholar 

  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)

    Article  MATH  Google Scholar 

  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. Fribourg, L., Messika, S., Picaronny, C.: Coupling and self-stabilization. Distributed Computing 18(3), 221–232 (2006)

    Article  Google Scholar 

  10. Haslegrave, J.: Bounds on herman’s algorithm. CoRR, abs/1405.5209 (2014)

    Google Scholar 

  11. Herman, T.: Probabilistic self-stabilization. Inf. Process. Lett. 35(2), 63–67 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  12. Herman, T.: Self-stabilization: Randomness to reduce space. Distributed Computing 6(2), 95–98 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. Huang, S.-T.: Leader election in uniform rings. ACM Trans. Program. Lang. Syst. 15(3), July 1993

    Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  20. Nakata, T.: On the expected time for herman’s probabilistic self-stabilizing algorithm. Theor. Comput. Sci. 349(3), 475–483 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  21. Weise, T., Tang, K.: Evolving distributed algorithms with genetic programming. IEEE Transactions on Evolutionary Computation 16(2), 242–265 (2012)

    Article  Google Scholar 

  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. Whitley, D.: A genetic algorithm tutorial. Statistics and Computing 4(2), 65–85 (1994)

    Article  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ling Zhu .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics