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.
- http://pushlanguage.orgGoogle Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- Helmuth, T., L. Spector, and J. Matheson. 2014. Solving Uncompromising Problems with Lexicase Selection. In IEEE Transactions on Evolutionary Computation. In press.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Spector, L., C. Perry, J. Klein, and M. Keijzer. 2004. Push 3.0 Programming Language Description. http://hampshire.edu/lspector/push3-description.html.Google Scholar
- Spector, L. 2004. Automatic Quantum Computer Programming: A Genetic Programming Approach. Boston, MA: Kluwer Academic Publishers. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- Robinson, A. 2001. Genetic Programming: Theory, Implementation, and the Evolution of Unconstrained Solutions. Hampshire College Division III (senior) thesis.Google Scholar
- 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 Scholar
- Poli, R., W. B. Langdon, and N. F. McPhee. 2008. A Field Guide to Genetic Programming. Lulu Enterprises. Google ScholarDigital Library
- 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 ScholarDigital Library
- Langdon, W. B., and R. Poli. 2002. Foundations of Genetic Programming. Springer. Google ScholarDigital Library
- 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 ScholarDigital Library
- Banzhaf, W., P. Nordin, R. E. Keller, and F. D. Francone. 1997. Genetic Programming: An Introduction. Morgan Kaufmann. Google ScholarDigital Library
- Koza, J. R. 1994. Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press. Google ScholarDigital Library
- Koza, J. R. 1992. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press. Google ScholarDigital Library
Index Terms
Expressive Genetic Programming
Recommendations
Expressive genetic programming
GECCO Comp '14: Proceedings of the Companion Publication of the 2014 Annual Conference on Genetic and Evolutionary ComputationThe 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 ...
Expressive genetic programming
GECCO '13 Companion: Proceedings of the 15th annual conference companion on Genetic and evolutionary computationThe 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 ...
Expressive Genetic Programming: Concepts and Applications
GECCO '16 Companion: Proceedings of the 2016 on Genetic and Evolutionary Computation Conference CompanionThe language in which evolving programs are expressed can have significant impacts on the dynamics and problem-solving capabilities of a genetic programming system. In GP these impacts are driven by far more than the absolute computational power of the ...
Comments