Opposites Attract: Complementary Phenotype Selection for Crossover in Genetic Programming

Standard crossover in genetic programming (GP) selects two parents independently, based on fitness, and swaps randomly chosen portions of genetic material (subtrees). The mechanism by which the crossover operator achieves success in GP, and even whether crossover does in fact exhibit relative success compared to other operators such as mutation, is anything but clear [14]. An intuitive explanation for successful crossover would be that the operator produces fit offspring by combining the "strengths" of each parent. However, standard selection schemes choose each parent independently of the other, and with regard to overall fitness rather than more specific phenotypic traits. We present an algorithm for choosing parents which have complementary performance on a set of fitness cases, with an eye toward enabling the crossover operator to produce offspring which combine the distinct strengths of each parent. We test Complementary Phenotype Selection in three genetic programming domains: Boolean 6-Multiplexer, Intertwined Spirals Classification, and Sunspot Prediction. We demonstrate significant performance gains over the control methods in all of them and present a preliminary analysis of these results.

[1]  T. Soule,et al.  Using genetic programming to approximate maximum clique , 1996 .

[2]  F. Oppacher,et al.  Hybridized crossover-based search techniques for program discovery , 1995, Proceedings of 1995 IEEE International Conference on Evolutionary Computation.

[3]  David E. Goldberg,et al.  Genetic Algorithms with Sharing for Multimodalfunction Optimization , 1987, ICGA.

[4]  Justinian P. Rosca,et al.  Discovery of subroutines in genetic programming , 1996 .

[5]  Lee Spector,et al.  A Revised Comparison of Crossover and Mutation in Genetic Programming , 1998 .

[6]  Ben Paechter,et al.  A distributed resource evolutionary algorithm machine. , 2000 .

[7]  Walter Alden Tackett,et al.  The unique implications of brood selection for genetic programming , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[8]  K. Lang,et al.  Learning to tell two spirals apart , 1988 .

[9]  Jordan B. Pollack,et al.  Symbiotic Combination as an Alternative to Sexual Recombination in Genetic Algorithms , 2000, PPSN.

[10]  ProgrammingJustinian P. RoscaComputer Analysis of Complexity Drift in Genetic , 1997 .

[11]  Z. Michalewicz,et al.  Your brains and my beauty: parent matching for constrained optimisation , 1998, 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98TH8360).

[12]  J Baker,et al.  REDUCING BIAS AND NEFFICIENCY IN THE SELECTION ALGORITHM, GENETIC ALGORITHMS AND APPLICATIONS , 2000 .

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

[14]  Thomas Haynes,et al.  Phenotypical Building Blocks for Genetic Programming , 1997, ICGA.

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

[16]  Peter J. Angeline,et al.  Extending Genetic Programming with Recombinative Guidance , 1996 .

[17]  Lothar Thiele,et al.  A Comparison of Selection Schemes used in Genetic Algorithms , 1995 .

[18]  Juan Julián Merelo Guervós,et al.  JEO: Java Evolving Objects , 2002, GECCO.

[19]  Riccardo Poli,et al.  General Schema Theory for Genetic Programming with Subtree-Swapping Crossover: Part I , 2003, Evolutionary Computation.

[20]  Riccardo Poli,et al.  General Schema Theory for Genetic Programming with Subtree-Swapping Crossover , 2001, EuroGP.

[21]  T.C. Fogarty,et al.  A Distributed Resource Evolutionary Algorithm Machine (DREAM) , 2000, Proceedings of the 2000 Congress on Evolutionary Computation. CEC00 (Cat. No.00TH8512).

[22]  Conor Ryan,et al.  Pygmies and civil servants , 1994 .

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

[24]  Riccardo Poli,et al.  Schema Theory for Genetic Programming with One-Point Crossover and Point Mutation , 1997, Evolutionary Computation.