The Automatic Acquisition, Evolution and Reuse of Modules in Cartesian Genetic Programming

This paper presents a generalization of the graph- based genetic programming (GP) technique known as Cartesian genetic programming (CGP). We have extended CGP by utilizing automatic module acquisition, evolution, and reuse. To benchmark the new technique, we have tested it on: various digital circuit problems, two symbolic regression problems, the lawnmower problem, and the hierarchical if-and-only-if problem. The results show the new modular method evolves solutions quicker than the original nonmodular method, and the speedup is more pronounced on larger problems. Also, the new modular method performs favorably when compared with other GP methods. Analysis of the evolved modules shows they often produce recognizable functions. Prospects for further improvements to the method are discussed.

[1]  Student,et al.  THE PROBABLE ERROR OF A MEAN , 1908 .

[2]  H. B. Mann,et al.  On a Test of Whether one of Two Random Variables is Stochastically Larger than the Other , 1947 .

[3]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[4]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[5]  Melanie Mitchell,et al.  The royal road for genetic algorithms: Fitness landscapes and GA performance , 1991 .

[6]  Melanie Mitchell,et al.  Relative Building-Block Fitness and the Building Block Hypothesis , 1992, FOGA.

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

[8]  Peter J. Angeline,et al.  Evolutionary Module Acquisition , 1993 .

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

[10]  Robert G. Reynolds,et al.  Genetic Programming Exploratory Power and the Discovery of Functions , 1995 .

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

[12]  Jordan B. Pollack,et al.  Modeling Building-Block Interdependency , 1998, PPSN.

[13]  J. Miller An empirical study of the efficiency of learning boolean functions using a Cartesian Genetic Programming approach , 1999 .

[14]  Riccardo Poli,et al.  Parallel Distributed Genetic Programming , 1996 .

[15]  Antonina Starita,et al.  An Analysis of Automatic Subroutine Discovery in Genetic Programming , 1999, GECCO.

[16]  Julian Francis Miller,et al.  The Advantages of Landscape Neutrality in Digital Circuit Evolution , 2000, ICES.

[17]  Julian Francis Miller,et al.  Towards the automatic design of more efficient digital circuits , 2000, Proceedings. The Second NASA/DoD Workshop on Evolvable Hardware.

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

[19]  Julian Francis Miller,et al.  Neutrality and the Evolvability of Boolean Function Landscape , 2001, EuroGP.

[20]  Lee Spector,et al.  Autoconstructive Evolution: Push, PushGP, and Pushpop , 2001 .

[21]  A. H. Aguirre,et al.  Design of combinational logic circuits through an evolutionary multiobjective optimization approach , 2002, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[22]  Terry Van Belle,et al.  Code Factoring And The Evolution Of Evolvability , 2002, GECCO.

[23]  Lee Spector,et al.  Size Control Via Size Fair Genetic Operators In The PushGP Genetic Programming System , 2002, GECCO.

[24]  Franz Oppacher,et al.  An Analysis of Koza's Computational Effort Statistic for Genetic Programming , 2002, EuroGP.

[25]  John R. Woodward,et al.  Modularity in Genetic Programming , 2003, EuroGP.

[26]  Jim Torresen,et al.  Evolving Multiplier Circuits by Training Set and Training Vector Partitioning , 2003, ICES.

[27]  Wolfgang Banzhaf,et al.  More on Computational Effort Statistics for Genetic Programming , 2003, EuroGP.

[28]  Principles in the Evolutionary Design of Digital Circuits—Part I , 2004, Genetic Programming and Evolvable Machines.

[29]  Julian Francis Miller,et al.  Evolution and Acquisition of Modules in Cartesian Genetic Programming , 2004, EuroGP.

[30]  Julian Francis Miller,et al.  Principles in the Evolutionary Design of Digital Circuits—Part II , 2000, Genetic Programming and Evolvable Machines.

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

[32]  Riccardo Poli,et al.  Reusing Code in Genetic Programming , 2004, EuroGP.

[33]  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.

[34]  Andrew M. Tyrrell,et al.  Biomimetic Representation with Genetic Programming Enzyme , 2002, Genetic Programming and Evolvable Machines.

[35]  Julian Francis Miller,et al.  Improving the Evolvability of Digital Multipliers Using Embedded Cartesian Genetic Programming and Product Reduction , 2005, ICES.

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

[37]  Xin Yao,et al.  Environments Conducive to Evolution of Modularity , 2006, PPSN.

[38]  Julian Francis Miller,et al.  Redundancy and computational efficiency in Cartesian genetic programming , 2006, IEEE Transactions on Evolutionary Computation.

[39]  Paolo Giacomazzi,et al.  Municipal Wireless Networks Planning , 2008, 2008 New Technologies, Mobility and Security.

[40]  C. Clack,et al.  Recursion , Lambda Abstractions and Genetic Programming , 2022 .