• Aucun résultat trouvé

3.2 Systèmes de Classeurs avec Algorithme Génétique

3.2.1 L’algorithme génétique

Introduit par Holland et développé par Goldberg [Goldberg, 1989], les algorithmes génétiques doivent leur nom à des caractéristiques assimilables à celle que la nature utilise au niveau de la cellule. En effet, l’algorithme génétique manipule des chromosomes qu’il sélectionne, croise et mute. Au niveau de la cellule, deux d’entre elles sont sélectionnées naturellement, on les appelle “parents”. Ces deux cellules sont croisées afin de créer des cellules “filles”. Ce croisement s’opère sur le génotype de la cellule i.e. les gènes qui la composent, et manipule les phénotypes i.e. ce que représentent les différentes parties du génotype. Lors d’un croisement les deux individus échangent leur capital génétique et participent à l’apparition de nouveaux phénotypes tout en gardant ceux des parents. Lors du croisement de la cellule ou de sa duplication qui sont des opérations chimiques sur les gènes, il arrive parfois qu’un gène et par conséquent, un phénotype, soit modifié par ce que l’on appelle une mutation. Cette mutation s’opère très rarement et risque parfois de créer un phénotype non viable ou inversement un phénotype plus résistant à l’environnement dans lequel la cellule vit. Pour adapter le fonctionnement de la cellule à l’informatique, il a été nécessaire de transformer croisement et mutation en probabilité qu’elle se produise. La génération de nombres aléatoires simule l’évolution naturelle. Les probabilités de croisement et de mutation usuelles ont été déduites et approchées par l’observation de l’évolution. Ainsi, une probabilité de croisement standard entre individus oscillera entre 50% et 100% à chaque génération de l’évolution et une probabilité de mutation standard oscillera quant à elle entre 0.01 % et 0.5 % pour une mutation allélique i.e. par gène et sera multipliée par la taille du chromosome pour une mutation chromosomique. Ces valeurs peuvent être adaptées selon la nature du problème abordé. La nature utilise différentes méthodes pour sélectionner les individus qui vont être croisés. Une forme de sélection naturelle s’opère en essayant de garder les meilleurs individus en fonction de différents critères qui se sont établis au cours de l’évolution. Ce mécanisme de sélection peut être simulé mathématiquement de plusieurs façons.

Mécanisme de sélection

Deux méthodes classiques existent pour simuler la sélection de deux individus qui vont se croiser. Premièrement la sélection par tournoi qui consiste à choisir le meilleur individu et à lui permettre de

3.2. SYSTÈMES DE CLASSEURS AVEC ALGORITHME GÉNÉTIQUE 53 se reproduire en éliminant les plus faibles systématiquement. Cette méthode ne laisse rien au hasard et permet de faire dominer rapidement ce qui semble être le meilleur individu dans la population.

La méthode de la roue de la fortune permet d’introduire un peu de hasard en permettant la sélection d’individus totalement différents. Le principe est simple, chaque individu de la population a un poids en terme de fitness. La roue de la fortune consiste à tirer au hasard un nombre compris entre 0 et la somme de toutes les fitness. Ce nombre va permettre de déterminer quel individu va être sélectionné pour le croisement en parcourant la liste des individus dans l’ordre et en accumulant la fitness jusqu’à ce qu’elle soit supérieure ou égale au nombre tiré au hasard. Les individus qui ont les meilleures fitness auront le plus de chance d’être choisis. On peut choisir deux fois le même individu. La table 3.1 nous

Individus Fitness Représentativité Somme des Fitness

1 01001 2 25% 2

2 11110 4 50% 6

3 00001 1 12,5% 7

4 10000 1 12,5% 8

Tirage Roulette N Individu Sélectionné Individu Sélectionné

3 2 11110

7 3 00001

1 1 01001

5 2 11110

TAB. 3.1 – Roue de la Fortune.

montre un exemple de tirage pour une population. La somme des fitness est ici de 8. Lorsqu’on tire 3, c’est l’individu numéro 2 dont la somme des fitness se trouve dans l’intervalle2

6

qui est sélectionné. Lorsqu’on tire 7 à la roulette, on sélectionne l’individu 3 car il est celui qui a la valeur 7 lorsqu’on somme dans l’ordre les fitness des individus de la population.

Opérateur de croisement

Au niveau des systèmes de classeurs, cela consiste à choisir deux individus de la population que l’on va croiser pour créer deux nouveaux individus qui soit remplaceront les parents, soit s’ajouteront à la population ou encore remplaceront deux individus moins performants. Un croisement s’opère en un à n points des chromosomes des individus sélectionnés. La figure 3.4 permet de voir le résultat d’un croisement mono-point. Il est facile de constater que la diversité peut être facilement recréée à partir de deux individus croisés. Dans un croisement mono-point, on choisit aléatoirement un endroit identique dans chacun des parents, où le croisement va s’opérer. Tout le capital génétique des parents qui est avant le point de croisement reste identique chez les enfants correspondants, tandis que la partie du chromosome qui se situe après ce point est échangé chez les enfants. On peut obtenir de nouveau les parents en recroisant les enfants au même endroit. Lors d’un croisement n-points, cf. figure 3.5, le brassage est très différent. Les phénotypes sont brassés de manière plus intense. Dans un croisement

54 CHAPITRE 3. SYSTÈMES DE CLASSEURS n-points, n doit être strictement inférieur àλ, la longueur de la chaîne. Si l’on donne un rang à chaque point de croisement et le rang 0 au début du chromosome, on retrouve dans les allèles des enfants ceux du parent correspondant pour les points situé entre un rang pair et un rang impair et les allèles de l’autre parent pour les points situés entre un rang impair et un rang pair.

Parents Enfants FIG. 3.4 – Croisement mono-point. Enfants Parents FIG. 3.5 – Croisement n-points. Opérateur de mutation

Pour un système de classeurs, on effectue deux types de mutation. Soit la mutation allélique qui consiste à faire un tirage aléatoire pour chaque allèle du chromosome ou bien une mutation chromo- somique qui consiste à déterminer si il y a une mutation dans ce chromosome. La mutation change un des allèles en un autre. Cela revient à changer la valeur d’un des caractères de la chaîne chromoso- mique en l’une des autres valeurs possibles. La figure 3.6 montre un des effets possible d’une mutation sur le troisième allèle d’un chromosome.

Convergence

Il existe un théorème sur la convergence d’un algorithme génétique qui indique que l’on est sûr qu’à l’aide d’un opérateur de croisement et de mutation, on obtiendra en un temps non déterminé la solution au problème posé. Alors pourquoi utiliser un algorithme génétique si il faut un temps “infini” pour résoudre un problème ? En fait, puisque l’algorithme génétique intervient pour l’essentiel, au

3.2. SYSTÈMES DE CLASSEURS AVEC ALGORITHME GÉNÉTIQUE 55

FIG. 3.6 – Mutation.

niveau de l’évolution des systèmes de classeurs, il permet surtout de supposer que la population se stabilise à l’infini autour de la solution du problème. D’autre part, nous verrons que l’algorithme géné- tique permet d’évaluer plus de 80% des populations d’individus possibles en très peu de générations, ce qui est un atout lorsque le problème rencontré est soit inconnu, soit bruité. Nous avons discuté de la notion de bruit dans le chapitre 2.