Herve.Frezza-Buet@supelec.fr 1 Algorithmes génétiques David E. Goldberg, Genetic algorithms in Search, Optimization and Machine Learning, Addison-Wesley,

Post on 03-Apr-2015

115 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Herve.Frezza-Buet@supelec.fr 1

Algorithmes génétiquesAlgorithmes génétiques

David E. Goldberg, Genetic algorithms in Search, Optimization and Machine Learning, Addison-Wesley, 1989

Herve.Frezza-Buet@supelec.fr 2

Téléphoner à la campagneTéléphoner à la campagne

Herve.Frezza-Buet@supelec.fr 3

Téléphoner à la campagneTéléphoner à la campagne

Herve.Frezza-Buet@supelec.fr 4

Téléphoner à la campagneTéléphoner à la campagne

Herve.Frezza-Buet@supelec.fr 5

Téléphoner à la campagneTéléphoner à la campagne

Herve.Frezza-Buet@supelec.fr 6

Téléphoner à la campagneTéléphoner à la campagne

Herve.Frezza-Buet@supelec.fr 7

Téléphoner à la campagneTéléphoner à la campagne

maximum...…local !

Herve.Frezza-Buet@supelec.fr 8

Recherche opérationnelleRecherche opérationnelle

Quelques définitions

Herve.Frezza-Buet@supelec.fr 9

Définition d'un problèmeDéfinition d'un problème

Espace des solutions

Fitness (à optimiser)

"La" solution

Herve.Frezza-Buet@supelec.fr 10

Résolution ?Résolution ?

Se déplacer dans l'espace des solutions.

Les évaluer en cours de route. Retenir la meilleure qu'on a trouvée.

… mais comment se déplacer ?

Herve.Frezza-Buet@supelec.fr 11

Résolution ?Résolution ?

Risquer l'exploration d'une solution tirée au hasard ?

Améliorer les solutions connues ?

Conflit exlporation / exploitation

Herve.Frezza-Buet@supelec.fr 12

Tout explorerTout explorer

C'est la seule façon pour être sûr de trouver la meilleure solution possible.

Ca peut être impossible, même pour des problèmes relativement simples, pour lesquels l'espace des solutions est énorme.

Herve.Frezza-Buet@supelec.fr 13

Suivre le gradientSuivre le gradient

C'est ce qu'on a fait avec le téléphone, à la campagne.

C'est ce que fait le chien qui retrouve la source d'une odeur.

Pb : Maxima locaux.

Herve.Frezza-Buet@supelec.fr 14

Recuit simuléRecuit simulé

On exploite (gradient), mais on s'autorise à faire des "grands pas" de temps en temps (exploration).

Paramètre de température.

Inspiration de la physique statistique.

Herve.Frezza-Buet@supelec.fr 15

Algorithme génétiquesAlgorithme génétiques

On se dote d'une population de solutions.

Pertinent si, ayant deux solutions moyenne, on peut créer une nouvelle solution, meilleure, en combinant les avantages des deux.

Lien avec la génétique...

Herve.Frezza-Buet@supelec.fr 16

Jouer à tétris !Jouer à tétris !

Par une approche évolutionniste

Herve.Frezza-Buet@supelec.fr 17

Le problème à résoudreLe problème à résoudre

"Lâcher" les pièces (tétris) et faire une forme compacte.

Problème de placement.

Herve.Frezza-Buet@supelec.fr 18

FitnessFitness Elle définit le problème

à résoudre. On a le choix !

12

Herve.Frezza-Buet@supelec.fr 19

Codage d'une solutionCodage d'une solution

On a aussi le choix, mais il faut que ce codage possède une "bonne" propriété.

Qu'est-ce qu'une solution possible ?– Choisir un ordre d'insertion des pièces– Insertion : choisir pour chaque pièce une

colonne et une orientation.

Herve.Frezza-Buet@supelec.fr 20

