Refinement of Probabilistic Stabilizing Programs Using Genetic Algorithms
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.
KeywordsGenetic Algorithm Convergence Time Optimal Probability Ring Size Nondominated Solution
Unable to display preview. Download preview PDF.
- 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 1993Google Scholar
- 6.Dolev, S.: Self-Stabilization. MIT Press (2000)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
- 10.Haslegrave, J.: Bounds on herman’s algorithm. CoRR, abs/1405.5209 (2014)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 1993Google 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
- 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