A Less Destructive, Context-Aware Crossover Operator for GP
Standard GP crossover is widely accepted as being a largely destructive operator, creating many poor offspring in the search for better ones. One of the major reasons for its destructiveness is its disrespect for the context of swapped subtrees in their respective parent trees when creating offspring. At times, this hampers GP’s performance considerably, and results in populations with low average fitness values.
Many attempts have been made to make it a more constructive crossover, mostly by preserving the context of the selected subtree in the offspring. Although successful at preserving context, none of these methods provide the opportunity to discover new and better contexts for exchanged subtrees.
We introduce a context-aware crossover operator which operates by identifying all possible contexts for a subtree, and evaluating each of them. The context that produces the highest fitness is used to create a child which is then passed into the next generation.
We have tested its performance on many benchmark problems. It has shown better results than the standard GP crossover operator, using either the same number or fewer individual evaluations. Furthermore, the average fitness of populations using this scheme improves considerably, and programs produced in this way are much smaller than those produced using standard crossover.
KeywordsEvaluation Count Genetic Programming Crossover Operator Parent Tree Crossover Point
Unable to display preview. Download preview PDF.
- 1.Banzhaf, W., Nordin, P., Keller, R.E., Francone, F.D.: Genetic Programming – An Introduction. In: On the Automatic Evolution of Computer Programs and its Applications, dpunkt.verlag, Morgan Kaufmann, San Francisco (1998)Google Scholar
- 2.D’haeseleer, P.: Context preserving crossover in genetic programming. In: Proceedings of the 1994 IEEE World Congress on Computational Intelligence, Orlando, Florida, USA, 27-29 June 1994, vol. 1, pp. 256–261. IEEE Press, Los Alamitos (1994)Google Scholar
- 3.Hengproprohm, S., Chongstitvatana, P.: Selective crossover in genetic programming. In: ISCIT International Symposium on Communications and Information Technologies, ChiangMai Orchid, ChiangMai Thailand, 14-16 November (2001)Google Scholar
- 6.Majeed, H.: A new approach to evaluate GP schema in context. In: Rothlauf, F., Blowers, M., Branke, J., Cagnoni, S., Garibay, I.I., Garibay, O., Grahl, J., Hornby, G., de Jong, E.D., Kovacs, T., Kumar, S., Lima, C.F., Llorá, X., Lobo, F., Merkle, L.D., Miller, J., Moore, J.H., O’Neill, M., Pelikan, M., Riopka, T.P., Ritchie, M.D., Sastry, K., Smith, S.L., Stringer, H., Takadama, K., Toussaint, M., Upton, S.C., Wright, A.H. (eds.) Genetic and Evolutionary Computation Conference (GECCO2005) workshop program, Washington, D.C., USA, June 25-29, 2005, pp. 378–381. ACM Press, New York (2005)Google Scholar
- 7.Montana, D.J.: Strongly typed genetic programming. BBN Technical Report #7866, Bolt Beranek and Newman, Inc., 10 Moulton Street, Cambridge, MA 02138, USA, May 7, (1993)Google Scholar
- 8.Poli, R., Langdon, W.B.: On the search properties of different crossover operators in genetic programming. In: Koza, J.R., Banzhaf, W., Chellapilla, K., Deb, K., Dorigo, M., Fogel, D.B., Garzon, M.H., Goldberg, D.E., Iba, H., Riolo, R. (eds.) Proceedings of the Third Annual Conference on Genetic Programming 1998, University of Wisconsin, Madison, Wisconsin, USA, July 22-25, 1998, pp. 293–301. Morgan Kaufmann, San Francisco (1998)Google Scholar
- 9.Tackett, W.A.: Recombination, Selection, and the Genetic Construction of Computer Programs. PhD thesis, University of Southern California, Department of Electrical Engineering Systems, USA (1994)Google Scholar
- 10.Vekaria, K.P.: Selective Crossover as an Adaptive Strategy for Genetic Algorithms. PhD thesis, University of London, Department of Selective Recombination (Dominance Crossover) Computer Science, University College London, UK (1999)Google Scholar
- 11.Yuen, C.C.: Selective crossover using gene dominance as an adaptive strategy for genetic programming. Msc intelligent systems, University College, London, UK (September 2004)Google Scholar