Towards Practical Autoconstructive Evolution: Self-Evolution of Problem-Solving Genetic Programming Systems

Most genetic programming systems use hard-coded genetic operators that are applied according to user-specified parameters. Because it is unlikely that the provided operators or the default parameters will be ideal for all problems or all program representations, practitioners often devote considerable energy to experimentation with alternatives. Attempts to bring choices about operators and parameters under evolutionary control, through self-adaptative algorithms or meta-genetic programming, have been explored in the literature and have produced interesting results. However, no systems based on such principles have yet been demonstrated to have greater practical problem-solving power than the more-standard alternatives. This chapter explores the prospects for extending the practical power of genetic programming through the refinement of an approach called autoconstructive evolution, in which the algorithms used for the reproduction and variation of evolving programs are encoded in the programs themselves, and are thereby subject to variation and evolution in tandem with their problem-solving components. We present the motivation for the autoconstructive evolution approach, show how it can be instantiated using the Push programming language, summarize previous results with the Pushpop system, outline the more recent AutoPush system, and chart a course for future work focused on the production of practical systems that can solve hard problems.

[1]  S. B. Atienza-Samols,et al.  With Contributions by , 1978 .

[2]  Lee Spector,et al.  Multi-type, Self-adaptive Genetic Programming as an Agent Creation Tool , 2002 .

[3]  Hideaki Suzuki Design optimization of artificial evolutionary systems , 2004 .

[4]  Andrew M. Tyrrell,et al.  A self-adaptive mate selection model for genetic programming , 2005, 2005 IEEE Congress on Evolutionary Computation.

[5]  Mihai Oltean,et al.  Evolutionary design of Evolutionary Algorithms , 2009, Genetic Programming and Evolvable Machines.

[6]  Riccardo Poli,et al.  On Turing complete T7 and MISC F--4 program fitnes landscapes , 2005, Theory of Evolutionary Algorithms.

[7]  Leandro Nunes de Castro,et al.  Recent Developments In Biologically Inspired Computing , 2004 .

[8]  John R. Koza,et al.  Spontaneous Emergence of Self-Replicating and Evolutionarily Self-Improving Computer Programs , 1993 .

[9]  Sara Silva,et al.  Extending Operator Equalisation: Fitness Based Self Adaptive Length Distribution for Bloat Free GP , 2009, EuroGP.

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

[11]  Zbigniew Michalewicz,et al.  Parameter Control in Evolutionary Algorithms , 2007, Parameter Setting in Evolutionary Algorithms.

[12]  Robert M. MacCallum,et al.  Introducing a Perl Genetic Programming System - and Can Meta-evolution Solve the Bloat Problem? , 2003, EuroGP.

[13]  Peter Nordin,et al.  Evolving Turing-Complete Programs for a Register Machine with Self-modifying Code , 1995, ICGA.

[14]  Penousal Machado,et al.  On the Evolution of Evolutionary Algorithms , 2004, EuroGP.

[15]  J. Gerhart,et al.  The theory of facilitated variation , 2007, Proceedings of the National Academy of Sciences.

[16]  Riccardo Poli,et al.  A Field Guide to Genetic Programming , 2008 .

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

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

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

[20]  Charles Ofria,et al.  Avida , 2004, Artificial Life.

[21]  J. D. Bernal,et al.  “The Origins of Life” , 1957, Nature.

[22]  Lee Spector,et al.  Genetic Programming and Autoconstructive Evolution with the Push Programming Language , 2002, Genetic Programming and Evolvable Machines.

[23]  Austin Burt,et al.  DIVERSIFICATION IN SEXUAL AND ASEXUAL ORGANISMS , 2003, Evolution; international journal of organic evolution.

[24]  Maarten Keijzer,et al.  The Push3 execution stack and the evolution of control , 2005, GECCO '05.

[25]  Jürgen Schmidhuber,et al.  Gödel Machines: Fully Self-referential Optimal Universal Self-improvers , 2007, Artificial General Intelligence.

[26]  William M. Spears,et al.  Adapting Crossover in Evolutionary Algorithms , 1995, Evolutionary Programming.

[27]  Terence Soule,et al.  Genetic Programming: Theory and Practice , 2003 .

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

[29]  Mark Kotanchek,et al.  Scalable Symbolic Regression by Continuous Evolution with Very Small Populations , 2011 .

[30]  Astro Teller,et al.  Turing completeness in the language of genetic programming with indexed memory , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[31]  鈴木 秀明 Design optimization of artificial evolutionary systems , 2004 .

[32]  Hitoshi Iba,et al.  Genetic Programming Using a Turing-Complete Representation: Recurrent Network Consisting of Trees , 2005 .

[33]  L. Spector Adaptive populations of endogenously diversifying Pushpop organisms are reliably diverse , 2002 .

[34]  John R. Woodward Evolving Turing Complete representations , 2003, The 2003 Congress on Evolutionary Computation, 2003. CEC '03..

[35]  Wolfgang Banzhaf,et al.  Meta-Evolution in Graph GP , 1999, EuroGP.

[36]  Timothy J. Taylor,et al.  From artificial evolution to artificial life , 1999 .

[37]  J. Fodor,et al.  What Darwin Got Wrong , 2010 .

[38]  Weimin Xiao,et al.  Adaptively Evolving Probabilities of Genetic Operators , 2008, 2008 Seventh International Conference on Machine Learning and Applications.

[39]  Hans-Georg Beyer,et al.  Self-adaptation of evolution strategies under noisy fitness evaluations , 2006, Genetic Programming and Evolvable Machines.

[40]  Riccardo Poli,et al.  Genetic Programming: An Introduction and Tutorial, with a Survey of Techniques and Applications , 2008, Computational Intelligence: A Compendium.