An analysis of depth of crossover points in tree-based Genetic Programming

The standard crossover operator in tree-based genetic programming (GP) is problematic in that it is most often destructive. Selecting crossover points with an implicit bias towards the leaves of a program tree aggravates its destructiveness and causes the code bloat problem in GP. Therefore, a common view has been developed that adjusting the depth of crossover points to eliminate the bias can improve GP performance, and many attempts have been made to create effective crossover operators according to this view. As there are a large number of possible depth-control strategies, it is very difficult to identify the strategy that provides the most significant improvement in performance. This paper explores depth-control strategies by analysing the depth of crossover points in evolutionary process logs of five different GP systems on problems in three different domains. It concludes that controlling the depth of crossover points is an evolutionary stage dependent and problem dependent task, and obtaining a significant performance improvement is not trivial.

[1]  Hitoshi Iba,et al.  A self-tuning mechanism for depth-dependent crossover , 1999 .

[2]  Conor Ryan,et al.  A Less Destructive, Context-Aware Crossover Operator for GP , 2006, EuroGP.

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

[4]  Peter Nordin,et al.  Complexity Compression and Evolution , 1995, ICGA.

[5]  Walter Alden Tackett,et al.  Recombination, selection, and the genetic construction of computer programs , 1994 .

[6]  Sean Luke,et al.  Modification Point Depth and Genome Growth in Genetic Programming , 2003, Evolutionary Computation.

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

[8]  William B. Langdon,et al.  Size fair and homologous tree genetic programming crossovers , 1999 .

[9]  Catherine Blake,et al.  UCI Repository of machine learning databases , 1998 .

[10]  H. Iba,et al.  Depth-dependent crossover for genetic programming , 1998, 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98TH8360).

[11]  P. Nordin,et al.  Explicitly defined introns and destructive crossover in genetic programming , 1996 .

[12]  A. E. Eiben,et al.  On Evolutionary Exploration and Exploitation , 1998, Fundam. Informaticae.

[13]  Christopher J. Merz,et al.  UCI Repository of Machine Learning Databases , 1996 .

[14]  Mengjie Zhang,et al.  A Study of Good Predecessor Programs for Reducing Fitness Evaluation Cost in Genetic Programming , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[15]  Una-May O'Reilly,et al.  Program Search with a Hierarchical Variable Lenght Representation: Genetic Programming, Simulated Annealing and Hill Climbing , 1994, PPSN.

[16]  Steven M. Gustafson An analysis of diversity in genetic programming , 2004 .

[17]  D. J. Newman,et al.  UCI Repository of Machine Learning Database , 1998 .

[18]  Riccardo Poli,et al.  On the Search Properties of Different Crossover Operators in Genetic Programming , 2001 .

[19]  Mengjie Zhang,et al.  An analysis of constructive crossover and selection pressure in genetic programming , 2007, GECCO '07.