skip to main content
10.1145/2739482.2756578acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
tutorial

Expressive Genetic Programming

Published:11 July 2015Publication History

ABSTRACT

The language in which evolving programs are expressed can have significant impacts on the problem-solving capabilities of a genetic programming system. These impacts stem both from the absolute computational power of the languages that are used, as elucidated by formal language theory, and from the ease with which various computational structures can be produced by random code generation and by the action of genetic operators. Highly expressive languages can facilitate the evolution of programs for any computable function using, when appropriate, multiple data types, evolved subroutines, evolved control structures, evolved data structures, and evolved modular program and data architectures. In some cases expressive languages can even support the evolution of programs that express methods for their own reproduction and variation (and hence for the evolution of their offspring).

This tutorial will begin by presenting a range of approaches that have been taken for evolving programs in expressive programming languages. Within this context it will then provide a detailed introduction to the Push programming language, which was designed specifically for expressiveness and specifically for use in genetic programming systems. Push programs are syntactically unconstrained but can nonetheless make use of multiple data types and express arbitrary control structures, supporting the evolution of complex, modular programs in a particularly simple and flexible way. The Push language will be described and demonstrated, and over ten years of Push-based research, including the production of human-competitive results, will be briefly surveyed. The tutorial will conclude with a discussion of recent enhancements to Push that are intended to support the evolution of complex and robust software systems.

