PORTLAND Oregon Icône du développement durable Théo ALERTE Maxence LENOIR Rémi AUBIN Johan REY.
Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc...
-
Upload
corin-lapierre -
Category
Documents
-
view
116 -
download
4
Transcript of Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc...
Algorithmes Génétiques : Principes mathématiques et
Utilisations
C. BontempsMerci à 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
Evaluation-Sélection
Mutation
Population génération k
Population génération k+1
Croisement
(Nouveaux individus)
Pc
Pm
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
10111010
0001101001101100
11011110
2.595947
0.7946780.4606930.3649900.975586
Elts f(x) % repr.0.79/2.59=0.310.46/2.59=0.18
0.97/2.59=0.370.36/2.59=0.14
0 10,31 0,49 0,63
0.310.490.631.00
Cumul
On tire 4 nombres entre 0 et 1: 0.47, 0.18, 0.89 et 0.75
Exemple élémentaire (suite)
11011110
0110110001101100
10111010
Elts Sélectionnés
On tire les éléments destinés à se croiser avec la proba Pc
Eléments Choisis pour le croisement
Pc
Croisement des individus 1 et 3
11011110 01101100
On tire une position parmi les 8 bits : 4
11011110 01101100
11011100 01101110
Parent 1 Parent 2
Enfant 1 Enfant 2
Les deux éléments issus de la sélection
Exemple élémentaire (fin)
11011100
0110111001101100
10111010
Pop. Finale
On réitère ensuite la procédure
Apres 100 générations (2,5 sec.), le meilleur élément est x=0,499959
f(x)
0.980225
0.975586
0.7946780.483398 Meilleur
individu
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
• 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
PT f
T fi
i
jj m
( )
( ),..
1
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 YBernouilli(
• 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
10111010 11110000
On tire une position parmi les 8 bits : 4
10111010 11110000
10110000 11111010
Parent 1 Parent 2
Enfant 1 Enfant 2
Deux éléments (binaires) issus de la génération k
Croisement sur éléments réelsDeux éléments issus de la génération k : P1 et P2
P1
P2
Barycentre de P1 et P2 avec a dans [0,1]
Barycentre de P1 et P2 avec a hors de [0,1]
C1=aP1+(1-a)P2
C2=(1-a)P1+aP2
Limitations de l’opérateur de CroisementSi tous les éléments sont dans le même sous-espace.
P1
P2
Barycentre de P1 et P2 avec a dans [0,1]
Barycentre de P1 et P2 avec a hors de [0,1]
C1=aP1+(1-a)P2
C2=(1-a)P1+aP2
P3
P5
P6
P4
P3
Limitations de l’opérateur de croisement
• Si on code la population sous la forme :
La population
Optimum
n’a pas de “7” en dernière position
g1|g2|g3
5|4|0
2|3|1
7|3|3
9|4|26|8|54|6|6 1|2|7
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 YBernouilli( • 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
10111010
On tire une position parmi les 8 bits : 6
Un élément tiré avec la probabilité Pm
10111010
10111110
Elément original
Elément muté
Mutation sur un codage réel
574907.23
On tire un élément de bruit que l’on ajoute :
Un élément tiré avec la probabilité Pm
574907.23 +
“Bruit”
Elément muté
Croisement avec Recuit simulé
Evaluation-Sélection
Mutation
Population génération k
Population génération k+1
Croisement
Pc
Tournoi
Pm
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”,
• Si le nouveau est meilleur on le garde,
• Sinon on le garde avec la proba
Xi Xf
PE E
T kk
i f
exp(( )
)
Evaluation-Sélection
Mutation
Population génération k
Population génération k+1
Croisement
Pc
Pm
Evaluation-Sélection
Population génération k
Croisement
Pc
Pm
Mutation
Population génération k+1