Opposites Attract: Complementary Phenotype Selection for Crossover in Genetic Programming

  • Brad Dolin
  • M.G. Arenas
  • J.J. Merelo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2439)


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.


Genetic Algorithm Genetic Programming Crossover Operator Crossover Operation Tournament Selection 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Zoe Abrams. Complimentary selection as an alternative method for population reproduction. In John R. Koza, editor, Genetic Algorithms and Genetic Programming at Stanford 2000, pages 8–15. Stanford Bookstore, Stanford, California, 94305-3079 USA, June 2000.Google Scholar
  2. 2.
    Peter J. Angeline. Subtree crossover: Building block engine or macromutation? In John R. Koza, Kalyanmoy Deb, Marco Dorigo, David B. Fogel, Max Garzon, Hitoshi Iba, and Rick L. Riolo, editors, Genetic Programming 1997: Proceedings of the Second Annual Conference, pages 9–17, Stanford University, CA, USA, 13-16 July 1997. Morgan Kaufmann.Google Scholar
  3. 3.
    M.G. Arenas, B. Dolin, J.J. Merelo, P.A. Castillo, I. Fdez de Viana, and M. Schoenauer. JEO: Java evolving objects. In Proceedings of the Genetic and Evolutionary Computation Conference, GECCO 2002, 2002.Google Scholar
  4. 4.
    J.E. Baker. Reducing bias and inefficiency in the selection algorithm. In Intl. Conf. on Genetic Algorithms and their Applications, 1985.Google Scholar
  5. 5.
    Tobias Blickle and Lothar Thiele. A comparison of selection schemes used in genetic algorithms. TIK-Report 11, TIK Institut fur Technische Informatik und Kommunikationsnetze, Computer Engineering and Networks Laboratory, ETH, Swiss Federal Institute of Technology, Gloriastrasse 35, 8092 Zurich, Switzerland, December 1995.Google Scholar
  6. 6.
    David Goldberg and J. Richardson. Genetic algorithms with sharing for multimodal function optimization. In Proceedings of the Second International Conference on Genetic Algorithms, pages 41–49, 1987.Google Scholar
  7. 7.
    David Goldberg. Genetic Algorithms in Search, Optimiazation, and Machine Learning. Addison-Wesley, 1989.Google Scholar
  8. 8.
    Thomas Haynes. Phenotypical building blocks for genetic programming. In Thomas Back, editor, Genetic Algorithms: Proceedings of the Seventh International Conference, pages 26–33, Michigan State University, East Lansing, MI, USA, 19-23 July 1997. Morgan Kaufmann.Google Scholar
  9. 9.
    R. Hinterding and Z. Michalewicz. Your brains and my beauty: parent matching for constrained optimisation. In Proceedings of the 5th Int. Conf. on Evolutionary Computation, 1998.Google Scholar
  10. 10.
    John H. Holland. Adaptation in Natural and Artificial Systems. University of Michigan Press, 1975.Google Scholar
  11. 11.
    Hitoshi Iba and Hugo de Garis. Extending genetic programming with recombinative guidance. In Peter J. Angeline and K. E. Kinnear, Jr., editors, Advances in Genetic Programming 2, chapter 4, pages 69–88. MIT Press, Cambridge, MA, USA, 1996.Google Scholar
  12. 12.
    John R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA, 1992.zbMATHGoogle Scholar
  13. 13.
    K.J. Lang and M.J. Witbrock. Learning to tell two spirals apart. In Proceedings of the 1988 Connectionist Model Summer School, pages 52–59. Morgan Kaufmann,1988.Google Scholar
  14. 14.
    Sean Luke and Lee Spector. A revised comparison of crossover and mutation in genetic programming. In John R. Koza, Wolfgang Banzhaf, Kumar Chellapilla, Kalyanmoy Deb, Marco Dorigo, David B. Fogel, Max H. Garzon, David E. Goldberg, Hitoshi Iba, and Rick Riolo, editors, Genetic Programming 1998: Proceedings of the Third Annual Conference, pages 208–213, University of Wisconsin, Madison, Wisconsin, USA, 2–25 July 1998. Morgan Kaufmann.Google Scholar
  15. 15.
    Una-May O'Reilly and Franz Oppacher. Hybridized crossover-based search techniques for program discovery. Technical Report 95-02-007, Santa Fe Institute, 1399 Hyde Park Road Santa Fe, New Mexico 87501-8943 USA, 1995.Google Scholar
  16. 16.
    B. Paechter, T. Baeck, M. Schoenauer, M. Sebag, A.E. Eiben, J. Merelo, and T.C. Fogarty. DREAM: A distributed resource evolutionary algorithm machine. In Congress on Evolutionary Computation, CEC 2000, volume 2, pages 951–958, 2000.Google Scholar
  17. 17.
    Riccardo Poli and W. B. Langdon. A new schema theory for genetic programming with one-point crossover and point mutation. Technical Report CSRP-97-3, School of Computer Science, The University of Birmingham, B15 2TT, UK, January 1997. Presented at GP-97.Google Scholar
  18. 18.
    Riccardo Poli. General schema theory for genetic programming with subtreeswapping crossover. Technical Report CSRP-00-16, University of Birmingham, School of Computer Science, November 2000.Google Scholar
  19. 19.
    Justinian P. Rosca and Dana H. Ballard. Discovery of subroutines in genetic programming. In Peter J. Angeline and K. E. Kinnear, Jr., editors, Advances in Genetic Programming 2, chapter 9, pages 177–202. MIT Press, Cambridge, MA, USA, 1996.Google Scholar
  20. 20.
    Justinian P. Rosca. Analysis of complexity drift in genetic programming. In John R. Koza, Kalyanmoy Deb, Marco Dorigo, David B. Fogel, Max Garzon, Hitoshi Iba, and Rick L. Riolo, editors, Genetic Programming 1997: Proceedings of the Second Annual Conference, pages 286–294, Stanford University, CA, USA, 13–16 July 1997. Morgan Kaufmann.Google Scholar
  21. 21.
    Conor Ryan. Pygmies and civil servants. In Kenneth E. Kinnear, Jr., editor, Advances in Genetic Programming, chapter 11, pages 243–263. MIT Press, 1994.Google Scholar
  22. 22.
    Terence Soule, James A. Foster, and John Dickinson. Using genetic programming to approximate maximum clique. In John R. Koza, David E. Goldberg, David B. Fogel, and Rick L. Riolo, editors, Genetic Programming 1996: Proceedings of the First Annual Conference, pages 400–405, Stanford University, CA, USA, 28–31 July 1996. MIT Press.Google Scholar
  23. 23.
    W. A. Tackett and A. Carmi. The unique implications of brood selection for genetic programming. In Proceedings of the 1994 IEEE World Congress on Computational Intelligence, Orlando, Florida, USA, 27-29 June 1994. IEEE Press.Google Scholar
  24. 24.
    R.A. Watson and J.B. Pollack. Symbiotic combination as an alternative to sexual recombination in genetic algorithms. In Parallel Problem Sovling From Nature, PPSN 2001, pages 425–434, 2001.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Brad Dolin
    • 1
    • 2
  • M.G. Arenas
    • 2
  • J.J. Merelo
    • 2
  1. 1.Computer Science DepartmentStanford UniversityStanfordUSA
  2. 2.Department of Architecture and Computer TechnologyUniversity of GranadaGranadaSpain

Personalised recommendations