Vous êtes sur la page 1sur 5

14/02/2020

1. Introduction

‫اﻟﻣدرﺳـــﺔ اﻟوطﻧﯾــــّﺔ ﻟﻠﻣﮭﻧدﺳﯾــــن ﺑﺳوﺳـــﺔ‬  Les algorithmes génétiques (AG) représentent une famille d’algorithmes d’optimisation
École Nationale d’Ingénieurs de Sousse stochastique fondés sur les mécanismes de la sélection naturelle et de la génétique où les
individus les plus adaptés peuvent survivre et se reproduire facilement que les autres.
 Les AG fonctionnent avec une population regroupant un ensemble d’individus appelés
chromosomes.

Techniques Avancées pour les Systèmes Intelligents

Chapitre 2 :
Les Algorithmes génétiques

 Chaque chromosome est constitué d’un ensemble de gènes.

Anouar Ben Khalifa  A chaque individu est attribué une valeur calculée par une fonction appelée fonction
AU: 2019/2020 d’adaptation ou fitness.
TASI ABK-Eniso 2

1. Introduction 1. Introduction

 Les AG utilisent des opérateurs génétiques de reproduction (sélection, croisement et on cherche à maximiser la fonction f(x) ci-dessous :
mutation) qui permettent une évolution de la population à travers un ensemble de
f(x)
après N générations :
générations.
Exemple :

Population initiale

Croisement et mutation Générations 1

croisement croisement Générations 2

....
Générations N

Sélection, croisement et mutation


TASI ABK-Eniso 3 TASI ABK-Eniso 4
14/02/2020

1. Introduction 1.2.1. Codage des chromosomes :

 Chaque individu représente le codage d’un vecteur solution possible au problème à


résoudre. Un individu est représenté sous forme d’un chromosome.
 Un chromosome est un ensemble de paramètre (gènes) qui sont reliés entre eux pour former
Définir un problème par les AG ? une chaine de valeurs.
 Il existe deux types de codage : le codage Réel et le codage Binaire.
- Initialisation et codage de la population
Soit la notation suivante de la représentation du chromosome C :
- Evaluation de la population
C = (c1, c2, c3, …..., ci , ……. ,cl)
- Critère d’arrêt
où l représente le nombre de variables dans le chromosome et ci représente le ième gène du
- Méthodes de Sélection
chromosome C avec une représentation de type binaire ou réelle.
- Méthodes de croisement
 Exemples : chromosome
- Méthodes de mutation

gène 1 gène 2 gène 3 gène 4

13 24 8 19

Les étapes d’un AG

TASI ABK-Eniso 5 TASI ABK-Eniso 6

2. Initialisation de la population : 3. Fonction d’évaluation :

 La population est formée d’individus (chromosomes). La taille constante de la population  La fonction d’évaluation ou d’adaptation (fitness) fi associe un coût à chaque chromosome.
induit un phénomène de compétition entre les individus.  La solution optimale du problème est obtenue à partir de la fonction d’évaluation du
 La population initiale est générée aléatoirement ou bien à partir de solution déjà existantes chromosome.
pour accélérer la convergence de l’algorithme.  Dans le cas d’un problème de minimisation, la solution est associée à la plus petite valeur
trouvée de la fonction d’adaptation calculée pour chaque individu de la population.
La représentation de la population initiale P est :
 Dans le cas d’une maximisation, alors la valeur la plus grande de la fonction sera prise en
P = (C1, C2, C3,……, Ci ,………, Ctaille_pop )
compte.
où Ci représente le ième chromosome dans la population et taille_pop représente le
nombre de chromosomes dans la population.  La fonction d’adaptation peut être soit mono-critère ou multi-critère.

Chromosomes
 Une fonction d’adaptation mono-critère signifie que la fonction dépend d’un seul objectif.
 Exemple :  Une fonction d’adaptation multicritère doit satisfaire plusieurs objectifs et elle représente
C1 5 19 14 20 une combinaison de plusieurs fonctions objectives.
… … … … …  Il existe plusieurs types de fonctions d’évaluation multi-objectifs définies comme étant la
Population
Ci 10 2 15 13
somme pondérée ou le produit des fonctions objectives
… … … … …
Ctaille_pop 10 15 22 19
TASI ABK-Eniso 7 TASI ABK-Eniso 8
14/02/2020

4. Méthodes de sélection :

 Sélection uniforme :
