Genetic Programming and Autoconstructive Evolution with the Push Programming Language

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 but does so while simultaneously evolving its own evolutionary mechanisms.

[1]  Thomas S. Ray,et al.  Is It Alive or Is It GA? , 1991, ICGA.

[2]  Thomas Bck,et al.  Self-adaptation in genetic algorithms , 1991 .

[3]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[4]  Paul Graham On LISP: Advanced Techniques for Common LISP , 1993 .

[5]  Piero Mussio,et al.  Toward a Practice of Autonomous Systems , 1994 .

[6]  Sidney R. Maxwell,et al.  Experiments with a coroutine execution model for genetic programming , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[7]  Una-May O'Reilly,et al.  Genetic Programming II: Automatic Discovery of Reusable Programs. , 1994, Artificial Life.

[8]  Timothy Perkis,et al.  Stack-based genetic programming , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[9]  C. Titus Brown,et al.  Evolutionary Learning in the 2D Artificial Life System "Avida" , 1994, adap-org/9405003.

[10]  Peter J. Angeline,et al.  Adaptive and Self-adaptive Evolutionary Computations , 1995 .

[11]  Paul Graham ANSI Common Lisp , 1995 .

[12]  Robert G. Reynolds,et al.  Morphogenic Evolutionary Computations: Introduction, Issues and Examples , 1995 .

[13]  David J. Montana,et al.  Strongly Typed Genetic Programming , 1995, Evolutionary Computation.

[14]  Peter J. Angeline,et al.  Morphogenic Evolutionary Computations: Introduction, Issues and Example , 1995, Evolutionary Programming.

[15]  N. Eldredge,et al.  What Is Life , 1995 .

[16]  T. R. Osborn,et al.  Genetic logic programming , 1995, Proceedings of 1995 IEEE International Conference on Evolutionary Computation.

[17]  Lee Spector,et al.  Automatic Generation of Adaptive Programs , 1996 .

[18]  Edward Tunstel,et al.  On Genetic Programming of Fuzzy Rule-Based Systems for Intelligent Control , 1996, Intell. Autom. Soft Comput..

[19]  Lee Spector,et al.  Ontogenetic programming , 1996 .

[20]  Lee Spector,et al.  High-performance, parallel, stack-based genetic programming , 1996 .

[21]  Peter J. Angeline,et al.  Two self-adaptive crossover operators for genetic programming , 1996 .

[22]  Pattie Maes,et al.  Automatic Generation of Adaptive Programs , 1996 .

[23]  Scott Brave,et al.  Evolving recursive programs for tree search , 1996 .

[24]  Astro Teller,et al.  Evolving programmers: the co-evolution of intelligent recombination operators , 1996 .

[25]  Wilker Shane Bruce Automatic generation of object-oriented programs using genetic programming , 1996 .

[26]  Justinian P. Rosca,et al.  Discovery of subroutines in genetic programming , 1996 .

[27]  Lee Spector,et al.  Simultaneous evolution of programs and their control structures , 1996 .

[28]  A. N. Pargellis,et al.  The spontaneous generation of digital “Life” , 1996 .

[29]  Wolfgang Banzhaf,et al.  Genetic Programming: An Introduction , 1997 .

[30]  J. Pollack,et al.  The Evolutionary Induction of Subroutines , 1997 .

[31]  Wolfgang Banzhaf,et al.  Self-Evolution in a Constructive Binary String System , 1998, Artificial Life.

[32]  Peter Nordin,et al.  Efficient Evolution of Machine Code for CISC Architectures using Blocks and Homologous Crossover , 1998 .

[33]  Vidroha Debroy,et al.  Genetic Programming , 1998, Lecture Notes in Computer Science.

[34]  Moshe Sipper,et al.  Fifty Years of Research on Self-Replication: An Overview , 1998, Artificial Life.

[35]  Christopher R. Stephens,et al.  Self-Adaptation in Evolving Systems , 1997, Artificial Life.

[36]  Christopher Gathercole,et al.  An investigation of supervised learning in genetic programming , 1998 .

[37]  Peter Nordin,et al.  Genetic programming - An Introduction: On the Automatic Evolution of Computer Programs and Its Applications , 1998 .

[38]  C. Ofria,et al.  Genome complexity, robustness and genetic interactions in digital organisms , 1999, Nature.

[39]  Tina Gwoing Yu,et al.  An analysis of the impact of functional programming techniques on genetic programming , 1999 .

[40]  Peter D. Turney A Simple Model of Unbounded Evolutionary Versatility as a Largest-Scale Trend in Organismal Evolution , 2000, Artificial Life.

[41]  Hideaki Suzuki Evolution of Self-Reproducing Programs in a Core Propelled by Parallel Protein Execution , 2000, Artificial Life.

[42]  W. Langdon,et al.  Autoconstructive Evolution : Push , PushGP , and Pushpop , 2001 .

[43]  J. Reggia,et al.  Go forth and replicate. , 2001, Scientific American.

[44]  William E. Hart,et al.  A Convergence Analysis of Unconstrained and Bound Constrained Evolutionary Pattern Search , 2001, Evolutionary Computation.

[45]  C. Ofria,et al.  Evolution of digital organisms at high mutation rates leads to survival of the flattest , 2001, Nature.

[46]  Bruce Edmonds,et al.  Meta-Genetic Programming: Co-evolving the Operators of Variation , 2001 .

[47]  Witold Pedrycz,et al.  Evolutionary optimization of logic-oriented systems , 2001 .