Vous êtes sur la page 1sur 25

Algorithmes Génétiques :

Principes mathématiques et
Utilisations

C. Bontemps
Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand,
Nathalie Lenoir et Eric Malin
Plan Général

• Principes des algorithmes génétiques


• Exemples
• Opérateurs classiques
• Améliorations
• Résultats théoriques
• Utilisations et perspectives
Principe des Algorithmes Génétiques

• Algorithmes Stochastiques itératifs qui opèrent


sur des individus codés, à partir d’une population
initiale.
• Cette population évolue de la génération k à la
génération k+1 à l’aide de trois opérateurs :
– Opérateur de Sélection
– Opérateur de Croisement
– Opérateur de Mutation.
Principe (suite)
• Chaque individu est reproduit en fonction de son
adaptation au problème (fitness).
• On code les individus de manière à les faire
“évoluer” grâce aux opérateurs
• On effectue
– des croisements sur les individus destinés à être
reproduits
– Des mutations aléatoires
ê Génération de nouveaux individus
Ingrédients

• Une fonction objectif


• Une population initiale
• Une méthode de codage
• Des opérateurs
• Un critère d’arrêt
Population génération k

Evaluation-Sélection

Pc

Croisement

Pm

Mutation

Population génération k+1


(Nouveaux individus)
Exemple élémentaire
• Max de f(x)=4x(1-x) sur l’intervalle [0,1]
• Tirage d’une population initiale de 4 éléments
codés sur 8 bits
• Evaluation et Sélection des individus:
– les “meilleurs” sont “plutôt” conservés ou
“transformés”,
– les “mauvais” sont “plutôt” éliminés.
• Formation d’une nouvelle population de 4
individus
Exemple élémentaire
Elts f(x) % repr. Cumul
10111010 0.794678 0.79/2.59=0.31 0.31
11011110 0.460693 0.46/2.59=0.18 0.49
00011010 0.364990 0.36/2.59=0.14 0.63
01101100 0.975586 0.97/2.59=0.37 1.00
2.595947
0,31 0,49 0,63 1
0

On tire 4 nombres entre 0 et 1: 0.47, 0.18, 0.89 et 0.75


Exemple élémentaire (suite)
Elts Sélectionnés Pc
11011110
10111010
Eléments Choisis
01101100 pour le croisement
01101100

On tire les éléments destinés à se croiser avec la proba Pc


Croisement des individus 1 et 3
Les deux éléments issus de la sélection
11011110 01101100
On tire une position parmi les 8 bits : 4
Parent 1 Parent 2

11011110 01101100

11011100 01101110
Enfant 1 Enfant 2
Exemple élémentaire (fin)
Pop. Finale f(x)
11011100 0.980225
10111010 0.794678
01101110 0.483398 Meilleur
01101100 0.975586 individu

On réitère ensuite la procédure

Apres 100 générations (2,5 sec.),


le meilleur élément est x=0,499959
Une comparaison Econométrique
(Dorsey et Mayer)
Comparaison de 6 méthodes :
– Simplexe (Nedler & Mead 1965)
– Adaptative Random Search (Pronzato et al. 1984)
– Simulated Annealing (Corona et al. 1987)
– Draw (recherche aléatoire)
– Algorithme Génétique
– MSCORE (Manski, Thompson 1987)
sur 11 problèmes économétriques “classiques”
Evaluation-Sélection
• A chaque élément θi de la génération k on
associe la probabilité Pi
T f (θ i )
Pi =
∑ T f (θ j )
j = 1 ,.. m

• On tire m individus (avec replacement) dans la


génération k des (θi ,Pi )i=1, ..,m Géné Hk
ê On favorise la reproduction des “bons”
ê On “élargit” ensuite la population par
croisement et mutation
L’opérateur de croisement
• Opérateur “d’exploration” de l’espace d’état
• On tire :
– un couple d’éléments de Hk : (θj,θl )
– une variable aléatoire Y∼Bernouilli(η)
• Si Y =1 Croisement des individus (θj,θl)
• Si Y=0 Individus replacés dans G(k+1)

η= Pc = Probabilité de croisement (~60-80%)


Croisement pour un codage chromosomique
Deux éléments (binaires) issus de la génération k
10111010 11110000
On tire une position parmi les 8 bits : 4
Parent 1 Parent 2

10111010 11110000

10110000 11111010
Enfant 1 Enfant 2
Croisement sur éléments réels
Deux éléments issus de la génération k : P1 et P2

C1=aP1+(1-a)P2
P1 C2=(1-a)P1+aP2

P2

Barycentre de P1 et P2 avec a dans [0,1]


Barycentre de P1 et P2 avec a hors de [0,1]
Limitations de l’opérateur de Croisement
Si tous les éléments sont dans le même sous-espace.

P3
P5
C1=aP1+(1-a)P2
P1
C2=(1-a)P1+aP2

P6 P2

P3
Barycentre de P1 et P2 avec a dans [0,1]
P4
Barycentre de P1 et P2 avec a hors de [0,1]
Limitations de l’opérateur de croisement
• Si on code la population sous la forme :
g1|g2|g3
La population
5|4|0
7|3|3
Optimum
4|6|6 1|2|7
6|8|5
9|4|2
2|3|1

n’a pas de “7” en dernière position


L’opérateur de mutation

• Autre opérateur “d’exploration” de l’espace d’état


• On tire :
– un élément de H’k : θ’j
– une variable aléatoire Y∼Bernouilli(γ)
• Si Y =1 Mutation de l’individu θ’j
• Si Y=0 Individu replacé dans G( k+1)

γ =Pm =Probabilité de mutation (<10%)


Mutation sur un codage binaire
Un élément tiré avec la probabilité Pm
10111010

On tire une position parmi les 8 bits : 6

10111010 Elément original

10111110 Elément muté


Mutation sur un codage réel
Un élément tiré avec la probabilité Pm
574907.23

On tire un élément de bruit ε que l’on ajoute :

ε∼Ν(0, σ) “Bruit”

574907.23 + ε Elément muté


Croisement avec Recuit simulé
Population génération k

Evaluation-Sélection

Pc
Croisement

Tournoi
Pm
Mutation

Population génération k+1


Recuit simulé
• Méthode d’exploration aléatoire de l’espace
admissible, à partir d’une solution quelconque
l’algorithme génère une solution “voisine”,
Xi Xf

• Si le nouveau est meilleur on le garde,


• Sinon on le garde avec la proba
Ei − E
Pk = exp ( −
f
)
T (k )
Population génération k

Evaluation-Sélection
Pc
Croisement

Pm

Mutation

Population génération k+1


Population génération k

Evaluation-Sélection
Pc

Croisement

Pm
Mutation

Population génération k+1

Vous aimerez peut-être aussi