C’est une technique consiste à sélectionner un individu Ci aléatoirement de la population P.
Pour générer de nouveaux descendants (enfants), des
La probabilité pi pour qu’un individu soit sélectionné est définie par : p  1
parents sont sélectionnés puis des opérations génétiques i
taille _ pop
leur sont appliquées. Pour sélectionner les meilleurs  Sélection par la Méthode de la roulette :
Pour chaque chromosome i on calcule son degré d’adaptation fi et on lui attribue une
chromosomes dans une population, il existe plusieurs
probabilité de survie pi définie par : fi
techniques : pi  taille _ pop

j 1
fj
 Sélection par tournoi :
Chaque individu de la population P occupe une section de la roue proportionnelle à son
Deux individus sont choisis au hasard, on compare leurs fonctions d’adaptation et on
adaptation. Lors de la phase de sélection, les individus sont sélectionnés en respectant les
récupère celui dont la valeur de la fonction d’adaptation est la plus élevée.
probabilités pi associées pour former la population de la nouvelle génération

 Sélection ordonnée (Rank selection) : Exemple :


1. Chaque chromosome Ci d’une population P est évalué par la fonction d’adaptation fi.
2. Les valeurs de la fonction d’adaptation obtenues pour l’ensemble des chromosomes
seront classées dans un ordre croissant ou décroissant.
3. Les meilleurs chromosomes seront donc sélectionnés.
TASI ABK-Eniso 9 TASI ABK-Eniso 10

5. Opérateurs génétiques de reproduction :


5.1 Techniques de croisement :
 L’opérateur de croisement permet de créer de nouvelles combinaisons ayant des
Durant cette phase, des individus de la population sont déjà sélectionnés et sont recombinés
caractéristiques communes avec leurs parents. Seuls les individus les mieux adaptés vivent
produisant les enfants de la prochaine génération. Cette phase utilise des mécanismes de
suffisamment longtemps pour se reproduire.
reproduction qui sont : le croisement et la mutation.
 Il existe différentes techniques de croisement. Chacune des techniques s’applique sur des
Les méthodes de reproduction sont souvent relatives aux chromosomes dont la
chromosomes dont la représentation est soit binaire ou réelle.
représentation des gènes est binaire. Dans le cas d’un problème d’optimisation où les gènes
Notation : Le chromosome parent 1 : C1 = (c11 , c12 , … , c1i , … , c1L )
du chromosome sont des nombres réels, avant d’effectuer les opérations de reproduction, les
Le chromosome parent 2 : C2 = (c21 , c22 , … , c2i , … , c2L )
gènes du chromosome sont convertis en bits (32 ou 16 bits…), puis les opérations de
où cki appartient à [ai, bi] ou bien ci appartient à {0, 1} avec k=1, 2.
reproduction sont effectuées sur cette représentation binaire.
A). Croisement simple :
Exemple :  Choisir aléatoirement un point de croisement pour chaque couple d’individus sélectionné.
Représentation Croisement et  Ce type de croissement peut être effectué au niveau des gènes représentés soit en binaires
Valeur réelle Nouvelle valeur Valeur réelle
binaire mutation
ou en réel . Croisement avec un seul point de coupure
13 01101 × 01100 12

24 11000 × 11001 25

8 01000 × 11011 27

TASI ABK-Eniso 11 TASI ABK-Eniso 12


14/02/2020

B). Croisement multiple : D). Croisement arithmétique :


 Ce croisement est effectué avec plusieurs point de coupure. L’individu est représenté sous la forme Soient deux parents C1 et C2
d’un anneau et l’échange de gènes entre les deux parents s’effectue comme indiqué sur la figure
=> Les descendants Hk = (hk1 , hk2 , … , hki , … , hkL ) avec k=1, 2
Tels que : h1i=λi C1i + (1-λi) C2i et h2i=λi C2i + (1-λi) C1i
Ce type de croissement peut être effectué
λi est générée aléatoirement dans l’intervalle [0, 1].
au niveau des gènes représentés soit en
binaires ou en réel . E). Croisement linéaire :
Ce croisement génère trois progénitures Hk = (hk1 , hk2 , … , hki , … , hkL ) avec k=1, 2, 3
C). Croisement uniforme : Tels que : h1i=0.5 (C1i + C2i ), h2i= 1.5 C1i – 0.5 C2i et h3i= -0.5 C1i + 1.5 C2i
 Dans cette méthode, un masque de croisement est généré aléatoirement pour chaque
couple d’individus ou pour chaque génération. Remarques :
 Les valeurs de ce masque sont binaires. Sa taille est identique à celle du chromosome.  Le croisement arithmétique et le croisement linéaire s’appliquent dans le cas d’une
représentation réelle.
Ce type de croissement peut être effectué  Choisir quelle technique ? : Pour faire un bon choix d’une technique de croisement, il
au niveau des gènes représentés soit en suffit d’effectuer plusieurs expériences avec différentes techniques.
binaires ou en réels.

