The process of tuning the parameters that characterize evolutionary algorithms is difficult and can be time consuming. This paper presents a self-tuning algorithm for dynamically updating the crossover and mutation probabilities during a run of genetic programming. The genetic operators that are considered in this work are the geometric semantic genetic operators introduced by Moraglio et al. Differently from other existing self-tuning algorithms, the proposed one works by assigning a (different) crossover and mutation probability to each individual of the population. The experimental results we present show the appropriateness of the proposed self-tuning algorithm: on seven different test problems, the proposed algorithm finds solutions of a quality that is better than, or comparable to, the one achieved using the best known values for the geometric semantic crossover and mutation rates for the same problems. Also, we study how the mutation and crossover probabilities change during the execution of the proposed self-tuning algorithm, pointing out an interesting insight: mutation is basically the only operator used in the exploration phase, while crossover is used for exploitation, further improving good quality solutions.
- Genetic Programming
- Parameters Tuning