Genetic Programming and Autoconstructive Evolution with the Push Programming Language

@article{Spector2004GeneticPA,
  title={Genetic Programming and Autoconstructive Evolution with the Push Programming Language},
  author={Lee Spector and Alan J. Robinson},
  journal={Genetic Programming and Evolvable Machines},
  year={2004},
  volume={3},
  pages={7-40}
}
Push is a programming language designed for the expression of evolving programs within an evolutionary computation system. This article describes Push and illustrates some of the opportunities that it presents for evolutionary computation. Two evolutionary computation systems, PushGP and Pushpop, are described in detail. PushGP is a genetic programming system that evolves Push programs to solve computational problems. Pushpop, an “autoconstructive evolution” system, also evolves Push programs… Expand
The Push3 execution stack and the evolution of control
TLDR
This paper provides a brief introduction to Push and to execution stack manipulation in Push3, and presents a series of examples in which Push3 was used with a simple genetic programming system (PushGP) to evolve programs with non-trivial control structures. Expand
Expressive Genetic Programming: Concepts and Applications
TLDR
This tutorial will present a range of approaches that have been taken for evolving programs in expressive programming languages, and provides a detailed introduction to the Push programming language, which was designed specifically for expressiveness in genetic programming systems. Expand
Autoconstructive evolution for structural problems
TLDR
This study contrasts autoconstructive evolution, in which intergenerational variation is accomplished by the evolving programs themselves, with a genetic programming system, PushGP, to understand the dynamics of this hybrid approach. Expand
Towards Practical Autoconstructive Evolution: Self-Evolution of Problem-Solving Genetic Programming Systems
TLDR
The motivation for the autoconstructive evolution approach is presented, how it can be instantiated using the Push programming language is shown, and how to chart a course for future work focused on the production of practical systems that can solve hard problems are charted. Expand
Expressive genetic programming: tutorial: 2012 genetic and evolutionary computation conference (GECCO-2012)
TLDR
The Push programming language is described, which was designed specifically for expressiveness and specifically for use in genetic programming systems, and a discussion of recent enhancements to Push are intended to support the evolution of complex and robust software systems. Expand
Expressive genetic programming
TLDR
The Push programming language is described and demonstrated, and ten years of Push-based research, including the production of human-competitive results, will be briefly surveyed. Expand
Evolving high-level imperative program trees with genetic programming
TLDR
A novel set of extensions to Montana’s Strongly Typed Genetic Programming system are presented that provide a mechanism for constraining the structure of program trees and it is demonstrated that these constraints are sufficient to evolve programs with a naturally imperative structure and to support the use of many common high-level imperative language constructs such as loops. Expand
Expressive genetic programming
TLDR
The Push programming language is described, which was designed specifically for expressiveness and specifically for use in genetic programming systems, and a discussion of recent enhancements to Push are intended to support the evolution of complex and robust software systems. Expand
Effective simplification of evolved push programs using a simple, stochastic hill-climber
TLDR
This work shows how evolved programs expressed in the stack-based Push programming language can be automatically and reliably simplified using a simple, stochastic hill-climber and quantitatively characterize this simplification process on four non-trivial genetic programming problems with qualitatively different function sets. Expand
Introduction to Evolutionary Computation and Genetic Programming
  • J. Miller
  • Computer Science
  • Cartesian Genetic Programming
  • 2011
In this chapter we describe evolutionary computation (EC) and in particular a sub-branch of it known as genetic programming (GP). We discuss the five most widely used forms of GP: Tree-based, LinearExpand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 68 REFERENCES
Autoconstructive Evolution : Push , PushGP , and Pushpop
This paper is a preliminary report on autoconstructive evolution, a framework for evolutionary computation in which the machinery of reproduction and diversification (and thereby the machinery ofExpand
Automatic Generation of Adaptive Programs
TLDR
In this paper the ontogenetic programming methodology is described and two examples of its use are presented, one for binary sequence prediction and the other for action selection in a virtual world. Expand
Experiments with a coroutine execution model for genetic programming
  • S. R. Maxwell
  • Computer Science
  • Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence
  • 1994
TLDR
The genetic programming methodology is expanded with a coroutine model for the synchronous, parallel execution of the individual programs in the population, which allows the removal of execution time and iteration limits. Expand
Automatic Generation of Adaptive Programs
TLDR
The onto-genetic programming methodology is described and two examples of its use are presented, one for binary sequence prediction and the other for action selection in a virtual world. Expand
Genetic programming - An Introduction: On the Automatic Evolution of Computer Programs and Its Applications
TLDR
This book presents a meta-modelling framework for genetic programming that automates the very labor-intensive and therefore time-heavy and expensive process of designing and implementing genetic algorithms. Expand
Stack-based genetic programming
  • Tim Perkis
  • Computer Science
  • Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence
  • 1994
TLDR
A new GP system in which target programs run on a stack-based virtual machine is described, which has certain advantages in terms of efficiency and simplicity of implementation, and for certain problems, its effectiveness is shown to be comparable or superior to current methods. Expand
Ontogenetic programming
TLDR
The ontogenetic programming methodology is demonstrated with the HiGP genetic programming system, and it is shown how the technique can be used to solve problems that would not otherwise be solvable. Expand
Meta-Genetic Programming: Co-evolving the Operators of Variation
TLDR
The standard Genetic Programming approach is augmented by co-evolving the genetic operators by adding further populations of operators and changing which populations act as operators for others, thus to provide a framework for a whole set of augmented GP techniques. Expand
The Evolutionary Induction of Subroutines
In this paper1 we describe a genetic algorithm capable of evolving large programs by exploiting two new genetic operators which construct and deconstruct parameterized subroutines. These subroutinesExpand
Evolving recursive programs for tree search
TLDR
The results show that evolution of a recursive program is possible and further that, of the three techniques explored, genetic programming with recursive ADFs performs the best for the tree search problem. Expand
...
1
2
3
4
5
...