• Aucun résultat trouvé

Partie II : Algorithmes génétiques

4. Comment ça fonctionne ?

4.3. Evaluation des individus

Cette phase a pour objectif de quantifier la qualité de chaque chromosome dans la population pour la reproduction. L'évaluation se fait selon une fonction dite d'adaptation qui associe à

chaque phénotype une valeur d'adaptation, elle permet donc de noter les individus de la population. Plus cette note est élevée, plus cet individu est plus adapté à survivre permettant ainsi à ses descendants d'hériter son matériel génétique. Le choix de la fonction d‘évaluation est d'une grande importance : d'une part les performances de l'algorithme dépendent essentiellement d'elle du fait qu'elle est exécutée à chaque génération sur tous les individus, et d'autre part elle doit être capable d'évaluer les individus de manière efficace et sélective.

4.4. Sélection

Une fois réalisée l‘évaluation de la génération, on opère une sélection à partir des valeurs d‘adaptation. Seuls les individus passant l‘épreuve de sélection peuvent se reproduire. Notons que les étapes de sélection et de remplacement sont indépendantes de l'espace de recherche. On distingue deux types de sélection :

La sélection déterministe : Seuls les meilleurs individus seront toujours sélectionnés, les autres sont totalement écartés.

La sélection stochastique : Les meilleurs individus sont toujours favorisés mais de manière stochastique ce qui laisse une chance aux individus moins adaptés pour participer à former la prochaine génération.

Pratiquement, il y a plusieurs techniques de sélection parmi lesquelles on cite :

Sélection par élitisme : Les individus de la population sont triés selon leurs valeurs d‘adaptation. Seuls les premiers individus de la moitié supérieure de la population seront sélectionnés pour se reproduire. La variance de cette technique est nulle mais en revanche la pression de sélection est très élevée. En effet, les chromosomes faibles n'ont en principe aucune chance pour être sélectionnés contrairement à ceux forts qui sont toujours sélectionnés.

Sélection par tirage de roulette : Imaginons une roulette divisée en cases, similaire à une roulette de fortune, chaque case correspond à un individu et dont la taille dépend de son adaptation à son environnement. On lance la roulette puis on sélectionne l'individu possédant la case où elle est tombée. Le processus sera répété autant de fois qu'il y a d'individus à sélectionner. Il est clair que cette technique présente une forte

variance : avec un peu de malchance, les individus très mauvais peuvent être choisis autant de fois qu'il y a de places pour passer à la génération suivante et de même, il se peut qu'aucun des bons individus ne soit sélectionné.

Figure 2.8. Tirage par roulette.

Sélection par tournois : Deux individus sont choisis au hasard pour se combattre, un et un seul entre eux soit le gagnant (en comparant leurs valeurs d‘adaptation) pour pouvoir participer à la reproduction. On répète le processus autant de fois qu'il y a d'individus à sélectionner. On peut également généraliser cette technique pour n individus. La variance de cette technique est élevée. En effet, on peut accorder plus ou moins de chance aux individus peu adaptés. Si par exemple le nombre de participants est assez grand, un individu faible sera, presque toujours, sûrement écarté. Pour combler cette insuffisance, il est possible de compter sur un mécanisme stochastique en introduisant un facteur de probabilité le plus souvent compris entre 0.5 et 1 selon lequel les individus les plus adaptés seront acceptés, ceci permet de contrôler la pression de sélection si nécessaire.

Sélection uniforme : La sélection se fait sans intervention de la valeur d'adaptation. Chaque individu a donc une probabilité de 1/P pour être sélectionné, P étant le nombre d‘individus de la population. La variance de cette technique est très forte : avec un peu

de malchance, il sera possible que l'ensemble de la population ne contienne que des individus très mauvais.

4.5. Croisement

