Académique Documents
Professionnel Documents
Culture Documents
Mini projet
Algorithmes génétiques
a- Sélection :....................................................................................................................................... 10
c- Mutation : ....................................................................................................................................... 15
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
de formes. Le choix des AG parmi d’autres méthodes se justifie en fonction des quatre propriétés
suivantes:
- 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 :
fait qu’elles sont complémentaires. Si l’exploration investigue l’ensemble des solutions de l’espace
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
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
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.
- L’absence d’évolution de la valeur de la fonction d’adaptation des individus d’une population à une
autre.
2
Réseaux adaptatifs et neuro-flous
t = 0;
Initialisation (P(t));
Évaluation (P(t));
t= t + 1;
P’ = Sélection (P(t));
Recombiner (P’(t);
Mutation (P’(t));
Évaluation (P’(t));
- 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
3
Réseaux adaptatifs et neuro-flous
éléments suivants :
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
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.
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.
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
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.
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
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
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, ...,
▪ Le codage réel : cela peut être utile notamment dans le cas où l'on recherche le maximum d'une fonction
réelle.
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
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
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
(survie des individus les mieux adaptés à leur environnement), l’algorithme génétique est naturellement
8
Réseaux adaptatifs et neuro-flous
Dans beaucoup de problèmes, l’objectif est exprimé sous forme de minimisation d’une fonction coût ℎ :
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
9
Réseaux adaptatifs et neuro-flous
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
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é
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
Les individus ayant une grande fitness ont donc plus de chance d’être sélectionnés. On parle alors de
- 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
- Sélection par tournoi : Choisir aléatoirement deux individus et on compare leur fonction
11
Réseaux adaptatifs et neuro-flous
composants). Les individus qui gagnent à chaque fois on peut les copier plusieurs fois ce qui
la sélection ou que des bonnes combinaisons soient affectées par les opérateurs de croisement
si aucun des individus de la génération 𝑘 n’est meilleur que lui. Par cette approche, la
génération.
b- Croisement (Crossover) :
qu’on fait les opérations de croisement dans les AGs. L’opérateur de croisement favorise
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
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
Deux points de coupure sont choisis au hasard et le contenu entre ces points est interchangé pour former
✓ 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.
✓ Croisement réel :
éléments qu'il altère : ce ne sont plus des bits qui sont échangés à droite du point de
✓ 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
Où 𝑟 est un coefficient de pondération aléatoire adapté au domaine d’extension des gènes qui prend
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
Il joue le rôle de bruit et empêche l’évolution de se figer en assurant une recherche aussi bien
- 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ù
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 :
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
16
Réseaux adaptatifs et neuro-flous
individus (N enfants et N parents). Pour construire la nouvelle génération, il faut donc éliminer N
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
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
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 à
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