Modularity in Genetic Programming

Genetic Programming uses a tree based representation to express solutions to problems. Trees are constructed from a primitive set which consists of a function set and a terminal set. An extension to GP is the ability to define modules, which are in turn tree based representations defined in terms of the primitives. The most well known of these methods is Koza's Automatically Defined Functions. In this paper it is proved that for a given problem, the minimum number of nodes in the main tree plus the nodes in any modules is independent of the primitive set (up to an additive constant) and depends only on the function being expressed. This reduces the number of user defined parameters in the run and makes the inclusion of a hypothesis in the search space independent of the primitive set.

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

[2]  John R. Koza,et al.  Evolving the Architecture of a Multi-part Program in Genetic Programming Using Architecture-Altering Operations , 1995, Evolutionary Programming.

[3]  Thomas M. Cover,et al.  Elements of Information Theory (Wiley Series in Telecommunications and Signal Processing) , 2006 .

[4]  John R. Woodward,et al.  No Free Lunch, Program Induction and Combinatorial Problems , 2003, EuroGP.

[5]  L. Huelsbergen,et al.  Toward simulated evolution of machine-language iteration , 1996 .

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

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

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

[9]  Ingo Wegener,et al.  The complexity of Boolean functions , 1987 .

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

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

[12]  Ingo Wegener,et al.  The Complexity of Symmetric Boolean Functions , 1987, Computation Theory and Logic.

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