• Aucun résultat trouvé

Qu’est ce qu’un Algorithme génétique ?

Chapitre 2 - Algorithme évolutionnaire, NSGAII et opérateurs de sélection

2.2. Algorithmes génétiques et NSGAII

2.2.1. Qu’est ce qu’un Algorithme génétique ?

2.2. Algorithmes génétiques et NSGAII

La sélection naturelle ou le survi de l’individu le plus fort a été défini par le chercheur et naturaliste Charles Darwin dans son livre (Darwin, 1929). Il présente la sélection naturelle comme la préservation des traits qui rendent un individu plus apte à résister quand il se reproduit, et les traits qui le rendent

plus faible sont éliminés, dans un processus appelé "évolution" (Coello Coello, 1996). Ces caractéristiques sont contrôlées par des unités appelées "gènes" qui forment des ensembles appelés "chromosomes". Au cours des générations suivantes, les individus les plus résistants survivent, mais aussi leurs gènes les plus adaptés sont transmis à leurs enfants au cours du processus de la recombinaison sexuelle ; appelé "croisement".

John Holland s'est intéressé à l'application de la sélection naturelle à la machine

apprenante (Learning Machine). Il a développé une technique qui permettait aux programmes informatiques d'imiter le processus d'évolution, à la fin des années

60. Le terme "algorithme génétique" est devenu populaire, après la publication de son livre (Holland, 1975, 1992). Par la suite, (Goldberg, 1989) a publié un livre qui fournissait une solide base de travail pour ce domaine de recherche.

2.2.1. Qu’est ce qu’un Algorithme génétique ?

Ces dernières années, l'intérêt croissant pour les algorithmes génétiques s’est traduit par un nombre sans cesse croissant de travaux, de conférences et de revues scientifiques consacrés à ce sujet. Les définitions sur les algorithmes génétiques pullulent, de son côté (Koza, 1992) fournit une très bonne définition :

"L'algorithme génétique est un algorithme mathématique qui transforme un ensemble d’individus (population d'objets mathématiques), chacun avec une valeur de Fitness associée, en une nouvelle population (la génération suivante)

en utilisant des opérations inspirées du principe darwinien de reproduction, et après des opérations génétiques naturelles".

30

Michalewicz (1994) propose qu’un algorithme génétique doit avoir cinq (05) composantes essentielles, pour résoudre un problème particulier :

1. Une représentation des solutions possibles du problème.

2. Une façon de créer une population (un ensemble initial de solutions). 3. Une fonction d'estimation pour les évaluer.

4. Des opérateurs génétiques qui modifient la composition des descendants (croisement, mutation et sélection).

5. Des paramètres différents que l'algorithme génétique utilise (taille de la population, probabilités des opérateurs génétiques).

Gen et al. (2008) font remarquer que la terminologie utilisée en algorithme génétique est une sorte de mélange entre les notions d’informatique et la génétique. Dans un organisme biologique, la structure qui spécifie sa constitution est appelée "chromosome". L'ensemble de tous les chromosomes est appelé un "génotype", et l'organisme qui en résulte est appelé un "phénotype". Chaque chromosome comporte un nombre de structures individuelles appelées "gènes". Les différentes valeurs d'un gène sont appelées "allèles". Chaque gène code une caractéristique

particulière de l'organisme. L'emplacement d’un gène à l'intérieur

d’un chromosome est appelé un "locus". Un récapitulatif des termes utilisés dans un algorithme génétique est présenté dans le tableau 2.1.

Terme Explication

Chromosome Une structure de données qui contient des gènes. Gène Une sous-section d'un chromosome.

Locus La position d’un gène. Allèle La valeur d’un gène.

Phénotype La signification d'un chromosome particulier. Génotype Une solution potentielle à un problème.

31

Pour utiliser un algorithme génétique, un certain nombre d’opérateurs et de concepts doivent être définis. Les plus importants sont :

Représentation (codage des chromosomes) : La première étape de

