Skip to main content

Comparison of Linear Genome Representations for Software Synthesis

Part of the Genetic and Evolutionary Computation book series (GEVO)

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.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-030-39958-0_13
  • Chapter length: 20 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   139.00
Price excludes VAT (USA)
  • ISBN: 978-3-030-39958-0
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   179.99
Price excludes VAT (USA)
Hardcover Book
USD   179.99
Price excludes VAT (USA)
Fig. 13.1
Fig. 13.2
Fig. 13.3
Fig. 13.4
Fig. 13.5
Fig. 13.6
Fig. 13.7
Fig. 13.8
Fig. 13.9
Fig. 13.10

References

  1. 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

    Google Scholar 

  2. 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

  3. 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

  4. 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

  5. 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

  6. Helmuth, T., Spector, L., McPhee, N.F., Shanabrook, S.: Linear genomes for structured programs. In: Genetic Programming Theory and Practice XIV. Springer (2017)

    Google Scholar 

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

    CrossRef  Google Scholar 

  8. 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

    MATH  Google Scholar 

  9. 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

  10. Lalejini, A., Ofria, C.: Evolving event-driven programs with signalgp. CoRR abs/1804.05445 (2018). http://arxiv.org/abs/1804.05445

  11. 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

  12. 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

  13. 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

  14. 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

    CrossRef  Google Scholar 

  15. 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

  16. Rosin, C.D.: Stepping stones to inductive synthesis of low-level looping programs. CoRR abs/1811.10665 (2018). http://arxiv.org/abs/1811.10665

  17. 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

  18. 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

  19. 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

  20. 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

Download references

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

Authors

Corresponding authors

Correspondence to Edward Pantridge , Thomas Helmuth or Lee Spector .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Verify currency and authenticity via CrossMark

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)