Problem Decomposition in Cartesian Genetic Programming

Scalability has become a major issue and a hot topic of research for the GP community, as researchers are moving on to investigate more complex problems. Throughout nature and conventional human design principles, modular structures are extensively used to tackle complex problems by decomposing them into smaller, simpler subproblems, which can be independently solved. Modularity is defined as the degree to which an entity can be represented in terms of smaller functional blocks. These smaller functional blocks are known as modules. In this chapter, a new approach called Embedded CGP (ECGP), is described that is capable of dynamically acquiring, evolving, and reusing modules to exploit modularity. Alternative approaches for acquiring modules within ECGP are also discussed before describing Modular CGP (MCGP), an enhancement to ECGP that allows the use of nested modules to see if further performance improvements are possible. Finally, an approach that uses the concept of multiple chromosomes in order to allow CGP and ECGP to exploit modularity through compartmentalization is described.

[1]  J. K. Kinnear,et al.  Advances in Genetic Programming , 1994 .

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

[3]  Julian Francis Miller Cartesian Genetic Programming , 2011, Cartesian Genetic Programming.

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

[5]  Justinian P. Rosca,et al.  Genetic Programming Exploratory Power and the Discovery of Functions , 1995, Evolutionary Programming.

[6]  Julian F. Miller,et al.  Genetic and Evolutionary Computation — GECCO 2003 , 2003, Lecture Notes in Computer Science.

[7]  Christopher H. Messom,et al.  The reliability of confidence intervals for computational effort comparisons , 2007, GECCO '07.

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

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

[10]  Marco Platzner,et al.  Advanced techniques for the creation and propagation of modules in cartesian genetic programming , 2008, GECCO '08.

[11]  Marc Schoenauer,et al.  Polar IFS+Parisian Genetic Programming=Efficient IFS Inverse Problem Solving , 2000, Genetic Programming and Evolvable Machines.

[12]  Marco Platzner,et al.  Comparing Evolvable Hardware to Conventional Classifiers for Electromyographic Prosthetic Hand Control , 2008, 2008 NASA/ESA Conference on Adaptive Hardware and Systems.

[13]  Justinian P. Rosea Towards Automatic Discovery of Building Blocks in Genetic Programming , 1995 .

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

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

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

[17]  Justinian P. Rosca,et al.  Learning by adapting representations in genetic programming , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[18]  Marco Platzner,et al.  MOVES: A Modular Framework for Hardware Evolution , 2007, Second NASA/ESA Conference on Adaptive Hardware and Systems (AHS 2007).

[19]  Riccardo Poli,et al.  New ideas in optimization , 1999 .

[20]  Jason Cong,et al.  Combinational logic synthesis for LUT based field programmable gate arrays , 1996, TODE.

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

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

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

[24]  Christopher H. Messom,et al.  Confidence Intervals for Computational Effort Comparisons , 2007, EuroGP.

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

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

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

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

[29]  F. Wilcoxon Individual Comparisons by Ranking Methods , 1945 .

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

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

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

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

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