Skip to main content

Linear Genomes for Structured Programs

  • Chapter
  • First Online:

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

Abstract

In most genetic programming systems, candidate solution programs themselves serve as genome upon which variation operators act. However, because of the hierarchical structure of computer programs and the syntactic constraints that they must obey, it is difficult to implement variation operators that affect different parts of programs with uniform probability. This lack of uniformity can have detrimental effects on evolutionary search, such as increases in code bloat. In prior work, structured programs were linearized prior to variation in order to facilitate uniform variation. However, this necessitated syntactic repair after variation, which reintroduced non-uniformities. In this chapter we describe a new approach that uses linear genomes that are translated into hierarchical programs for execution. We present the new approach in detail and show how it facilitates both uniform variation and the evolution of programs with meaningful structure.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   54.99
Price excludes VAT (USA)
  • Durable hardcover 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

Learn about institutional subscriptions

Notes

  1. 1.

    Linear Push.

References

  1. Helmuth, T., Spector, L.: General program synthesis benchmark suite. In: GECCO ’15: Proceedings of the 2015 on Genetic and Evolutionary Computation Conference, pp. 1039–1046. ACM, Madrid (2015). http://doi.acm.org/10.1145/2739480.2754769

  2. Helmuth, T., Spector, L., Martin, B.: Size-based tournaments for node selection. In: Nicolau, M. (ed.) GECCO 2011 Graduate Students Workshop, pp. 799–802. ACM, Dublin (2011). https://doi.org/10.1145/2001858.2002095

    Google Scholar 

  3. Helmuth, T., McPhee, N.F., Spector, L.: Lexicase selection for program synthesis: a diversity analysis. In: Genetic Programming Theory and Practice XIII, Genetic and Evolutionary Computation. Springer, Berlin (2015)

    Google Scholar 

  4. Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA (1992). http://mitpress.mit.edu/books/genetic-programming

    MATH  Google Scholar 

  5. La Cava, W., Spector, L.: Inheritable epigenetics in genetic programming. In: Riolo, R., Worzel, W.P., Kotanchek, M. (eds.) Genetic Programming Theory and Practice XII, Genetic and Evolutionary Computation, pp. 37–51. Springer, Ann Arbor (2014)

    Google Scholar 

  6. La Cava, W., Spector, L., Danai, K., Lackner, M.: Evolving differential equations with developmental linear genetic programming and epigenetic hill climbing. In: GECCO Comp ’14: Proceedings of the 2014 Conference Companion on Genetic and Evolutionary Computation Companion, pp. 141–142. ACM, Vancouver, BC (2014). https://doi.org/10.1145/2598394.2598491

  7. La Cava, W., Helmuth, T., Spector, L., Danai, K.: Genetic programming with epigenetic local search. In: GECCO ’15: Proceedings of the 2015 on Genetic and Evolutionary Computation Conference, Madrid, 2015, pp. 1055–1062

    Google Scholar 

  8. Luke, S.: Issues in scaling genetic programming: breeding strategies, tree generation, and code bloat. Ph.D. thesis, Department of Computer Science, University of Maryland, A. V. Williams Building, University of Maryland, College Park, MD (2000). http://www.cs.gmu.edu/~sean/papers/thesis2p.pdf

  9. Luke, S., Panait, L.: A comparison of bloat control methods for genetic programming. Evol. Comput. 14(3), 309–344 (2006)

    Article  Google Scholar 

  10. McPhee, N.F., Donatucci, D., Helmuth, T.: Using graph databases to explore the dynamics of genetic programming runs. In: Genetic Programming Theory and Practice XIII, Genetic and Evolutionary Computation. Springer, Berlin (2015)

    Google Scholar 

  11. Oltean, M., Grosan, C., Diosan, L., Mihaila, C.: Genetic programming with linear representation: a survey. Int. J. Artif. Intell. Tools 18(2), 197–238 (2009). https://doi.org/10.1142/S0218213009000111

    Article  Google Scholar 

  12. Page, J., Poli, R., Langdon, W.B.: Smooth uniform crossover with smooth point mutation in genetic programming: a preliminary study. Technical Report CSRP-98-20, University of Birmingham, School of Computer Science (1998). ftp://ftp.cs.bham.ac.uk/pub/tech-reports/1998/CSRP-98-20.ps.gz

  13. Perkis, T.: Stack-based genetic programming. In: Proceedings of the 1994 IEEE World Congress on Computational Intelligence, vol. 1, pp. 148–153. IEEE Press, Orlando, FL (1994). https://doi.org/10.1109/ICEC.1994.350025. http://citeseer.ist.psu.edu/432690.html

  14. Poli, R., Langdon, W.B.: On the search properties of different crossover operators in genetic programming. In: Koza, J.R., Banzhaf, W., Chellapilla, K., Deb, K., Dorigo, M., Fogel, D.B., Garzon, M.H., Goldberg, D.E., Iba, H., Riolo R. (eds.) Genetic Programming 1998: Proceedings of the Third Annual Conference, pp. 293–301. Morgan Kaufmann, University of Wisconsin, Madison, WI (1998). http://www.cs.essex.ac.uk/staff/poli/papers/Poli-GP1998.pdf

    Google Scholar 

  15. Poli, R., Page, J.: Solving high-order Boolean parity problems with smooth uniform crossover, sub-machine code GP and demes. Genet. Program. Evolvable Mach. 1(1/2), 37–56 (2000). https://doi.org/doi:10.1023/A:1010068314282. http://citeseer.ist.psu.edu/335584.html

    Article  Google Scholar 

  16. Ryan, C., Collins, J.J., O’Neill, M.: Grammatical evolution: evolving programs for an arbitrary language. In: Banzhaf, W., Poli R., Schoenauer, M., Fogarty T.C. (eds.) Proceedings of the First European Workshop on Genetic Programming, Lecture Notes in Computer Science, vol. 1391, pp. 83–96. Springer, Paris (1998). https://doi.org/10.1007/BFb0055930. http://www.lania.mx/~ccoello/eurogp98.ps.gz

    Google Scholar 

  17. Silva, S., Costa, E.: Dynamic limits for bloat control in genetic programming and a review of past and current bloat theories. Genet. Program. Evolvable Mach. 10(2), 141–179 (2009). https://doi.org/10.1007/s10710-008-9075-9

    Article  Google Scholar 

  18. Spector, L., Helmuth, T.: Uniform linear transformation with repair and alternation in genetic programming. In: Riolo, R., Moore, J.H., Kotanchek M. (eds.) Genetic Programming Theory and Practice XI, Genetic and Evolutionary Computation, chap. 8, pp. 137–153. Springer, Ann Arbor (2013). https://doi.org/10.1007/978-1-4939-0375-7_8

    Google Scholar 

  19. Spector, L., Robinson, A.: Genetic programming and autoconstructive evolution with the push programming language. Genet. Program. Evolvable Mach. 3(1), 7–40 (2002). https://doi.org/10.1023/A:1014538503543. http://hampshire.edu/lspector/pubs/push-gpem-final.pdf

    Article  Google Scholar 

  20. Spector, L., Moore, R., Robinson, A.: Virtual quidditch: A challenge problem for automatically programmed software agents. In: Goodman, E.D. (ed.) 2001 Genetic and Evolutionary Computation Conference Late Breaking Papers, San Francisco, CA, 2001, pp. 384–389. http://hampshire.edu/lspector/pubs/quidditch-cite.pdf

    Google Scholar 

  21. Spector, L., Klein, J., Perry, C., Feinstein, M.: Emergence of collective behavior in evolving populations of flying agents. Genet. Program. Evolvable Mach. 6(1), 111–125 (2005). https://doi.org/10.1007/s10710-005-7620-3. http://hampshire.edu/lspector/pubs/emergence-collective-GPEM.pdf

    Article  Google Scholar 

  22. Trujillo, L., Z-Flores, E., Juárez-Smith, P., Legrand, P., Silva, S., Castelli, M., Vanneschi, L., Schütze, O., Muñoz, L.: Local search is underused in genetic programming. In: Genetic Programming Theory and Practice XIV, Genetic and Evolutionary Computation. Springer, Berlin (2016)

    Google Scholar 

  23. Van Belle, T., Ackley, D.H.: Uniform subtree mutation. In: Foster, J.A., Lutton, E., Miller, J., Ryan, C., Tettamanzi, A.G.B. (eds.) Genetic Programming, Proceedings of the 5th European Conference, EuroGP 2002. Lecture Notes in Computer Science, vol. 2278, pp. 152–161. Springer, Kinsale (2002)

    Google Scholar 

Download references

Acknowledgements

This material is based upon work supported by the National Science Foundation under Grants No. 1129139 and 1331283. 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 author

Correspondence to Thomas Helmuth .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Helmuth, T., Spector, L., McPhee, N.F., Shanabrook, S. (2018). Linear Genomes for Structured Programs. In: Riolo, R., Worzel, B., Goldman, B., Tozier, B. (eds) Genetic Programming Theory and Practice XIV. Genetic and Evolutionary Computation. Springer, Cham. https://doi.org/10.1007/978-3-319-97088-2_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-97088-2_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-97087-5

  • Online ISBN: 978-3-319-97088-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics