Vous êtes sur la page 1sur 7

Chapitre 4 : Algorithmes génétiques 1

Chapitre 4

ALGORITHMES GÉNÉTIQUES

INTRODUCTION :

Les algorithmes génétiques ont été proposés par HOLLAND en 1975. Ils reposent sur
l’analogie entre la théorie de l’évolution naturelle de DARWIN et l’optimisation. Selon la
théorie de DARWIN, les individus d’une population les mieux adaptés à leur environnement
ont une plus grande probabilité de survivre et de se reproduire, en donnant des descendants
encore mieux adaptés. Comme dans les mécanismes naturels de la reproduction, les principaux
opérateurs qui affectent la constitution d’un chromosome, qui code les caractéristiques des
individus, sont le croisement et la mutation.

Les particularités des algorithmes génétiques sont :

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


 Ils travaillent sur une population de points au lieu d’un point unique.
 Ils n’utilisent que la valeur de la fonction étudiée et non sa dérivée ou une autre connaissance
auxiliaire.
 Ils utilisent des règles de transition probabilistes et non déterministes.

1- Principes et fonctionnalités :

1.1- Principe de base :

Les algorithmes génétiques sont des approches d'optimisation qui utilisent des techniques
dérivées de la science génétique et de l'évolution naturelle : la sélection, la mutation et le
croisement. Pour utiliser ces approches, on doit disposer des éléments suivants :

 Le codage d'un élément de population : une fonction qui permet de modéliser les données du
problème réel dans des données utilisables par l'algorithme génétique.

 Une fonction pour générer la population initiale : la génération de la population initiale est
importante puisque cette génération représente le point de départ de l'algorithme et son
choix influe sur la rapidité et l'optimalité de la solution finale.

 Une fonction à optimiser (la fonction objectif) : une fonction qui retourne une valeur
d'adaptation pour chaque individu. Cette valeur permet de déterminer la solution pertinente
puisque le problème se restreint à chercher le groupe d'individus qui ont les valeurs
optimums.

 Des opérateurs : qui permettent d'évoluer d'une population à une autre tout en améliorant la
fonction objectif. L'opérateur de croisement recompose les gènes d'individus existant dans la
population, alors que l'opérateur de mutation a pour but de garantir l'exploration de l'espace
d'états.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 4 : Algorithmes génétiques 2

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


(critère d'arrêt), probabilités d'application des opérateurs de croisement et de mutation, etc.

1.2- Fonctionnement :

Un algorithme génétique fonctionne de la manière suivante (Figure 01) :

Étape 1 : Initialisation : on choisit N individus qui représente la population initiale.

Étape 2 : Évaluation : on évalue chaque individu par la fonction objectif.

Étape 3 : Sélection : on définit les individus de la génération P qui vont être dupliqués dans la
nouvelle population. À chaque génération il y a deux opérateurs de sélection : la sélection de
reproduction, ou plus simplement sélection, qui détermine les individus qui vont se reproduire
durant une génération et la sélection pour le remplacement, ou plus simplement le
remplacement, qui détermine quels individus devront disparaître de la population.

Étape 4 : Reproduction : on utilise des opérateurs génétiques (croisement et mutation) pour


produire la nouvelle génération. Les opérateurs de mutation modifient un individu pour en
former un autre tandis que les opérateurs de croisement engendrent un ou plusieurs enfants à
partir de combinaisons de deux parents.

Initialisation de la population de N individus

Évaluation de N individus

Sélection pour la reproduction (Sélection)

Croisement des M individus sélectionnés

Mutation des M individus sélectionnés

Évaluation de M enfants

Sélection pour le remplacement

Critère d’arrêt
NON satisfait

OUI

Meilleur (s) individu (s)

Figure 01- Structure générale d'un algorithme génétique

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 4 : Algorithmes génétiques 3

La forme classique d'un algorithme génétique :

Un algorithme génétique a la forme classique suivante :


1) Initialiser la population initiale P

2) Évaluer P

3) Tant que (Pas Convergence) faire :

a) P’ = Sélection des Parents dans P


b) P’ = Appliquer Opérateur de Croisement sur P’
c) P’’ = Appliquer Opérateur de Mutation sur P’
d) P = Remplacer les anciens de P par leurs descendants de P’’
e) Évaluer P

Fin Tant que

Le critère de convergence peut être de nature diverse, par exemple :

 Un taux minimum qu'on désire atteindre d'adaptation de la population au problème.


 Un certain temps de calcul à ne pas dépasser.
 Une combinaison de ces deux points.

2- Caractéristiques des algorithmes génétiques :

Les algorithmes génétiques, en tant qu'approche de résolution de problèmes, se caractérisent


par certains aspects particuliers : le codage des paramètres du problème à traiter, l'espace de
recherche et la fonction d'évaluation qui permet de déterminer la pertinence d'une solution
trouvée et l'évolution d'une génération à une autre par la sélection des chromosomes qui
participent à la reproduction et les chromosomes à disparaître.

2.1- Le codage :

Le codage est une fonction qui permet de passer de la donnée réelle du problème traité à la
donnée utilisée par l'algorithme génétique (Figure 02). Le choix du codage est l'élément le plus
important dans la conception de l'algorithme puisqu'il permet d'une part de représenter les
données, les paramètres et les solutions et d'autre part il influe sur la mise en œuvre des
opérations génétiques telles que le croisement et la mutation qui influent directement sur le bon
déroulement de l'algorithme génétique et de leur convergence vers la bonne solution.

Population
Individus

Chromosomes

Gènes

Figure 02- Les quatre niveaux d'organisation d'une population d'un algorithme génétique

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 4 : Algorithmes génétiques 4

Généralement on a trois types de codage les plus utilisés :

Représentation binaire : Chaque gène dispose du même alphabet binaire 0, 1. Un gène est alors
représenté par un entier, les chromosomes, qui sont des suites de gènes sont représentés par des
tableaux de gènes et les individus de l'espace de recherche sont représentés par des tableaux de
chromosomes.

Représentation avec réels : Contrairement au codage binaire, un gène est représenté par une
suite de bits (un bit dans le code binaire) qui est associé à un réel. Ce type de codage peut être
utile notamment dans le cas où l'on recherche le maximum d'une fonction réelle.

Représentation à l'aide d'arbres syntaxiques : Ce type de codage utilise une structure


arborescente (une racine de laquelle peuvent être issus un ou plusieurs fils eux mêmes des
arbres). Un arbre syntaxique est un arbre contenant deux types de nœuds :

 Les noeuds internes ou « symboles non terminaux ».

 Les feuilles ou « symboles terminaux ».

Ce type de codage peut être utilisé lorsque la taille du problème ou de la solution n'est pas finie.
Son inconvénient est qu'on peut trouver des arbres de solutions de taille importante difficile à
analyser.

2.2- La fonction d'évaluation :

La fonction de performance (qu'on appelle aussi fonction d'adaptation, fonction objectif ou


fonction fitness) associe une valeur de performance à chaque individu ce qui offre la possibilité
de le comparer à d'autres individus et permet à l'algorithme génétique de déterminer qu'un
individu sera sélectionné pour être reproduit ou pour déterminer s'il sera remplacé.

3- Les opérateurs génétiques :

La reproduction est le processus qui permet de construire une population k + 1 à partir d'une
population k. Ce processus est constitué par l'utilisation de l'opération de sélection, de
l'opération de croisement ou/et de l'opération de mutation (Figure 03).

3.1- La sélection :

L'opération de sélection permet de déterminer quels individus sont plus enclins à obtenir les
meilleurs résultats. On trouve deux types de sélection :

a) La sélection pour la reproduction : On l'appelle tout simplement l'opération de sélection, et


elle permet de choisir les individus qui participent à une reproduction (croisement ou
mutation). Cette opération choisit, généralement, les individus les plus forts (meilleurs scores
d'adaptation) pour produire les enfant les plus performants.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 4 : Algorithmes génétiques 5

b) La sélection pour le remplacement : On l'appelle tout simplement l'opération de


remplacement, et elle choisit les individus les plus faibles pour être remplacés par les nouveaux.

On trouve plusieurs techniques de sélection :

 Sélection par rang : Choisir toujours les individus possédant les meilleurs scores.

 Sélection par tournoi : Utiliser la probabilité de sélection proportionnelle à l'adaptation sur


des paires d'individus, puis choisir parmi ces paires celui qui a le meilleur score d'adaptation.

 Sélection uniforme : Choisir aléatoirement sans faire intervenir la valeur d'adaptation.

Population
Génération k

Reproduction

P P1 P2

Mutation Croisement

E E1 E2

Évaluation

Population
Génération k+1

Figure 03- Principe général de l'évolution d'une population d'un algorithme génétique

3.2- Le croisement :

L'opération de croisement est une opération de reproduction qui permet l'échange


d'information entre les chromosomes (individus). Il utilise deux parents pour former un ou
deux enfants. Les deux parents sont choisis par l'opération de sélection. Le croisement permet
l'innovation (les enfants sont différents de leurs parents) et repose sur l'idée que deux parents
performants produiront des enfants plus performants.

Dans le cas d'une représentation binaire, le croisement de deux chromosomes peut se faire en
un seul point de coupure (figure 04), en deux points de coupure (figure 05) ou d’une façon
uniforme (figure 06).

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 4 : Algorithmes génétiques 6

3.3- La mutation :

Le rôle de cet opérateur est de modifier aléatoirement, avec une certaine probabilité, la valeur
d'un composant de l'individu. La figure 07 présente un exemple de mutation de chromosome tel
que le gène gi est retiré aléatoirement et est remplacé par la gène gi’.

La mutation est un phénomène rare mais permet d'explorer de nouvelles zones dans l'espace
de recherche et aide l'algorithme génétique à possiblement aller vers une solution optimale
globale, sans rester pris dans une solution optimale locale.

Figure 04- Croisement à un point Figure 05- Croisement à deux points

Figure 06- Croisement uniforme

Figure 07 Illustration du principe de la mutation

4- Les paramètres d’un algorithme génétique :

4.1- La taille de la population N :

Les conditions de convergence changent avec la taille de la population N ; lorsque celle-ci est
grande, sa diversité augmente ce qui diminue la convergence vers un optimum local, le temps
d’exécution de chaque génération augmente, la recherche risque de s’effectuer d’une façon
redondante et l’efficacité de l’algorithme est globalement affectée. Par contre, si la taille de la
population est petite, alors la probabilité de s’attarder sur des minima locaux est grande. La
taille selon le cas se situe entre 25 et 100.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 4 : Algorithmes génétiques 7

4.2- Le taux de croisement Pc :

Il détermine la proportion des individus qui sont croisés parmi ceux qui remplaceront
l'ancienne génération. L’opérateur de croisement est appliqué avec une probabilité Pc, et plus
cette valeur est élevée plus de nouvelles structures (individus) sont introduites dans la nouvelle
génération, les structures performantes sont trop fréquemment détruites. Par contre, si ce taux
est trop bas, la population n’évolue pas assez vite. En général, Pc varie entre 0,25 et 0,70.

4.3- Le taux de mutation Pm :

L’opérateur de mutation est appliqué avec une probabilité Pm ; si ce taux est grand alors la
recherche devient purement aléatoire, la population est diversifiée et l'AG perd de son
efficacité. Si au contraire ce taux est faible, la population est moins diversifiée et en plus il y a
risque de stagnation. Des études empiriques conseillent pour l’obtention de bons résultats une
fréquence qui se situe autour d’une mutation tous les 1000 bits.

À noter que ces paramètres dépendent étroitement du type de problème à résoudre. Trouver
les bonnes paramètres est un problème parfois délicat. La valeur de N dépend fort du problème
(en particulier de la longueur l du chromosome), tandis que des valeurs de bonne pratique pour
le Pm (0,005) et Pc (0,7) sont souvent utilisées.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique

Vous aimerez peut-être aussi