Vous êtes sur la page 1sur 21

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche


Scientifique
Université des Frères Mentouri de Constantine
Faculté des Sciences de la Technologie
Département d’Electrotechnique

Master Electrotechnique industriel


Module : Intelligence artificielle

Mini projet

Algorithmes génétiques

Péparé par: Propsé par :


- Abada lokmane Dr. Rezgui Salaheddine
Table des matières
I. Introduction ............................................................................................................................................. 1

II. Structure de l’Algorithme Génétique : ................................................................................................... 4

III. Codage des chromosomes ..................................................................................................................... 5

IV. Génération de la population initiale :.................................................................................................... 8

V. Evaluation (Fitness) : ............................................................................................................................. 8

VI. Mécanismes d’un AG : ......................................................................................................................... 9

a- Sélection :....................................................................................................................................... 10

b- Croisement (Crossover) : ............................................................................................................... 12

c- Mutation : ....................................................................................................................................... 15

d- Sélection des individus de la nouvelle génération (sélection finale) : ............................................. 17

Critère d’arrêt : ...................................................................................................................................... 18

Conclusion ................................................................................................................................................ 18

Références : ............................................................................................................................................... 19
Réseaux adaptatifs et neuro-flous

I. Introduction

Les algorithmes génétiques (AG) représentent une famille assez riche et très intéressante d’algorithmes

d’optimisation stochastique fondés sur les mécanismes de la sélection naturelle et de la génétique [21].

Les champs d’application sont fort diversifiés. On les retrouve aussi bien en théorie des graphes qu’en

compression d’images numériques ou encore en programmation automatique et en reconnaissance

de formes. Le choix des AG parmi d’autres méthodes se justifie en fonction des quatre propriétés

suivantes:

- Les AG utilisent un codage des paramètres et non les paramètres eux-mêmes.

- Les AG travaillent sur une population de points, au lieu d’un point unique.

- Les AG n’utilisent que les valeurs de la fonction étudiée, pas sa dérivée ou une autre connaissance

auxiliaire.

- Les AG utilisent des règles de transition probabilistes, et non déterministes. De plus, les AG utilisent

deux stratégies importantes pour trouver une solution ou un ensemble de solutions. Ces stratégies sont :

l’exploration et l’exploitation. Elles permettent de trouver le maximum global (solution du problème) du

fait qu’elles sont complémentaires. Si l’exploration investigue l’ensemble des solutions de l’espace

de recherche, la phase d’exploitation quant à elle se sert de la connaissance trouvée

aux solutions précédemment visitées pour aider à trouver de meilleures solutions. La

combinaison de ces deux stratégies peut être tout à fait efficace mais la difficulté est de

savoir où se trouve la meilleure solution. Les principes de base des AG ont été développés par Holland.

Ils ont été inspirés par le mécanisme de sélection naturelle où les meilleurs candidats sont probablement

les mieux adaptés aux conditions de concurrence. L’AG utilise alors une analogie directe avec l’évolution

naturelle. À travers la méthode d’évolution génétique, une solution optimale peut être trouvée et

1
Réseaux adaptatifs et neuro-flous

représentée par le dernier gagnant de la technique génétique. Ces algorithmes sont simples et très

performants dans la recherche d’une solution optimale.

Les AG fonctionnent avec une population regroupant un ensemble d’individus appelés chromosomes.

Chaque chromosome est constitué d’un ensemble de gènes. Pour chaque individu on attribue une valeur

calculée par une fonction appelée fonction d’adaptation ou fitness. En pratique, à partir d’une population,

des chromosomes sont générés d’une façon aléatoire lors de l’initialisation. Pour définir la taille de la

population, Man et al ont mentionné que cette taille varie d’un problème à un autre.

Dans chaque cycle d’opérations génétiques, une nouvelle population appelée génération est créée à partir

des chromosomes de la population courante. Pour cela certains chromosomes appelés ‘parents’ sont

sélectionnés afin d’élaborer les opérations génétiques. Les gènes de ces parents sont mixés et recombinés

pour la production d’autres chromosomes appelés ‘enfants’ constituant la nouvelle génération.

Les étapes de l’AG sont répétées durant t cycles, l’arrêt de l’algorithme est fixé d’après un critère d’arrêt.

