Skip to main content

Advertisement

Log in

Relationships between parent selection methods, looping constructs, and success rate in genetic programming

  • Published:
Genetic Programming and Evolvable Machines Aims and scope Submit manuscript

Abstract

In genetic programming, parent selection methods are employed to select promising candidate individuals from the current generation that can be used as parents for the next generation. These algorithms can affect, sometimes indirectly, whether or not individuals containing certain programming constructs, such as loops, are selected and propagated in the population. This in turn can affect the chances that the population will produce a solution to the problem. In this paper, we present the results of the experiments using three different parent selection methods on four benchmark program synthesis problems. We analyze the relationships between the selection methods, the numbers of individuals in the population that make use of loops, and success rates. The results show that the support for the selection of specialists is associated both with the use of loops in evolving populations and with higher success rates.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. This article is an expanded version of the paper presented at EuroGP 2020, which won the best paper award [9].

  2. https://github.com/lspector/Clojush/

  3. Other looping instructions are: exec_dup_times, exec_dup_items, exec_yankdup, exec_do\(\star\)count, exec_do\(\star\)times, exec_while, exec_do\(\star\)while, exec_s, exec_y, exec_do\(\star\)vector_integer, exec_do\(\star\)vector_float, exec_do\(\star\)vector_boolean, exec_do\(\star\)vector_string.

References

  1. E.K. Burke, S. Gustafson, G. Kendall, Diversity in genetic programming: An analysis of measures and correlation with fitness. IEEE Trans. Evol. Comput. 8(1), 47–62 (2004)

    Article  Google Scholar 

  2. T. Helmuth, N.F. McPhee, E. Pantridge, L. Spector, Improving generalization of evolved programs through automatic simplification. In: Proceedings of the Genetic and Evolutionary Computation Conference, pp. 937–944 (2017)

  3. T. Helmuth, N.F. McPhee, L. Spector, Program synthesis using uniform mutation by addition and deletion. In: Proceedings of the Genetic and Evolutionary Computation Conference, pp. 1127–1134 (2018)

  4. T. Helmuth, E. Pantridge, L. Spector, On the importance of specialists for lexicase selection. Genet. Program Evolvable Mach. 21(3), 349–373 (2020)

    Article  Google Scholar 

  5. T. Helmuth, L. Spector, General program synthesis benchmark suite. In: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, pp. 1039–1046 (2015)

  6. T. Helmuth, L. Spector, J. Matheson, Solving uncompromising problems with lexicase selection. IEEE Trans. Evol. Comput. 19(5), 630–643 (2014)

    Article  Google Scholar 

  7. X. Li, V. Ciesielski, An analysis of explicit loops in genetic programming. In: 2005 IEEE Congress on Evolutionary Computation, vol. 3, pp. 2522–2529. IEEE (2005)

  8. B. Metevier, A.K. Saini, L. Spector, Lexicase selection beyond genetic programming. In: Genetic Programming Theory and Practice XVI, pp. 123–136. Springer (2019)

  9. A.K. Saini, L. Spector, Effect of parent selection methods on modularity. In: European Conference on Genetic Programming (Part of EvoStar), pp. 184–194. Springer (2020)

  10. A.K. Saini, L. Spector, Using modularity metrics as design features to guide evolution in genetic programming. In: Genetic Programming Theory and Practice XVII, pp. 165–180. Springer (2020)

  11. L. Spector, A. Robinson, Genetic programming and autoconstructive evolution with the push programming language. Genet. Program Evolvable Mach. 3(1), 7–40 (2002)

    Article  Google Scholar 

  12. J.M. Swafford, E. Hemberg, M. O’Neill, A. Brabazon, Analyzing module usage in grammatical evolution. In: International Conference on Parallel Problem Solving from Nature, pp. 347–356. Springer (2012)

Download references

Acknowledgements

This material is based upon work supported by the National Science Foundation under Grant No. 1617087. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the authors and do not necessarily reflect the views of the National Science Foundation. This work was performed in part using high performance computing equipment obtained under a grant from the Collaborative R&D Fund managed by the Massachusetts Technology Collaborative.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anil Kumar Saini.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Saini, A.K., Spector, L. Relationships between parent selection methods, looping constructs, and success rate in genetic programming. Genet Program Evolvable Mach 22, 495–509 (2021). https://doi.org/10.1007/s10710-021-09417-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10710-021-09417-5

Keywords

Navigation