Codage d'une solutionCodage d'une solution

Insertion d'une pièce : on numérote les possibilités.

Ex : pour

12310111218

Herve.Frezza-Buet@supelec.fr 21

Codage d'une solutionCodage d'une solution

Insertion d'une pièce : on numérote les possibilités.

18302632148163034 9

Herve.Frezza-Buet@supelec.fr 22

Choisir une solution au hasardChoisir une solution au hasard

18302632148163034 9

10 3 29 10 147 227 13 1

Taille de l'espace des solutions :

(12...10)343016981432263018= 26820125487267840000

Les compter à 2GHz, ça prend environs 425 ans !

Herve.Frezza-Buet@supelec.fr 23

PopulationPopulation

Herve.Frezza-Buet@supelec.fr 24

IndividuIndividu

Une solution possible est appelée un individu. Il a :

Un code

Un "aspect"Une valeur

12

11 110 143 4 107 36

Génotype / ChromosomeGénotype / Chromosome

PhénotypePhénotypeFitnessFitness

Herve.Frezza-Buet@supelec.fr 25

IndividuIndividu

GénotypeGénotype

PhénotypePhénotype

FitnessFitness

Herve.Frezza-Buet@supelec.fr 26

PopulationPopulation

On se donne une foule d'individus pour explorer l'espace des solutions…

… mais leur nombre reste ridiculement petit.

Herve.Frezza-Buet@supelec.fr 27

Reproduction / SélectionReproduction / Sélection

Herve.Frezza-Buet@supelec.fr 28

Reproduction/sélectionReproduction/sélection

Population : 10 individus A,B…H Chacun est une solution, dont on

évalue la fitness. On détermine les 10 nouveaux

individus par sélection probabiliste sur la fitness.

Herve.Frezza-Buet@supelec.fr 29

Reproduction/sélectionReproduction/sélection

Génération nA9

B2

C4

D9

E1

F7

G3

H1

Génération n+1F7

D9

A9

D9

B2

A9

A9

G3

Génération n+2D9

A9

A9

A9

A9

G3

A9

D9

Génération n+3D9

A9

A9

A9

A9

A9

A9

A9

Herve.Frezza-Buet@supelec.fr 30

Reproduction/sélectionReproduction/sélection

Tendance à l'uniformité (clones du meilleur).

Pas de création de solution nouvelle.

Herve.Frezza-Buet@supelec.fr 31

MutationMutation

Herve.Frezza-Buet@supelec.fr 32

MutationMutation

A chaque génération, tout individu a une probabilité pm d'être un peu modifié aléatoirement.

Ca ressemble à un pas au hasard dans la campagne.

Dépend du codage. Pour tétris, on choisira de permuter deux pièces ou de changer un numéro d'insertion.

Herve.Frezza-Buet@supelec.fr 33

MutationMutation

11 110 143 4 107 36F7

=

11 110 143 4 107 36F7

=

11 110 1422 4 107 36F'11

=

11 110 143 410 7 36F'3

=

Ou

Herve.Frezza-Buet@supelec.fr 34

Crossing-overCrossing-over

C'est ce qui différencie les algorithmes génétiques du reste de la recherche opérationnelle.

Herve.Frezza-Buet@supelec.fr 35

Crossing-overCrossing-over

On fait des couples dans la population.

Les couples d'échangent des morceaux de chromosomes à chaque génération, avec une probabilité pc

Codage et Crossing-over doivent rendre compte du fait qu'on peut assembler des morceaux de solution.

Herve.Frezza-Buet@supelec.fr 36

Crossing-over pour tétrisCrossing-over pour tétris

Pour un des partenaires du couple, on définit un morceau de chromosome.

On échange les pièces choisies avec l'autre partenaire.

Herve.Frezza-Buet@supelec.fr 37

Crossing-over pour tétrisCrossing-over pour tétris

11 110 143 4 107 36F7

=

