Self-modifying cartesian genetic programming

In nature, systems with enormous numbers of components (i.e. cells) are evolved from a relatively small genotype. It has not yet been demonstrated that artificial evolution is sufficient to make such a system evolvable. Consequently researchers have been investigating forms of computational development that may allow more evolvable systems. The approaches taken have largely used re-writing, multi- cellularity, or genetic regulation. In many cases it has been difficult to produce general purpose computation from such systems.In this paper we introduce computational development using a form of Cartesian Genetic Programming that includes self-modification operations. One advantage of this approach is that ab initio the system can be used to solve computational problems. We present results on a number of problems and demonstrate the characteristics and advantages that self-modification brings.

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

[2]  Daniel Roggen,et al.  Multi-cellular Development: Is There Scalability and Robustness to Gain? , 2004, PPSN.

[3]  Peter J. Bentley,et al.  Development brings scalability to hardware evolution , 2005, 2005 NASA/DoD Conference on Evolvable Hardware (EH'05).

[4]  Peter J. Angeline,et al.  Evolving Recursive Functions for the Even-Parity Problem Using Genetic Programming , 1996 .

[5]  P. E. Hotz,et al.  Comparing direct and developmental encoding schemes in artificial evolution: a case study in evolving lens shapes , 2004, Proceedings of the 2004 Congress on Evolutionary Computation (IEEE Cat. No.04TH8753).

[6]  Lukás Sekanina,et al.  Evolutionary Design of Arbitrarily Large Sorting Networks Using Development , 2005, Genetic Programming and Evolvable Machines.

[7]  G. Kampis Self-modifying systems in biology and cognitive science , 1991 .

[8]  Riccardo Poli,et al.  Solving High-Order Boolean Parity Problems with Smooth Uniform Crossover, Sub-Machine Code GP and Demes , 2000, Genetic Programming and Evolvable Machines.

[9]  Lorenz Huelsbergen,et al.  Finding General Solutions to the Parity Problem by Evolving Machine-Language Representations , 2002 .

[10]  Rafal Kicinger,et al.  Evolutionary Developmental System for Structural Design , 2006, AAAI Fall Symposium: Developmental Systems.

[11]  Hod Lipson,et al.  Solving iterated functions using genetic programming , 2009, GECCO '09.

[12]  Gregory S. Hornby,et al.  The advantages of generative grammatical encodings for physical design , 2001, Proceedings of the 2001 Congress on Evolutionary Computation (IEEE Cat. No.01TH8546).

[13]  David M. Clark,et al.  Genetic programming for finite algebras , 2008, GECCO '08.

[14]  Julian Francis Miller,et al.  A Developmental Method for Growing Graphs and Circuits , 2003, ICES.

[15]  Julian Francis Miller,et al.  Self Modifying Cartesian Genetic Programming: Fibonacci, Squares, Regression and Summing , 2009, EuroGP.

[16]  Peter J. Bentley,et al.  Three Ways to Grow Designs: A Comparison of Embryogenies for an Evolutionary Design Problem , 1999, GECCO.

[17]  Matthew J. Streeter,et al.  Automated Discovery of Numerical Approximation Formulae via Genetic Programming , 2001, Genetic Programming and Evolvable Machines.

[18]  Radhika Nagpal,et al.  On Growth, Form and Computers , 2005, Genetic Programming and Evolvable Machines.

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

[20]  Larry D. Pyeatt,et al.  A comparison between cellular encoding and direct encoding for genetic neural networks , 1996 .

[21]  Tina Yu,et al.  Hierarchical Processing for Evolving Recursive and Modular Programs Using Higher-Order Functions and Lambda Abstraction , 2001, Genetic Programming and Evolvable Machines.

[22]  John R. Koza,et al.  Genetic programming 2 - automatic discovery of reusable programs , 1994, Complex Adaptive Systems.

[23]  Hiroaki Kitano,et al.  Designing Neural Networks Using Genetic Algorithms with Graph Generation System , 1990, Complex Syst..

[24]  Julian Francis Miller,et al.  Cartesian genetic programming , 2000, GECCO '10.

[25]  Julian Francis Miller,et al.  Self modifying Cartesian Genetic Programming: Parity , 2009, 2009 IEEE Congress on Evolutionary Computation.

[26]  William B. Langdon,et al.  Scaling of Program Fitness Spaces , 1999, Evolutionary Computation.

[27]  Julian Francis Miller,et al.  The Automatic Acquisition, Evolution and Reuse of Modules in Cartesian Genetic Programming , 2008, IEEE Transactions on Evolutionary Computation.

[28]  Kwong-Sak Leung,et al.  Evolving recursive functions for the even-parity problem using genetic programming , 1996 .

[29]  Hod Lipson,et al.  Distilling Free-Form Natural Laws from Experimental Data , 2009, Science.

[30]  Simon M. Lucas,et al.  A comparison of matrix rewriting versus direct encoding for evolving neural networks , 1998, 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98TH8360).

[31]  Man Leung Wong,et al.  Evolving recursive programs by using adaptive grammar based genetic programming , 2006, Genet. Program. Evolvable Mach..

[32]  Julian Francis Miller,et al.  Investigating the performance of module acquisition in cartesian genetic programming , 2005, GECCO '05.

[33]  Riccardo Poli,et al.  Foundations of Genetic Programming , 1999, Springer Berlin Heidelberg.

[34]  J. Miller,et al.  Guidelines: From artificial evolution to computational evolution: a research agenda , 2006, Nature Reviews Genetics.