Context-aware mutation: a modular, context aware mutation operator for genetic programming

This paper introduces a new type of mutation, Context-Aware Mutation, which is inspired by the recently introduced context-aware crossover. Context-Aware mutation operates by replacing existing sub-trees with modules from a previously construct repository of possibly useful sub-trees. We describe an algorithmic way to produce the repository from an initial, exploratory run and test various GP set ups for producing the repository. The results show that when the exploratory run uses context-aware crossover and the main run uses context-aware mutation, not only is the final result significantly better, the overall cost of the runs in terms of individuals evaluated is significantly lower.