TASI ABK-Eniso 13 TASI ABK-Eniso 14

5.2. Techniques de mutation : B). Mutation non uniforme :


Cette technique est appliquée en fonction de la génération t courante et le nombre maximum
 L’opérateur de mutation est appliqué sur chaque chromosome issu de l’opération de croisement.
de générations gen_max. Le gène c’i est défini comme suit
Cette opérateur évite l’établissement d’une population similaire incapable d’évoluer.
 L’action de l’opérateur de mutation consiste à changer ou à permuter des valeurs des gènes du
chromosome C avec une probabilité pmut.
Notation : Soit C un chromosome qui va subir une mutation
Où τ est généré aléatoirement tels que τ ∈ {0 , 1} et
C = (c1 , c2 , … , ci , … , cL ) tels que ci appartient [ai, bi] ou bien ci appartient à {0, 1}
=>Le résultat obtenu par l’opérateur de mutation est un chromosome C’ tels que
 Où : r est un nombre aléatoire de l’intervalle [0,1]

C’= (c’1 , c’2 , … , c’i , … , c’L ) b est un paramètre choisi par l’utilisateur.
A). Mutation aléatoire :  Cette technique s’applique sur des gènes dont la représentation est réelle.

 Dans le cas binaire, si la valeur du gène à muter est égale à 1 alors elle est inversée à 0 et si
la valeur du gène est égale à 0 alors elle est inversée à 1.
 La position du gène qui doit subir la mutation est déterminée aléatoirement.

Dans le cas réel, le gène ci est modifié par le


gène c’i. Cette valeur du gène c’i est choisie
Mutation aléatoire aléatoirement de l’intervalle [ai, bi].

TASI ABK-Eniso 15 TASI ABK-Eniso 16


14/02/2020

6. Le choix des paramètres d’un algorithme génétique:

C). Critères d’arrêt :


 Pour lancer l’AG, il faut définir certains paramètres tels que : la taille de la population, le on peut avoir plusieurs critères d’arrêt tels que :
nombre de générations et le critère d’arrêt. - Le nombre de génération fixé initialement a été atteint.
 Il est difficile de les fixer ou de trouver les meilleurs avant l’exécution de l’algorithme. - La valeur de la fonction d’adaptation a atteint une valeur fixée a priori.
 C’est un problème de réglage qui doit être optimisé pour chaque type de problème traité. - L’absence d’évolution de la valeur de la fonction d’adaptation des individus d’une

A). Taille de la population : population à une autre.

 L’AG nécessite la détermination du nombre d’individus qui constituent la population P.


 Le problème qui se pose est comment fixer la taille de cette population : une population
trop petite évolue probablement vers un optimum local peu intéressant, une population
trop grande met plus de temps pour converger vers des solutions envisageables,
=> donc la taille de la population doit être choisie de façon à réaliser un bon compromis
entre le temps de calcul et la qualité du résultat.

B). Nombre de générations :


c’est un chiffre que l’expérimentateur doit fixer. Il est préférable qu’il soit assez grand (1000 à
10 000 itérations) afin de mieux visualiser la convergence de la solution.

TASI ABK-Eniso 17 TASI ABK-Eniso 18

Les Algorithmes génétiques :


Exercice 1 : On se propose de maximiser la fonction f(x)= x sur l’intervalle [0, 31] où x est un
entier.
Les critères d’arrêt sont : nombre de génération égale à 3 ou bien valeur de la fonction
d’adaptation égale à 31.
1. Pour un codage binaire de x, déterminer le nombre de bits maximal d’une séquence de
chromosome.
2. La taille de la population est égale à N=4, la population initiale est générée d’une façon
aléatoire comme le montre le tableau ci-dessous.
Numéro 1 2 3 4
Population initiale 5 16 2 12

Donner un codage binaire de la population initiale. Evaluer la population initiale.


3. Lors de la phase de sélection, nous utilisons la méthode de la roulette. Calculer la
probabilité de survie pi de chaque individu de population.
On suppose que les couples d’individus sélectionnés sont ceux qui présentent la plus grande
probabilité de survie. Donner les numéros des deux couples d’individus retenus.
4. Lors de la phase de croisement, nous utilisons la méthode de croisement simple avec un
point de coupure d’ordre 2. Donner la séquence des quatre nouveaux descendants.
5. lors de la phase de mutation, nous utilisons la méthode de mutation aléatoire. Les positions
des gènes à muter sont 2 et 5. Donner la séquence des quatre nouveaux descendants.
6. Une nouvelle population est créée. Evaluer l’adaptation de cette nouvelle population.

TASI ABK-Eniso 19

Vous aimerez peut-être aussi