Crossover in Grammatical Evolution: A Smooth Operator?

  • Michael O’Neill
  • Conor Ryan
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1802)


Grammatical Evolution is an evolutionary algorithm which can produce code in any language, requiring as inputs a BNF grammar definition describing the output language, and the fitness function. The usefulness of crossover in GP systems has been hotly debated for some time, and this debate has also arisen with respect to Grammatical Evolution. This paper serves to analyse the crossover operator in our algorithm by comparing the performance of a variety of crossover operators. Results show that the standard one point crossover employed by Grammatical Evolution is not as destructive as it might originally appear, and is useful in performing a global search over the course of entire runs. This is attributed to the fact that prior to the crossover event the parent chromosomes undergo alignment which facilitates the swapping of blocks which are more likely to be in context.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Angeline, P.J.: Subtree Crossover: Building block engine or macromutation? In: Proceedings of GP 1997, pp. 9–17 (1997)Google Scholar
  2. 2.
    Collins, R.: Studies in Artificial Life. PhD thesis. University of California, Los Angeles (1992)Google Scholar
  3. 3.
    Francone, F.D., Banzhaf, W., Conrads, M., Nordin, P.: Homologous Crossover in Genetic Programming. In: Proceedings of the Genetic and Evolutionary Computation Conference, GECCO 1999, pp. 1021–1038 (1999)Google Scholar
  4. 4.
    Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning. Addison Wesley, Reading (1989)zbMATHGoogle Scholar
  5. 5.
    Koza, J.: Genetic Programming. MIT Press, Cambridge (1992)zbMATHGoogle Scholar
  6. 6.
    Langdon, W.B.: Size Fair and Homologous Tree Genetic Programming Crossovers. In: Proceedings of the Genetic and Evolutionary Computation Conference, GECCO 1999, pp. 1092–1097 (1999)Google Scholar
  7. 7.
    O’Neill, M., Ryan, C.: Genetic Code Degeneracy: Implications for Grammatical Evolution and Beyond. In: Proceedings of the Fifth European Conference on Artificial Life (1999)Google Scholar
  8. 8.
    O’Neill, M., Ryan, C.: Under the Hood of Grammatical Evolution. In: Proceedings of the Genetic & Evolutionary Computation Conference (1999)Google Scholar
  9. 9.
    O’Neill, M., Ryan, C.: Evolving multi-line compilable C programs. In: Langdon, W.B., Fogarty, T.C., Nordin, P., Poli, R. (eds.) EuroGP 1999. LNCS, vol. 1598, pp. 83–92. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  10. 10.
    Riccardo, P., Langdon, W.B.: On the Search Properties of Different Crossover Operators in Genetic Programming. In: Proceedings of the Third annual Genetic Programming conference, pp. 293–301 (1998)Google Scholar
  11. 11.
    Ryan, C., O’Neill, M.: Grammatical Evolution: A Steady State Approach. In: Late Breaking Papers, Genetic Programming 1998, pp. 180–185 (1998)Google Scholar
  12. 12.
    Ryan, C., Collins, J.J., O’Neill, M.: Grammatical Evolution: Evolving Programs for an Arbitrary Language. In: Banzhaf, W., Poli, R., Schoenauer, M., Fogarty, T.C. (eds.) EuroGP 1998. LNCS, vol. 1391, pp. 83–95. Springer, Heidelberg (1998)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Michael O’Neill
    • 1
  • Conor Ryan
    • 1
  1. 1.Dept. Of Computer Science And Information SystemsUniversity of LimerickIreland

Personalised recommendations