Les algorithmes génétiques
But : Obtenir une solution approchée à un problème d'optimisation (si pas de méthode exacte ou de solution connue)
Principe : Sélection naturelle appliquée à une population de solutions potentielles au problème donné
Processus : 1. Population de base générée aléatoirement 2. Évaluation
Note correspondant à son adaptation au problème
3. Sélection tirage au sort de n/2 couples de chaînes sur une roue biaisée.
Chaque chaîne a une probabilité d’être tirée proportionnelle à son adaptation au problème.
4. Croisement et mutation
Chaque couple donne 2 chaînes filles. * Enjambement (=croisement).
Echange simple ou multiple entre deux chromosomes de manière aléatoire
Probabilité : 70%.
Emplacement de l'enjambement choisi aléatoirement.
Croisement en 2 points plus efficace (qu’en un seul point). * Mutations des chaînes filles.
Probabilité : de 0,1 à 1%. (permet d’éviter de tendre vers un extremum local)
Inversion d’un bit au hasard ou remplacement au hasard d’un caractère par un autre.
Les avantages :
Faculté d’adaptation, réactivité et prise en compte de l’environnement
Permet de traiter des espaces de recherche important (beaucoup de solutions)
Qualité de la solution relative au degré de précision demandé
Algorithmes très performants => utilisation se développe dans domaines divers
Les inconvénients / limites :
Nécessitent beaucoup de calculs
Paramètres difficiles à fixer (taille population, % mutation) et influençant résultats finaux
Choix de la fonction d’évaluation délicat (fonction qui rend compte de la pertinence des solutions potentielles, à partir des grandeurs à optimiser.
Pas assuré que la solution trouvée est la meilleure, mais juste une approximation de la solution optimale
Problèmes des optimums locaux
L’utilisation d’algorithmes génétiques:
Bonne méthode si on sait à quoi s’attendre et pas de solution classique au problème posé si on cherche solution bonne