Abstract
In many genetic programming systems, the program variation and execution processes operate on different program representations. The representations on which variation operates are referred to as genomes. Unconstrained linear genome representations can provide a variety of advantages, including reduced complexity of program generation, variation, simplification and serialization operations. The Plush genome representation, which uses epigenetic markers on linear genomes to express nonlinear structures, has supported the production of state-of-the-art results in program synthesis with the PushGP genetic programming system. Here we present a new, simpler, non-epigenetic alternative to Plush, called Plushy, that appears to maintain all of the advantages of Plush while providing additional benefits. These results illustrate the virtues of unconstrained linear genome representations more generally, and may be transferable to genetic programming systems that target different languages for evolved programs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Forstenlechner, S., Fagan, D., Nicolau, M., O’Neill, M.: A grammar design pattern for arbitrary program synthesis problems in genetic programming. In: M. Castelli, J. McDermott, L. Sekanina (eds.) EuroGP 2017: Proceedings of the 20th European Conference on Genetic Programming, LNCS, vol. 10196, pp. 262–277. Springer Verlag, Amsterdam (2017). https://doi.org/10.1007/978-3-319-55696-3_17
Helmuth, T., McPhee, N.F., Pantridge, E., Spector, L.: Improving generalization of evolved programs through automatic simplification. In: Proceedings of the Genetic and Evolutionary Computation Conference, GECCO ’17, pp. 937–944. ACM, Berlin, Germany (2017). https://doi.org/10.1145/3071178.3071330. http://doi.acm.org/10.1145/3071178.3071330
Helmuth, T., McPhee, N.F., Spector, L.: Program synthesis using uniform mutation by addition and deletion. In: Proceedings of the Genetic and Evolutionary Computation Conference, GECCO ’18, pp. 1127–1134. ACM, New York, NY, USA (2018). https://doi.org/10.1145/3205455.3205603. http://doi.acm.org/10.1145/3205455.3205603
Helmuth, T., Spector, L.: Detailed problem descriptions for general program synthesis benchmark suite. Technical Report UM-CS-2015-006, Computer Science, University of Massachusetts, Amherst (2015). https://web.cs.umass.edu/publication/details.php?id=2387
Helmuth, T., Spector, L.: General program synthesis benchmark suite. In: GECCO ’15: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, pp. 1039–1046. ACM, Madrid, Spain (2015). https://doi.org/10.1145/2739480.2754769. http://doi.acm.org/10.1145/2739480.2754769
Helmuth, T., Spector, L., McPhee, N.F., Shanabrook, S.: Linear genomes for structured programs. In: Genetic Programming Theory and Practice XIV. Springer (2017)
Kitzelmann, E.: Inductive programming: A survey of program synthesis techniques. In: U. Schmid, E. Kitzelmann, R. Plasmeijer (eds.) Approaches and Applications of Inductive Programming, pp. 50–73. Springer Berlin Heidelberg, Berlin, Heidelberg (2010)
Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA (1992). http://mitpress.mit.edu/books/genetic-programming
La Cava, W., Helmuth, T., Spector, L., Danai, K.: Genetic programming with epigenetic local search. In: GECCO ’15: Proceedings of the 2015 conference on Genetic and Evolutionary Computation Conference, pp. 1055–1062. ACM, Madrid, Spain (2015). https://doi.org/10.1145/2739480.2754763. http://doi.acm.org/10.1145/2739480.2754763
Lalejini, A., Ofria, C.: Evolving event-driven programs with signalgp. CoRR abs/1804.05445 (2018). http://arxiv.org/abs/1804.05445
Pantridge, E., Helmuth, T., McPhee, N.F., Spector, L.: On the difficulty of benchmarking inductive program synthesis methods. In: Proceedings of the Genetic and Evolutionary Computation Conference Companion, GECCO ’17, pp. 1589–1596. ACM, New York, NY, USA (2017). https://doi.org/10.1145/3067695.3082533. http://doi.acm.org/10.1145/3067695.3082533
Pantridge, E., Spector, L.: PyshGP: PushGP in python. In: Proceedings of the Genetic and Evolutionary Computation Conference Companion, GECCO ’17, pp. 1255–1262. ACM, Berlin, Germany (2017). https://doi.org/10.1145/3067695.3082468. http://doi.acm.org/10.1145/3067695.3082468
Pantridge, E., Spector, L.: Plushi: An embeddable, language agnostic, push interpreter. In: Proceedings of the Genetic and Evolutionary Computation Conference Companion, GECCO ’18, pp. 1379–1385. ACM, New York, NY, USA (2018). https://doi.org/10.1145/3205651.3208296. http://doi.acm.org/10.1145/3205651.3208296
Perelman, D., Gulwani, S., Grossman, D., Provost, P.: Test-driven synthesis. ACM SIGPLAN Notices 49(6), 408–418 (2014). https://doi.org/10.1145/2594291.2594297
Robinson, A.: Genetic programming: Theory, implementation, and the evolution of unconstrained solutions. Division iii thesis, Hampshire College (2001). http://hampshire.edu/lspector/robinson-div3.pdf
Rosin, C.D.: Stepping stones to inductive synthesis of low-level looping programs. CoRR abs/1811.10665 (2018). http://arxiv.org/abs/1811.10665
Spector, L., Helmuth, T.: Uniform linear transformation with repair and alternation in genetic programming. In: Genetic Programming Theory and Practice XI, Genetic and Evolutionary Computation, chap. 8, pp. 137–153. Springer, Ann Arbor, USA (2013). https://doi.org/10.1007/978-1-4939-0375-7_8. http://link.springer.com/chapter/10.1007%2F978-1-4939-0375-7_8
Spector, L., Helmuth, T.: Effective simplification of evolved push programs using a simple, stochastic hill-climber. In: GECCO Comp ’14: Proceedings of the 2014 conference companion on Genetic and evolutionary computation companion, pp. 147–148. ACM, Vancouver, BC, Canada (2014). https://doi.org/10.1145/2598394.2598414. http://doi.acm.org/10.1145/2598394.2598414
Spector, L., Klein, J., Keijzer, M.: The push3 execution stack and the evolution of control. In: GECCO 2005: Proceedings of the 2005 conference on Genetic and evolutionary computation, vol. 2, pp. 1689–1696. ACM Press, Washington DC, USA (2005). https://doi.org/10.1145/1068009.1068292. http://www.cs.bham.ac.uk/~wbl/biblio/gecco2005/docs/p1689.pdf
Spector, L., Robinson, A.: Genetic programming and autoconstructive evolution with the push programming language. Genetic Programming and Evolvable Machines 3(1), 7–40 (2002). https://doi.org/10.1023/A:1014538503543. http://hampshire.edu/lspector/pubs/push-gpem-final.pdf
Acknowledgements
Feedback and discussions that improved this work were provided by other members of the Hampshire College Institute for Computational Intelligence, and by participants in the Genetic Programming Theory and Practice workshop.
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.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Pantridge, E., Helmuth, T., Spector, L. (2020). Comparison of Linear Genome Representations for Software Synthesis. In: Banzhaf, W., Goodman, E., Sheneman, L., Trujillo, L., Worzel, B. (eds) Genetic Programming Theory and Practice XVII. Genetic and Evolutionary Computation. Springer, Cham. https://doi.org/10.1007/978-3-030-39958-0_13
Download citation
DOI: https://doi.org/10.1007/978-3-030-39958-0_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-39957-3
Online ISBN: 978-3-030-39958-0
eBook Packages: Computer ScienceComputer Science (R0)