algorithmes génétiques : principes mathématiques et utilisations c. bontemps merci à jean marc...

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

Upload: corin-lapierre

Post on 03-Apr-2015

116 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

Algorithmes Génétiques : Principes mathématiques et

Utilisations

C. BontempsMerci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand,

Nathalie Lenoir et Eric Malin

Page 2: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

Plan Général

• Principes des algorithmes génétiques

• Exemples

• Opérateurs classiques

• Améliorations

• Résultats théoriques

• Utilisations et perspectives

Page 3: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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.

Page 4: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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

Page 5: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

Ingrédients

• Une fonction objectif

• Une population initiale

• Une méthode de codage

• Des opérateurs

• Un critère d’arrêt

Page 6: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

Evaluation-Sélection

Mutation

Population génération k

Population génération k+1

Croisement

(Nouveaux individus)

Pc

Pm

Page 7: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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

Page 8: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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

Page 9: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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

Page 10: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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

Page 11: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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

Page 12: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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”

Page 13: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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

Page 14: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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%)

Page 15: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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

Page 16: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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

Page 17: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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

Page 18: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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

Page 19: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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%)

Page 20: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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é

Page 21: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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é

Page 22: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

Croisement avec Recuit simulé

Evaluation-Sélection

Mutation

Population génération k

Population génération k+1

Croisement

Pc

Tournoi

Pm

Page 23: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

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(( )

)

Page 24: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

Evaluation-Sélection

Mutation

Population génération k

Population génération k+1

Croisement

Pc

Pm

Page 25: Algorithmes Génétiques : Principes mathématiques et Utilisations C. Bontemps Merci à Jean Marc Alliot, Christophe Bisiere, Nicolas Durand, Nathalie Lenoir

Evaluation-Sélection

Population génération k

Croisement

Pc

Pm

Mutation

Population génération k+1