Crossover in Genetic Programming is mostly a  destructive  operator, generally producing children worse than the parents and occasionally producing those who are better. A recently introduced operator,  Context-Aware Crossover , which implicitly discovers the best possible crossover site for a subtree has been shown to consistently attain higher fitnesses while processing fewer individuals.It has been observed that context-aware crossover is similar to  Brood Crossover  in that multiple children are produced during each crossover event. This paper performs a thorough analysis of these crossover operators and compares the performance of the two and demonstrates that, although they do work similarly, context-aware crossover performs a far better sampling of the search space and thus performs much better.We also demonstrate that context-aware crossover benefits from a speed up of almost an order of magnitude when using a simple and very small cache, which is over two orders of magnitute  smaller  than caches typically used.
['Hammad Majeed', 'Conor Ryan']
On the constructiveness of context-aware crossover