4 8 3 598 12 131 11G5

=

Site de crossing-over

Herve.Frezza-Buet@supelec.fr 38

Crossing-over pour tétrisCrossing-over pour tétris

110 107 3

11 143 46

F7

=

4 8 3 598 12 131 11G5

=

Herve.Frezza-Buet@supelec.fr 39

Crossing-over pour tétrisCrossing-over pour tétris

110 107 3

11 143 46

F7

=

8 312 131

4 598 11

G5

= ?? ?? ?? ?? ??

Herve.Frezza-Buet@supelec.fr 40

Crossing-over pour tétrisCrossing-over pour tétris

110 107 3

11 143 46

F7

=

8 312 131

4 598 11

G5

=

Herve.Frezza-Buet@supelec.fr 41

Crossing-over pour tétrisCrossing-over pour tétris

110 107 3

11 143 46

F7

=

8 312 131

4 598 11

G5

=

Herve.Frezza-Buet@supelec.fr 42

Crossing-over pour tétrisCrossing-over pour tétris

110 107 3

11 143 46

F7

=

8 312 131

4 598 11

G'15

=

Herve.Frezza-Buet@supelec.fr 43

Crossing-over pour tétrisCrossing-over pour tétris

110 107 3

11 143 46

=

8 312 131

4 598 11

G'15

=

F7

Herve.Frezza-Buet@supelec.fr 44

Crossing-overCrossing-over

Si une solution est moyenne car elle résout une partie du problème…

… elle peut recevoir une partie complémentaire par crossing-over (recombinaison)

Le crossing-over peut aussi être destructif ! (mais il y aura des clones non altérés dans la population…)

Herve.Frezza-Buet@supelec.fr 45

RésuméRésumé

Reproduction Crossing-over Mutation

Herve.Frezza-Buet@supelec.fr 46

Fitness sharingFitness sharing

Création de niches écologiques pour favoriser le diversité de la

population.

Herve.Frezza-Buet@supelec.fr 47

Fitness sharingFitness sharing

But : maintenir la diversité, lutter contre l'uniformisation de la reproduction.

Moyen : limiter les ressources...

Herve.Frezza-Buet@supelec.fr 48

Fitness sharingFitness sharing

On définit une fonction s de similarité génotypique sur les individus.– s(A,B)=1 si A=B– s(A,B)=0 si A très différent de B– s(A,B)=.5 si A et B se ressemblent

moyennement,– ...

Herve.Frezza-Buet@supelec.fr 49

Fitness sharingFitness sharing

Avant la reproduction, on divise les fitness de A par la somme des s(A,I), pour tous les individus I de la population.

S'il y a n clones de A, la fitness de chacuns d'eux est divisée par n, l'union ne fait plus la force.

Herve.Frezza-Buet@supelec.fr 50

Fitness sharingFitness sharing

Interprétation : la fitness accordée à une solution est une ressource finie, les solutions identiques se la partagent.

C'est comme si les devait se partager la qualité de réception.

Herve.Frezza-Buet@supelec.fr 51

Fitness sharingFitness sharing

2

3

Sans partage

Herve.Frezza-Buet@supelec.fr 52

Fitness sharingFitness sharing

2

3

Avec partage

Niches écologiques

Herve.Frezza-Buet@supelec.fr 53

Programmation génétiqueProgrammation génétique

Herve.Frezza-Buet@supelec.fr 54

Programmation génétiqueProgrammation génétique

On n'évolue pas le code qui décrit l'individu, mais un programme, à partir duquel il se construit. C'est sur l'individu construit qu'on évalue la fitness.

C'est ce qu'on a fait ici. Exemple : Frédéric Gruau, 1995

Herve.Frezza-Buet@supelec.fr 55

DiscussionDiscussion

Liens avec la biologie ?

Effet Baldwin ?

Catastrophes évolutionistes ?

Herve.Frezza-Buet@supelec.fr 56

top related