Skip to Main Content
Genetic programming (GP) is an evolutionary algorithm that evolves computer programs. Its main recombination operator is standard one point crossover which is generally accepted to be one of GP's weak points, due to its ignorance of the context into which genetic material is placed. This work introduces a new context aware recombination operator called context-aware crossover. It implicitly calculates the best possible context of the subtree-to- be-exchanged in the other parent and places it there. It is tested on a wide range of problems and found quite constructive in general and quite effective on hard problems, in particular. It has also shown the ability to generate quite smaller trees than standard GP without effecting the fitness of a population adversely.