Genetic programming: on the programming of computers by means of natural selection
Genetic programming: on the programming of computers by means of natural selection
Genetic programming II: automatic discovery of reusable programs
Genetic programming II: automatic discovery of reusable programs
Genetic programming: an introduction: on the automatic evolution of computer programs and its applications
Foundations of genetic programming
Foundations of genetic programming
Genetic Programming III: Darwinian Invention & Problem Solving
Genetic Programming III: Darwinian Invention & Problem Solving
Genetic Programming and Autoconstructive Evolution with the Push Programming Language
Genetic Programming and Evolvable Machines
Size Control Via Size Fair Genetic Operators In The PushGP Genetic Programming System
GECCO '02 Proceedings of the Genetic and Evolutionary Computation Conference
Adaptive populations of endogenously diversifying Pushpop organisms are reliably diverse
ICAL 2003 Proceedings of the eighth international conference on Artificial life
Emergence of Collective Behavior in Evolving Populations of Flying Agents
Genetic Programming and Evolvable Machines
The Push3 execution stack and the evolution of control
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Automatic Quantum Computer Programming: A Genetic Programming Approach (Genetic Programming)
Automatic Quantum Computer Programming: A Genetic Programming Approach (Genetic Programming)
Unwitting distributed genetic programming via asynchronous JavaScript and XML
Proceedings of the 9th annual conference on Genetic and evolutionary computation
Genetic programming for finite algebras
Proceedings of the 10th annual conference on Genetic and evolutionary computation
Machine invention of quantum computing circuits by means of genetic programming
Artificial Intelligence for Engineering Design, Analysis and Manufacturing
Emergence of collective behavior in evolving populations of flying agents
GECCO'03 Proceedings of the 2003 international conference on Genetic and evolutionary computation: PartI
A Field Guide to Genetic Programming
A Field Guide to Genetic Programming
Evolution of reward functions for reinforcement learning
Proceedings of the 13th annual conference companion on Genetic and evolutionary computation
Genetic Programming for Reward Function Search
IEEE Transactions on Autonomous Mental Development
Tag-based modularity in tree-based genetic programming
Proceedings of the 14th annual conference on Genetic and evolutionary computation
Autoconstructive evolution for structural problems
Proceedings of the 14th annual conference companion on Genetic and evolutionary computation
Proceedings of the 14th annual conference companion on Genetic and evolutionary computation
Hi-index | 0.00 |
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 with a comparative survey of approaches to the evolution of programs in expressive programming languages ranging from machine code to graphical and grammatical representations. 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 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.