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

Post on 03-Apr-2015

116 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related