Navigation



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 :

tree S-expression

donnera après mutation l'arbre :

tree S-expression

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 !



Valid XHTML 1.0 Strict