Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Beadle, Lawrence and Johnson, Colin (2008). Semantically driven crossover in genetic programming. In Wang, Jun, editor, Proceedings of the IEEE World Congress on Computational Intelligence, pages 111-116, Hong Kong. IEEE Computational Intelligence Society, IEEE Press.
Bongard, J. (2007). Action-selection and crossover strategies for self-modeling machines. In Proceedings of the 9th annual conference on Genetic and evolutionary computation, pages 198-205. ACM New York, NY, USA.
Bongard, J. and Lipson, H. (2007). Automated reverse engineering of nonlinear dynamical systems. Proceedings of the National Academy of Sciences, 104(24):9943.
D'haeseleer, Patrik (1994). Context preserving crossover in genetic programming. In Proceedings of the 1994 IEEE World Congress on Computational Intelligence, volume 1, pages 256-261, Orlando, Florida, USA. IEEE Press.
Fischer, R.A. (1930). The Genetical Theory of Natural Selection. Clarendon.
Jones, T. (1995). Crossover, macromutation, and population-based search. In Proceedings of the Sixth International Conference on Genetic Algorithms, pages 73-80. Morgan Kaufmann.
Koza, John R. (1992). A genetic approach to the truck backer upper problem and the inter-twined spiral problem. In Proceedings of IJCNN International Joint Conference on Neural Networks, volume IV, pages 310-318. IEEE Press.
Langdon, W. B. (1999). Size fair and homologous tree genetic programming crossovers. In Banzhaf, Wolfgang, Daida, Jason, Eiben, Agoston E., Garzon, Max H., Honavar, Vasant, Jakiela, Mark, and Smith, Robert E., editors, Proceedings of the Genetic and Evolutionary Computation Conference, volume 2, pages 1092-1097, Orlando, Florida, USA. Morgan Kaufmann.
Langdon, W. B. and Poli, R. (1997). Fitness causes bloat. Technical Report CSRP-97-09, University of Birmingham, School of Computer Science, Birmingham, B15 2TT, UK.
Lones, Michael A. and Tyrrell, Andy M. (2001). Enzyme genetic programming. In Proceedings of the 2001 Congress on Evolutionary Computation, CEC 2001, pages 1183-1190, COEX, World Trade Center, 159 Samseong-dong, Gangnam-gu, Seoul, Korea. IEEE Press.
Nordin, Peter, Banzhaf, Wolfgang, and Francone, Frank D. (1999). Efficient evolution of machine code for CISC architectures using instruction blocks and homologous crossover. In Spector, Lee, Langdon, William B., O'Reilly, Una-May, and Angeline, Peter J., editors, Advances in Genetic Programming 3, chapter 12, pages 275-299. MIT Press, Cambridge, MA, USA.
Odum, E.P. and Odum, H.T. (1971). Fundamentals of Ecology. Saunders Philadelphia.
Poli, Riccardo and Langdon, William B. (1998). Schema theory for genetic programming with one-point crossover and point mutation. Evolutionary Computation, 6(3):231-252.
Wagner, G.P. and Altenberg, L. (1996). Complex adaptations and the evolution of evolvability. Evolution, 50(3):967-976.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Bongard, J. (2010). A Functional Crossover Operator for Genetic Programming. In: Riolo, R., O'Reilly, UM., McConaghy, T. (eds) Genetic Programming Theory and Practice VII. Genetic and Evolutionary Computation. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-1626-6_12
Download citation
DOI: https://doi.org/10.1007/978-1-4419-1626-6_12
Published:
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4419-1653-2
Online ISBN: 978-1-4419-1626-6
eBook Packages: Computer ScienceComputer Science (R0)