On peut avoir plusieurs critères d’arrêt :

- Le nombre de génération fixé initialement a été atteint.

- La valeur de la fonction d’adaptation a atteint une valeur fixée a priori.

- L’absence d’évolution de la valeur de la fonction d’adaptation des individus d’une population à une

autre.

- Les chromosomes ont atteint un certain degré d’homogénéité.

2
Réseaux adaptatifs et neuro-flous

La figure 6 illustre les différentes étapes d’un AG simple

Algorithme Génétique Simple

t = 0;

Initialisation (P(t));

Évaluation (P(t));

While non fin faire

t= t + 1;

P’ = Sélection (P(t));

Recombiner (P’(t);

Mutation (P’(t));

Évaluation (P’(t));

P = Survie (P, P’(t));

Figure 1.1. Les étapes d’un AG simple

On peut résumer que l’AG est fondé sur :

- Une représentation chromosomique des solutions du problème.

- Une méthode pour créer une population initiale de solutions.

- Une fonction d’évaluation (fitness) pour classer les solutions en fonction de leurs aptitudes.

- Des opérateurs génétiques qui définissent la manière dont les caractéristiques génétiques des parents

sont transmises aux descendants (enfants).

- Les valeurs des paramètres utilisés par l’AG.

3
Réseaux adaptatifs et neuro-flous

II. Structure de l’Algorithme Génétique :


L’implémentation d’un AG est spécifique au problème à résoudre. Pour l’utiliser, il faut disposer des cinq

éléments suivants :

❖ Un principe de codage de l'élément de population : La qualité du codage des données

conditionne le succès des algorithmes génétiques. Les codages binaires ont été très utilisés à

l'origine. Les codages réels sont désormais largement utilisés, notamment dans les domaines

applicatifs pour l'optimisation de problèmes à variables réelles.

❖ Un mécanisme de génération de la population initiale : Ce mécanisme doit être capable

de produire une population d'individus non homogène qui servira de base pour les générations

futures.

❖ Une fonction à optimiser: Celle-ci retourne une valeur appelée fitness ou fonction d'évaluation

de l'individu.

❖ Des opérateurs : permettant de diversifier la population au cours des générations et d'explorer

l'espace d'état. L'opérateur de croisement recompose les gènes d'individus existant dans la

population ainsi que l'opérateur de mutation a pour but de garantir l'exploration de l'espace d'états.

❖ Des paramètres de dimensionnement : Taillent de la population, nombre total de générations,

probabilités d'application des opérateurs de croisement et de mutation.

L’organigramme fonctionnel de la figure II.1 illustre la structure de l’Algorithme Génétique. Les

diverses phases et les mécanismes associés à chacune d’entre elles seront présentés dans les

sections suivantes :

4
Réseaux adaptatifs et neuro-flous

Figure II.1 : Organigramme générale d’un algorithme génétique.

III. Codage des chromosomes


Un chromosome est un ensemble de paramètres (gènes) qui sont reliés entre eux pour former une chaîne

de valeurs. Beasly et al ont mentionné que traditionnellement ces valeurs (symboles) sont représentées par

des bits (0 ou 1). En terme de la génétique, l’ensemble des paramètres représentés par un chromosome

particulier est désigné sous le nom de génotype. Le génotype contient l’information exigée pour construire

une organisation qui est désignée sous le nom du phénotype. Goldberg et Holland ont démontré qu’il est

idéal de représenter le chromosome en une chaîne binaire. C’est pourquoi les AG utilisent généralement

cette représentation. Par contre d’autres auteurs tels que Man et al , Janikow et Michalewicz, Herrera et

5
Réseaux adaptatifs et neuro-flous

al, et Davis ont effectué une comparaison entre la représentation binaire et la représentation réelle. Ces

auteurs ont trouvé que la représentation réelle donne de meilleurs résultats d’après leur problème à

résoudre.

Fig III.1. Structure d’un chromosome.

Chaque paramètre d'une solution est assimilé à un gène, toutes les valeurs qu'il peut prendre sont les

allèles de ce gène, on doit trouver une manière de coder chaque allèle différent de façon unique

(établir une bijection entre l'allèle "réel" et sa représentation codée). Un chromosome est une suite de gène,

on peut par exemple choisir de regrouper les paramètres similaires dans un même chromosome

(chromosome à un seul brin) et chaque gène sera repérable par sa position : son locus sur le chromosome

en question. Chaque individu est représenté par un ensemble de chromosomes, et une population est un

ensemble d'individus.

6
Réseaux adaptatifs et neuro-flous

Figure III.2. Les cinq niveaux d'organisation d'un algorithme génétique

Il y a trois principaux types de codage utilisables, et on peut passer de l'un à l'autre relativement

facilement :

▪ Le codage binaire : c'est le plus utilisé. Chaque gène dispose du même alphabet binaire {0, 1}

Un gène est alors représenté par un entier long (32 bits), les chromosomes qui sont des suites de gènes

sont représentés par des tableaux de gènes et les individus de notre espace de recherche sont représentés

par des tableaux de chromosomes.

Ce cas peut être généralisé à tout alphabet allélique n-aire permettant un codage plus intuitif, par exemple

pour le problème du voyageur de commerce on peut préférer utiliser l'alphabet allélique {c1, c2, c3, ...,

cn} où ci représente la ville de numéro i.

▪ Le codage réel : cela peut être utile notamment dans le cas où l'on recherche le maximum d'une fonction

réelle.

Figure I.2. Illustration schématique du codage des variables réelles

7
Réseaux adaptatifs et neuro-flous

▪ Le codage de Gray : dans le cas d'un codage binaire on utilise souvent la "distance de Hamming"

comme mesure de la dissimilarité entre deux éléments de population, cette mesure compte les différences

de bits de même rang de ces deux séquences. Et c'est là que le codage binaire commence à montrer ses

limites. En effet, deux éléments voisins en terme de distance de Hamming ne codent pas nécessairement

deux éléments proches dans l'espace de recherche. Cet inconvénient peut être évité en utilisant un "codage

de Gray" : le codage de Gray est un codage qui a comme propriété qu’entre un élément n et un élément

n+1, donc voisin dans l'espace de recherche, un seul bit diffère.

IV. Génération de la population initiale :


Le choix de la population initiale d’individus conditionne fortement la rapidité de convergence de

l’algorithme. Si la position de l’optimum dans l’espace d’état est totalement inconnue, il est naturel de

générer aléatoirement des individus en faisant des tirages uniformes dans chacun des domaines associés

aux composantes de l’espace d’état en veillant à ce que les individus produits respectent les contraintes.

Si des informations a priori sur le problème sont disponibles, il est naturel de générer les individus dans

un sous domaine particulier afin d’accélérer la convergence.

V. Evaluation (Fitness) :
L’évaluation de la Fitness est généralement l’étape où on mesure la performance de chaque individu pour

pouvoir juger sa qualité et ainsi la comparée aux autres, il faut établir une mesure commune d’évaluation.

Aucune règle n’existe pour définir cette fonction, son calcul peut ainsi être quelconque, que ce soit une

simple équation ou une fonction affine. La manière la plus simple est de poser la fonction d’adaptation

comme la formalisation du critère d’optimisation. En raison de l’analogie avec la théorie de l’évolution

(survie des individus les mieux adaptés à leur environnement), l’algorithme génétique est naturellement

formulé en termes de maximisation.

8
Réseaux adaptatifs et neuro-flous

Etant donné une fonction 𝑓 réelle à une ou plusieurs variables, le problème

d’optimisation sur l’espace de recherche 𝐸 s’écrit de la manière suivante :

Dans beaucoup de problèmes, l’objectif est exprimé sous forme de minimisation d’une fonction coût ℎ :

VI. Mécanismes d’un AG :

A partir d’une première population d’individus créée aléatoirement, les AGs génèrent de nouveaux

individus plus performants que leurs prédécesseurs en effectuant des opérations génétiques. Les AGs

utilisent des outils tels que la reproduction, le croisement et la mutation. Ces outils sont basés sur des

processus aléatoires.

La reproduction est une version artificielle de la sélection naturelle, c’est un processus dans lequel chaque

individu est copié en fonction des valeurs de la fonction d’évaluation. Le croisement est l’opérateur le

plus dominant dans un AG, il permet à deux chaînes d’échanger des portions de leurs structures produisant

ainsi de nouvelles chaînes. La mutation est un opérateur local qui est appliqué avec une très faible

probabilité, figure VI.1.

9
Réseaux adaptatifs et neuro-flous

Figure VI.1. Mécanismes de l’algorithme génétique.

a- Sélection :
Permet d’identifier statistiquement les meilleurs individus d’une population et d’éliminer les

mauvais pendant le passage d’une génération à une autre, ce processus est basé sur la performance

(l’évaluation) de l’individu. Il y’ a plusieurs méthodes de sélection, citons quelques-unes :

- Sélection uniforme : La sélection se fait aléatoirement, et sans intervention de la valeur

d'adaptation. Chaque individu a donc une probabilité 1/𝑝 d'être sélectionné, où 𝑝 est la taille

de population.

- Sélection par rang : Cette technique de sélection choisit toujours les individus possédant les

meilleurs scores d'adaptation, le hasard n'entre donc pas dans ce mode de sélection, la sélection

appliquée consiste à conserver les meilleurs individus (au sens de la fonction d'évaluation).

- Roue de la fortune (roulette wheel) : Selon cette méthode, chaque chromosome sera dupliqué

dans une nouvelle population proportionnellement à sa valeur d’adaptation. Nous effectuons,

en quelque sorte, autant de tirages avec remises qu’il y a d’éléments dans la population, la

10
Réseaux adaptatifs et neuro-flous

fitness d’un chromosome particulier étant(𝑑(𝑐𝑖)), la probabilité avec laquelle il sera réintroduit

dans une nouvelle population de taille 𝑁 est :

Les individus ayant une grande fitness ont donc plus de chance d’être sélectionnés. On parle alors de

section proportionnelle, figure VI.2.

Figure VI.2. Exemple d’une roulette de la fortune.

- Roulette de casino : C’est la sélection naturelle la plus employée pour l’AG binaire. Chaque

chromosome occupe un secteur de roulette dont l’angle est proportionnel à son indice de

qualité. Un chromosome est considéré comme bon aura un indice de qualité élevé, un large

secteur de roulette et alors il aura plus de chance d’être sélectionné.

- Sélection par tournoi : Choisir aléatoirement deux individus et on compare leur fonction

d’adaptation (combattre) et on accepte la plus adapte pour accéder à la génération

intermédiaire, et on répète cette opération jusqu'à remplir la génération intermédiaire ( 𝑁 2

11
Réseaux adaptatifs et neuro-flous

composants). Les individus qui gagnent à chaque fois on peut les copier plusieurs fois ce qui

favorisera la pérennité de leurs gènes.

- Sélection Elitiste : La stratégie élitiste consiste à conserver le meilleur individu à chaque

génération. Ainsi l’élitisme empêche l’individu le plus performant de disparaître au cours de

la sélection ou que des bonnes combinaisons soient affectées par les opérateurs de croisement

et de mutation. Après chaque évaluation de la performance des individus à une génération 𝑘

donnée, le meilleur individu de la génération précédente 𝑘 - 1 est réintroduit dans la population

si aucun des individus de la génération 𝑘 n’est meilleur que lui. Par cette approche, la

performance du meilleur individu de la population courante est monotone de génération en

génération.

b- Croisement (Crossover) :

Le phénomène de croisement est une propriété naturelle de l’ADN, et c’est analogiquement

qu’on fait les opérations de croisement dans les AGs. L’opérateur de croisement favorise

l’exploration de l’espace de recherche et enrichit la diversité de la population en manipulant la

structure des chromosomes, selon une probabilité 𝑃𝑐 le croisement est appliqué à un couple de

parents arbitrairement choisis dans la population pour produire deux enfants. La valeur de cette

probabilité est choisie généralement entre 0.5 et 0.9. Il existe plusieurs méthodes de croisement

et ils différent selon le type de codage adapté. Croisement binaire : Le croisement binaire est

l’échange d’un certain nombre de bits entre deux chromosomes représentant deux individus de

la population. Il existe différents types de croisements :

✓ Croisement en un point : On choisit au hasard un point de croisement, pour chaque couple de

chromosomes parents (𝑐ℎ𝑟1 𝑒𝑡 𝑐ℎ𝑟2), ensuite on échange les deux sous chaînes terminales de

12
Réseaux adaptatifs et neuro-flous

chacun des chromosomes, ce qui produit deux enfants 𝑐ℎ𝑟1′ 𝑒𝑡 𝑐ℎ𝑟2′ comme indiqué sur la figure

2.8.

Notons que le croisement s’effectue directement au niveau binaire (bit), et non pas au

niveau des gènes (figure 2.8).

Figure VI.3. Croisement en un point.

✓ Croisement en deux points :

Deux points de coupure sont choisis au hasard et le contenu entre ces points est interchangé pour former

les enfants (figure 2.9).

Figure VI.4. Croisement en deux points.

✓ Croisement uniforme : Un masque de croisement est généré aléatoirement pour chaque couple

d'individus, les valeurs de ce masque sont binaires et sa taille est identique à celle du chromosome.

Si la valeur du bit du masque est égale à 1 alors la valeur du gène du parent1 est copiée chez

13
Réseaux adaptatifs et neuro-flous

l'enfant1 et si la valeur du bit du masque est égale à 0 alors la valeur du gène du parent2 est

transmise à l'enfant1. Les valeurs des gènes de l'enfant2 sont les valeurs des gènes du parents1

lorsque la valeur du bit du masque est égale à 0 et les valeurs des gènes du parents2 lorsque la

valeur du bit du masque est égale à 1. Le fonctionnement croisement uniforme est illustré par la

figure VI.5.

Figure VI.5. Croisement uniforme.

✓ Croisement réel :

Le croisement réel ne se différencie du croisement binaire que par la nature des

éléments qu'il altère : ce ne sont plus des bits qui sont échangés à droite du point de

croisement, mais des variables réelles. Il y a plusieurs méthodes de croisement parmi

lesquels on trouve le croisement barycentre :

✓ Croisement barycentre :

Deux gènes 𝑐ℎ𝑟1 (𝑖) 𝑒𝑡 𝑐ℎ𝑟2(𝑖) sont sélectionnés dans chacun des parents à la

même position 𝑖. Ils définissent deux nouveaux gènes 𝑐ℎ𝑟1′(𝑖) 𝑒𝑡 𝑐ℎ𝑟2′(𝑖) par combinaison

linéaire.

14
Réseaux adaptatifs et neuro-flous

𝑐ℎ𝑟1′(𝑖) = 𝑟 ∗ 𝑐ℎ𝑟1(𝑖) + (1 - 𝑟) ∗ 𝑐ℎ𝑟2(𝑖)

𝑐ℎ𝑟2′(𝑖) = (1 - 𝑟) ∗ 𝑐ℎ𝑟1(𝑖) + r ∗ 𝑐ℎ𝑟2(𝑖)

Où 𝑟 est un coefficient de pondération aléatoire adapté au domaine d’extension des gènes qui prend

généralement ses valeurs dans l’intervalle [-0.5, 1.5].

c- Mutation :
La mutation est également identique à la mutation biologique, elle vise à modifier légèrement

un gène à une position aléatoire dans le chromosome. Les individus de la population issue du

croisement vont subir un processus de mutation avec une probabilité𝑝𝑚, cette probabilité est

généralement de faible valeur.

L’opérateur de mutation permet de modifier aléatoirement la valeur d’un paramètre du dispositif.

Il joue le rôle de bruit et empêche l’évolution de se figer en assurant une recherche aussi bien

globale que locale.

➢ Il existe plusieurs méthodes de mutation parmi lesquels on trouve :

- Mutation binaire :

La mutation binaire s'applique à un seul chromosome. Un bit du chromosome est tiré au hasard.

Sa valeur est alors inversée, le bit est donc remplacé par son complément. Il existe une variante où

plusieurs bits peuvent muter au sein d'un même chromosome.

Figure VI.6. Mutation binaire.

15
Réseaux adaptatifs et neuro-flous

- Mutation réelle :

La mutation réelle ne se différencie de la mutation binaire que par la nature de l'élément qu'elle altère : ce

n'est plus un bit qui est inversé, mais une variable réelle qui est de nouveau tirée au hasard sur son intervalle

de définition. Dans le cas d’un codage réel, on utilise principalement deux opérateurs de mutation : la

mutation uniforme et la mutation non uniforme.

✓ Mutation uniforme :

C’est une simple extension de la mutation binaire, en supposant fixée la probabilité de mutation pm, un

tirage au sort pour chaque gène 𝑐ℎ𝑟(𝑖) d’un chromosome permet de décider si ce gène doit être ou non

modifié. Le gène sélectionné est remplacé par une valeur quelconque 𝑐ℎ𝑟′(𝑖) tirée aléatoirement dans

l’intervalle[𝑐ℎ𝑟(𝑖)𝑚𝑖𝑛, 𝑐ℎ𝑟(𝑖)𝑚𝑎𝑥].

✓ Mutation uniforme :

Le calcul de la nouvelle valeur d’un gène est un peu plus complexe. Le gène 𝑐ℎ𝑟(𝑖) subit des modifications

importantes durant les premières générations, puis graduellement décroissantes au fur et à mesure que l’on

progresse dans le processus d’optimisation. Pour une génération 𝑘, on tire au sort une valeur binaire qui

décidera si le changement doit être positif ou négatif. La nouvelle valeur 𝑐ℎ𝑟′(𝑖) du gène 𝑐ℎ𝑟(𝑖) est

donnée par :

Où ∆(𝑘, 𝑦) est une fonction qui définit l’écart entre la nouvelle valeur et la valeur initiale à la génération

𝑘 et 𝑟 est nombre aléatoire qui prend les valeurs 0 ou 1.

16
Réseaux adaptatifs et neuro-flous

d- Sélection des individus de la nouvelle génération (sélection finale) :


A la suite de l'application des opérateurs de recombinaison génétique, la population comporte 2N

individus (N enfants et N parents). Pour construire la nouvelle génération, il faut donc éliminer N

individus et garder seulement les solutions les plus intéressantes.

Plusieurs stratégies sont possibles pour effectuer une telle sélection :

✓ Sélection par compétition :

Une compétition a lieu entre parents et enfants pour déterminer les survivants de la nouvelle génération.

Ainsi, les enfants peuvent être insérés dans la population si et seulement si leur performance est supérieure

à celle de leurs parents à rang équivalent.

✓ Sélection élitiste (Steady State Sélection) :

Ici, la population de la prochaine génération est choisie à partir de la population des enfants et de la

population des parents ensemble. Une compétition entre les parents et les enfants est effectuée pour

garder les deux meilleurs individus parmi les quatre.

✓ Sélection par descendance :

Il n'y a aucune compétition entre parents et enfants. La population de la nouvelle génération est obtenue

par descendance, les enfants remplaçant automatiquement leurs parents quelle que soit leur adaptation.

L'inconvénient de ce type de sélection est que l'on risque de voir disparaître les caractéristiques génétiques

des parents les mieux adaptés si elles n'ont pas été totalement transmis lors de la recombinaison génétique.

17
Réseaux adaptatifs et neuro-flous

Critère d’arrêt :
Le cycle de génération (application des opérateurs génétique) et de sélection de population est répété

jusqu’à ce qu’un critère d’arrêt soit satisfait ; ce critère peut être notamment un nombre maximum de

générations, un temps maximal de calcul, une valeur de fitness, ou une convergence vers une solution

satisfaisante.

Conclusion
J’ai présenté dans ce travail une vue générale sur les concepts des AGS. Je peux conclure que les AG sont

des algorithmes simples de conception et peuvent résoudre des problèmes assez complexes. Ces AG sont

des procédures assez robustes pour résoudre un problème d’optimisation pour la sélection des primitives.

Néanmoins elles présentent certaines limites et des difficultés. Ces difficultés reposent sur le choix des

bons paramètres tels que : la taille de la population, le nombre de génération, les probabilités de croisement

et de mutation et les méthodes des opérateurs de reproduction. Ces paramètres dépendent du problème à

résoudre et d’une codification appropriée au problème à solutionner.

18
Réseaux adaptatifs et neuro-flous

Références :
- Melki Rima « Apprentissage des réseaux de neurones MLP par une méthode hybride à base d’une
métaheuristique » mémoire de master.
- Nadia benahmed « Optimisation de réseaux de neurones pour la reconnaissance de chiffres
manuscrits isolés : sélection et pondération des primitives par algorithmes génétiques » maitrise en
génie de la production automatisée M. ing.
- Souquet Amédée, Radet Francois-Gérard « Algorithmes génétiques » TE de fin d’année

19

Vous aimerez peut-être aussi