La mutation
La mutation est un opérateur qui comme le croisement trouve son inspiration dans les algorithmes évolutionnaires, en particulier dans le domaine des algorithmes génétiques.
À la différence du croisement qui permet la recombinaison de deux individus, la mutation travaille sur un seul individu et « tente » de réaliser une perturbation minime de cet individu.
Quelques remarques sur la mutation :- il existe de nombreux types de mutation dans la programmation génétique ;
- la technique la plus courante consiste en la sélection d'un nœud au hasard au sein de l'individu et
- remplacer ce nœud par un nœud de même type (un terminal par un autre terminal, une fonction par une fonction de même arité)
- générer un nouvel arbre à partir de ce nœud
- le principal inconvénient de la mutation est que la sélection du nœud racine peut entraîner des modifications majeures dans l'individu (ce qui est a priori contraire au principe de mutation).
Par exemple, sur l'arbre suivant une mutation du « * » dans le sous arbre gauche :
donnera après mutation l'arbre :
Ainsi l'expression ((3 x 4) + (2 * 7) - 5) sera transformé en ((3 - 4) + (2 * 7) - 5)
Il est clair que la sélection aléatoire du + à la racine de l'arbre entraînera des modifications profondes de l'expression !