A Functional Crossover Operator for Genetic Programming

Practitioners of evolutionary algorithms in general, and of genetic programming in particular, have long sought to develop variation operators that automatically preserve and combine useful genetic substructure. This is often pursued with crossover operators that swap genetic material between genotypes that have survived the selection process. However in genetic programming, crossover often has a large phenotypic effect, thereby drastically reducing the probability of a beneficial crossover event. In this paper we introduce a new crossover operator, Functional crossover (FXO), which swaps subtrees between parents based on the subtrees’ functional rather than structural similarity. FXO is employed in a genetic programming system identification task, where it is shown that FXO often outperforms standard crossover on both simulated and physically-generated data sets.

[1]  E. Odum Fundamentals of ecology , 1972 .

[2]  E. Odum Fundamentals of Ecology. , 1955 .

[3]  R. Punnett,et al.  The Genetical Theory of Natural Selection , 1930, Nature.

[4]  Patrik D'haeseleer,et al.  Context preserving crossover in genetic programming , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[5]  J. K. Kinnear,et al.  Advances in Genetic Programming , 1994 .

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

[7]  Richard E. Grandy,et al.  Orlando, Florida, USA , 2011 .

[8]  John R. Koza,et al.  A genetic approach to the truck backer upper problem and the inter-twined spiral problem , 1992, [Proceedings 1992] IJCNN International Joint Conference on Neural Networks.

[9]  Colin G. Johnson,et al.  Semantically driven crossover in genetic programming , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[10]  Günter P. Wagner,et al.  Complex Adaptations and the Evolution of Evolvability , 2005 .

[11]  Michael A. Lones,et al.  Enzyme genetic programming , 2001, Proceedings of the 2001 Congress on Evolutionary Computation (IEEE Cat. No.01TH8546).

[12]  Riccardo Poli,et al.  Fitness Causes Bloat , 1998 .

[13]  Terry Jones,et al.  Crossover, Macromutationand, and Population-Based Search , 1995, ICGA.

[14]  Hod Lipson,et al.  Automated reverse engineering of nonlinear dynamical systems , 2007, Proceedings of the National Academy of Sciences.

[15]  Peter Nordin,et al.  Efficient Evolution of Machine Code for CISC Architectures using Blocks and Homologous Crossover , 1998 .

[16]  R. A. Fisher,et al.  The Genetical Theory of Natural Selection , 1931 .

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

[18]  L. Altenberg,et al.  PERSPECTIVE: COMPLEX ADAPTATIONS AND THE EVOLUTION OF EVOLVABILITY , 1996, Evolution; international journal of organic evolution.

[19]  Josh C. Bongard,et al.  Action-selection and crossover strategies for self-modeling machines , 2007, GECCO '07.