Après avoir sélectionné un certain nombre d'individus, ils seront inclus dans une nouvelle génération intermédiaire puis seront aléatoirement répartis en couples. A ce moment là, chaque couple peut commencer à se reproduire, permettant par-là la construction d'une nouvelle génération. Les parents doivent passer leurs caractéristiques génétiques à leurs descendants en copiant et recombinant leurs matériels génétiques de façon à ce que chaque couple donne lieu à la naissance de deux descendants. L‘opérateur de croisement assure le brassage du matériel génétique et l‘accumulation des mutations favorables ce qui permet de créer de nouvelles combinaisons des paramètres des solutions. Il existe plusieurs façons pour réaliser un croisement entre deux chromosomes :

Croisement en un point : On choisit au hasard un point pour couper les deux chromosomes de chaque couple puis on échange les fragments situés après le point de coupure permettant la création de deux nouveaux génotypes. Notons que le croisement peut également ne pas s‘effectuer au niveau des gènes ce qui rend possible à un chromosome d'être coupé au milieu d‘un gène.

Croisement en deux points : On choisit au hasard deux points de croisement puis on échange les fragments situés entre ces deux points. Cette définition peut également se généraliser pour effectuer un croisement à n points.

Figure 2.10. Croisement en deux points

4.6. Mutation

Nous définissons une mutation comme étant la modification aléatoire, qui n‘est pas issue d‘une opération de croisement, de la valeur d‘un paramètre du dispositif d'un chromosome avec une faible probabilité, typiquement entre 0.01 et 0.001.

Pourquoi une mutation ? La raison est d'éviter le phénomène de dérive génétique. Certains gènes favorisés par des erreurs stochastiques peuvent se répandre au détriment des autres et seront ainsi présents au même endroit sur tous les génotypes. Ceci implique que la convergence de l'algorithme aura lieu vers un optimum local et on parle alors de la convergence prématurée. Les mutations permettent alors un maintien en introduisant constamment de nouveaux gènes conduisant à une diversité génétique. Un autre point essentiel que ne doit être négligé, supposons par exemple que l'évolution, après un certain nombre d‘itérations, a conduit à une population dont la plupart des individus ont convergé vers l'optimum global, à ce moment là, inutilement de faire seulement croiser les chromosomes car ils sont souvent quasi identiques. Les mutations conduisent alors à rapprocher les individus vers l'optimum global d'autant que le permet la précision du codage.

Le choix de la probabilité de mutation est très important car si elle sera trop élevée, on risque de ne pas voir une bonne convergence, et si elle sera trop faible, ça réduit d'autant son effet. Une conclusion est que le croisement est essentiellement utile pour explorer globalement et entièrement l'espace de recherche tandis que les mutations sont principalement utiles pour la recherche locale et l'optimisation des solutions déjà rapprochées.

4.7. Remplacement

A ce stade, une nouvelle génération doit naître à partir des parents croisés et mutés de la génération précédente qui ont formé les nouveaux enfants, il en résulte une amélioration de la population. Lors de sa construction, deux cas peuvent se figurer : les nouvelles solutions peuvent remplacer totalement ou partiellement les anciennes solutions.

Remplacement stationnaire : Les enfants remplacent automatiquement les parents sans tenir compte de leurs performances respectives.

Remplacement élitiste : On garde au moins l'individu possédant les meilleures performances d'une génération à la suivante.

Une fois la nouvelle génération créée, le processus d'évolution doit commencer à nouveau dans le but de construire une autre génération dont les individus seront de plus en plus adaptés. L'algorithme s'arrête quand le meilleur individu d'une génération a dépassé un certain

seuil ou quand un certain nombre d'individus sont proches d‘une solution locale optimale (convergence partielle).

En conclusion, nous pouvons dire que la prolifération de la popularité des AG est essentiellement issue de leur généricité qui permet la résolution de plusieurs classes de problèmes. Pour preuve, il suffit de voir le grand nombre d'articles consacrés à la résolution de divers problèmes notamment les problèmes combinatoires et ceux d'apprentissage. Une autre caractéristique fondamentale que possèdent les AG, celle du parallélisme intuitif où l'on peut traiter plusieurs chromosomes en même temps permettant par-là la construction des systèmes hautement performants. L'intérêt de leur utilisation peut donc être résumé par la formule : " puissance + généricité ".