Top Banner
[email protected] 1 Algorithmes génétiques David E. Goldberg, Genetic algorithms in Search, Optimization and Machine Learning, Addison-Wesley, 1989
56

[email protected] 1 Algorithmes génétiques David E. Goldberg, Genetic algorithms in Search, Optimization and Machine Learning, Addison-Wesley,

Apr 03, 2015

Download

Documents

Renée Loison
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Herve.Frezza-Buet@supelec.fr 1 Algorithmes génétiques David E. Goldberg, Genetic algorithms in Search, Optimization and Machine Learning, Addison-Wesley,

[email protected] 1

Algorithmes génétiquesAlgorithmes génétiques

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

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

[email protected] 2

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

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

[email protected] 3

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

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

[email protected] 4

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

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

[email protected] 5

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

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

[email protected] 6

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

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

[email protected] 7

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

maximum...…local !

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

[email protected] 8

Recherche opérationnelleRecherche opérationnelle

Quelques définitions

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

[email protected] 9

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

Espace des solutions

Fitness (à optimiser)

"La" solution

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

[email protected] 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 ?

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

[email protected] 11

Résolution ?Résolution ?

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

Améliorer les solutions connues ?

Conflit exlporation / exploitation

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

[email protected] 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.

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

[email protected] 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.

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

[email protected] 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.

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

[email protected] 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...

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

[email protected] 16

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

Par une approche évolutionniste

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

[email protected] 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.

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

[email protected] 18

FitnessFitness Elle définit le problème

à résoudre. On a le choix !

12

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

[email protected] 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.

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

[email protected] 20

Codage d'une solutionCodage d'une solution

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

Ex : pour

12310111218

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

[email protected] 21

Codage d'une solutionCodage d'une solution

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

18302632148163034 9

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

[email protected] 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 !

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

[email protected] 23

PopulationPopulation

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

[email protected] 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

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

[email protected] 25

IndividuIndividu

GénotypeGénotype

PhénotypePhénotype

FitnessFitness

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

[email protected] 26

PopulationPopulation

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

… mais leur nombre reste ridiculement petit.

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

[email protected] 27

Reproduction / SélectionReproduction / Sélection

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

[email protected] 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.

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

[email protected] 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

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

[email protected] 30

Reproduction/sélectionReproduction/sélection

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

Pas de création de solution nouvelle.

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

[email protected] 31

MutationMutation

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

[email protected] 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.

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

[email protected] 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

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

[email protected] 34

Crossing-overCrossing-over

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

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

[email protected] 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.

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

[email protected] 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.

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

[email protected] 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

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

[email protected] 38

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

110 107 3

11 143 46

F7

=

4 8 3 598 12 131 11G5

=

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

[email protected] 39

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

110 107 3

11 143 46

F7

=

8 312 131

4 598 11

G5

= ?? ?? ?? ?? ??

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

[email protected] 40

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

110 107 3

11 143 46

F7

=

8 312 131

4 598 11

G5

=

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

[email protected] 41

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

110 107 3

11 143 46

F7

=

8 312 131

4 598 11

G5

=

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

[email protected] 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

=

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

[email protected] 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

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

[email protected] 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…)

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

[email protected] 45

RésuméRésumé

Reproduction Crossing-over Mutation

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

[email protected] 46

Fitness sharingFitness sharing

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

population.

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

[email protected] 47

Fitness sharingFitness sharing

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

Moyen : limiter les ressources...

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

[email protected] 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,– ...

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

[email protected] 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.

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

[email protected] 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.

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

[email protected] 51

Fitness sharingFitness sharing

2

3

Sans partage

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

[email protected] 52

Fitness sharingFitness sharing

2

3

Avec partage

Niches écologiques

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

[email protected] 53

Programmation génétiqueProgrammation génétique

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

[email protected] 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

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

[email protected] 55

DiscussionDiscussion

Liens avec la biologie ?

Effet Baldwin ?

Catastrophes évolutionistes ?