la conception est couramment appelée "représentation". Elle consiste à spécifier une cartographie des phénotypes sur un ensemble de génotypes qui sont censés représenter ces phénotypes (Eiben and Smith, 2003).

Population : Son rôle est de contenir (la représentation) des solutions possibles.

Une population est un ensemble (où plusieurs copies d'un même élément sont possibles) de génotypes (Eiben and Smith, 2003). La population initiale est généralement générée au hasard.

Fonction d’évaluation ou fonction de Fitness : Chaque chromosome est

évalué et se voit attribuer une valeur selon une fonction d’évaluation, après la création d'une population initiale. Jones (1998) explique que la fonction

d’évaluation est la base de la sélection et facilite ainsi les améliorations. Plus précisément, elle définit ce qu’est que cette amélioration. Techniquement,

c'est une fonction ou une procédure qui attribue une mesure de qualité aux

génotypes. Selon Diaz-Gomez and Hougen (2007), la fonction de Fitness est une boîte noire pour l'algorithme génétique, cela peut être réalisé par un modèle de

simulation, une fonction mathématique, ou même un expert humain.

Sélection parentale : Son rôle consiste à faire la distinction entre les individus en

fonction de leur qualité (Eiben and Smith, 2003), en particulier pour permettre aux meilleurs individus de devenir parents de la génération suivante. Un individu est un parent, s'il a été choisi pour endurer une variation afin de créer sa descendance.

Elitisme : C’est une méthode de sélection qui permet de garder les meilleurs

individus d’une population pour la génération suivante. Mitchell (1999) explique clairement que si les individus ne sont pas conservés, ils risquent de ne pas survivre pour les prochains cycles (après le croisement ou la mutation). L’élitisme consiste à

32

copier un pourcentage des meilleurs individus dans la nouvelle génération, pour éviter qu’ils soient perdus.

Croisement ou recombinaison : C’est un opérateur génétique qui opère sur

deux chromosomes à la fois, et génère la descendance en combinant deux (02) caractéristiques des chromosomes. Le moyen le plus simple d’y arriver est de choisir un point de coupure aléatoire (figure 2.1) et de générer de nouvelles solutions en combinant le segment d'un parent à la gauche du point de coupe avec le segment de l'autre parent à la droite du point de coupe (Gen et al., 2008).

Figure 2.1 Exemple de croisement : Croisement à un point

Taux de croisement : Zhang (2009) le définie comme la probabilité du nombre

de descendants produits dans chaque génération par rapport à la taille de la population. Ce taux contrôle le nombre attendu de chromosomes pour subir

l'opération de croisement.

Mutation : Shahookar et Mazumder (1990) présente la mutation comme

un opérateur qui agit en profondeur, il produit des changements aléatoires et spontanés dans divers chromosomes. Un moyen simple d'obtenir une mutation

serait de modifier un ou plusieurs gènes (figure 2.2). Selon Gen et Cheng (1996), la mutation joue un rôle capital dans un algorithme génétique, en (i) remplaçant

les gènes perdus au cours de la sélection, pour qu'ils puissent être réutilisés ultérieurement, (ii) en fournissant des gènes absents dans la population initiale.

33

Figure 2.2 Exemple de mutation : Mutation à un point

Taux de mutation : Gen et al. (2008) explique que ce taux contrôle

la probabilité avec laquelle de nouveaux gènes sont introduits dans la population pour lors d’une itération. Il contribue à ce que l'algorithme garde la capacité d'apprendre de l'historique de la recherche.

Critères d’arrêt : Les algorithmes génétiques sont des méthodes de recherche

stochastique qui pourraient en principe fonctionner à tout jamais (Ilgin and Tunali, 2007). En pratique, un critère d’arrêt est indispensable, plusieurs approches existent tels que fixer un nombre d’itération ou une limite sur le nombre d'évaluations de la fonction de Fitness (Haupt and Haupt, 2004).

Documents relatifs