References

  1. http://pushlanguage.orgGoogle ScholarGoogle Scholar
  2. Helmuth, T., and L. Spector. 2015. General Program Synthesis Benchmark Suite. In Proceedings of the 2015 Genetic and Evolutionary Computation Conference, GECCO'15. ACM Press. In press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Kannappan, K., L. Spector, M. Sipper, T. Helmuth, W. La Cava, J. Wisdom, and O. Bernstein. 2015. Analyzing a decade of Human-competitive ("HUMIE") winners -- what can we learn? In Genetic Programming Theory and Practice XII. New York: Springer. In press.Google ScholarGoogle Scholar
  4. La Cava, W., and L. Spector. 2015. Inheritable Epigenetics in Genetic Programming. In Genetic Programming Theory and Practice XII. New York: Springer. In press.Google ScholarGoogle Scholar
  5. Helmuth, T., L. Spector, and J. Matheson. 2014. Solving Uncompromising Problems with Lexicase Selection. In IEEE Transactions on Evolutionary Computation. In press.Google ScholarGoogle Scholar
  6. Helmuth, T., and L. Spector. 2014. Word Count as a Traditional Programming Benchmark Problem for Genetic Programming. In Proceedings of the 2014 Genetic and Evolutionary Computation Conference, GECCO'14. ACM Press. pp. 919--926. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Spector, L., K. Harrington, and T. Helmuth. 2012.Tag-based Modularity in Tree-based Genetic Programming. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2012). ACM Press. pp. 815--822. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Harrington, K. I., L. Spector, J. B. Pollack, and U.-M. O'Reilly. 2012. Autoconstructive Evolution for Structural Problems. In Companion Publication of the 2012 Genetic and Evolutionary Computation Conference, GECCO'12 Companion. ACM Press. pp. 75--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Harrington, K., E. Tosch, L. Spector, and J. Pollack. 2011. Compositional Autoconstructive Dynamics. Unifying Themes in Complex Systems Volume VIII: Proceedings of the Eighth International Conference on Complex Systems. New England Complex Systems Institute Series on Complexity. NECSI Knowledge Press. pp. 856--870.Google ScholarGoogle Scholar
  10. Spector, L., K. Harrington, B. Martin, and T. Helmuth. 2011. What's in an Evolved Name? The Evolution of Modularity via Tag-Based Reference. In Genetic Programming Theory and Practice IX. New York: Springer. pp. 1--16.Google ScholarGoogle Scholar
  11. Spector, L. 2010. Towards Practical Autoconstructive Evolution: Self-Evolution of Problem-Solving Genetic Programming Systems. In Genetic Programming Theory and Practice VIII, R. L. Riolo, T. McConaghy, and E. Vladislavleva, eds. pp. 17--33.:Springer.Google ScholarGoogle Scholar
  12. Spector, L., and J. Klein. 2008. Machine Invention of Quantum Computing Circuits by Means of Genetic Programming. In AI-EDAM: Artificial Intelligence for Engineering Design, Analysis and Manufacturing, Vol. 22, No. 3, pp. 275--283. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Spector, L., D. M. Clark, I. Lindsay, B. Barr, and J. Klein. 2008. Genetic Programming for Finite Algebras. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2008). ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Spector, L., J. Klein, and M. Keijzer. 2005. The Push3 Execution Stack and the Evolution of Control. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2005), pp. 1689--1696. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Spector, L., J. Klein, C. Perry, and M. Feinstein. 2005. Emergence of Collective Behavior in Evolving Populations of Flying Agents. In Genetic Programming and Evolvable Machines, Vol. 6, No. 1, pp. 111--125. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Spector, L., C. Perry, J. Klein, and M. Keijzer. 2004. Push 3.0 Programming Language Description. http://hampshire.edu/lspector/push3-description.html.Google ScholarGoogle Scholar
  17. Spector, L. 2004. Automatic Quantum Computer Programming: A Genetic Programming Approach. Boston, MA: Kluwer Academic Publishers. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Spector, L., J. Klein, and C. Perry. 2004. Tags and the Evolution of Cooperation in Complex Environments. In Proceedings of the AAAI 2004 Symposium on Artificial Multiagent Learning. Melno Park, CA: AAAI Press.Google ScholarGoogle Scholar
  19. Spector, L., and A. Robinson. 2002. Genetic Programming and Autoconstructive Evolution with the Push Programming Language. In Genetic Programming and Evolvable Machines, Vol. 3, No. 1, pp. 7--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Crawford-Marks, R., and L. Spector. 2002. Size Control via Size Fair Genetic Operators in the PushGP Genetic Programming System. In W. B. Langdon et al. (editors), Proceedings of the Genetic and Evolutionary Computation Conference, GECCO-2002, pp. 733--739. San Francisco, CA: Morgan Kaufmann Publishers. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Spector, L. 2002. Adaptive populations of endogenously diversifying Pushpop organisms are reliably diverse. In R. K. Standish, M. A. Bedau, and H. A. Abbass (eds.), Proceedings of Artificial Life VIII, the 8th International Conference on the Simulation and Synthesis of Living Systems, pp. 142--145. Cambridge, MA: The MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Spector, L. 2001. Autoconstructive Evolution: Push, PushGP, and Pushpop. In Spector, L. et al. (editors), Proceedings of the Genetic and Evolutionary Computation Conference, GECCO-2001, 137--146. San Francisco, CA: Morgan Kaufmann Publishers.Google ScholarGoogle Scholar
  23. Spector, L. 2001. Autoconstructive Evolution: Push, PushGP, and Pushpop. In Proceedings of the Genetic and Evolutionary Computation Conference, GECCO-2001, pp. 137--146. San Francisco, CA: Morgan Kaufmann Publishers.Google ScholarGoogle Scholar
  24. Robinson, A. 2001. Genetic Programming: Theory, Implementation, and the Evolution of Unconstrained Solutions. Hampshire College Division III (senior) thesis.Google ScholarGoogle Scholar
  25. Langdon, W. B., R. I. McKay, and L. Spector. 2010. Genetic Programming. In Handbook of Metaheuristics, 2nd edition, edited by J.-Y. Potvin and M. Gendreau, pp. 185--226. New York: Springer-Verlag.Google ScholarGoogle Scholar
  26. Poli, R., W. B. Langdon, and N. F. McPhee. 2008. A Field Guide to Genetic Programming. Lulu Enterprises. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Koza, J. R., M. A. Keane, M. J. Streeter, W. Mydlowec, J. Yu, and G. Lanza. 2005. Genetic Programming IV: Routine Human-Competitive Machine Intelligence. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Langdon, W. B., and R. Poli. 2002. Foundations of Genetic Programming. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Koza, J. R., F. H Bennett III, D. Andre, and M. A. Keane. 1999. Genetic Programming III: Darwinian Invention and Problem Solving. Morgan Kaufmann. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Banzhaf, W., P. Nordin, R. E. Keller, and F. D. Francone. 1997. Genetic Programming: An Introduction. Morgan Kaufmann. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Koza, J. R. 1994. Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Koza, J. R. 1992. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Expressive Genetic Programming

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          GECCO Companion '15: Proceedings of the Companion Publication of the 2015 Annual Conference on Genetic and Evolutionary Computation
          July 2015
          1568 pages
          ISBN:9781450334884
          DOI:10.1145/2739482

          Copyright © 2015 Owner/Author

          Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 11 July 2015

          Check for updates

          Qualifiers

          • tutorial

          Acceptance Rates

          Overall Acceptance Rate1,669of4,410submissions,38%

          Upcoming Conference

          GECCO '24
          Genetic and Evolutionary Computation Conference
          July 14 - 18, 2024
          Melbourne , VIC , Australia
        • Article Metrics

          • Downloads (Last 12 months)2
          • Downloads (Last 6 weeks)1

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader