[email protected] 1 algorithmes génétiques david e. goldberg, genetic algorithms in...
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/1.jpg)
Algorithmes génétiquesAlgorithmes génétiques
David E. Goldberg, Genetic algorithms in Search, Optimization and Machine Learning, Addison-Wesley, 1989
![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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/9.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/10.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/11.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/12.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/13.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/14.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/15.jpg)
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 17: Herve.Frezza-Buet@supelec.fr 1 Algorithmes génétiques David E. Goldberg, Genetic algorithms in Search, Optimization and Machine Learning, Addison-Wesley,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/17.jpg)
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 19: Herve.Frezza-Buet@supelec.fr 1 Algorithmes génétiques David E. Goldberg, Genetic algorithms in Search, Optimization and Machine Learning, Addison-Wesley,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/19.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/20.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/21.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/22.jpg)
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 24: Herve.Frezza-Buet@supelec.fr 1 Algorithmes génétiques David E. Goldberg, Genetic algorithms in Search, Optimization and Machine Learning, Addison-Wesley,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/24.jpg)
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 26: Herve.Frezza-Buet@supelec.fr 1 Algorithmes génétiques David E. Goldberg, Genetic algorithms in Search, Optimization and Machine Learning, Addison-Wesley,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/26.jpg)
PopulationPopulation
On se donne une foule d'individus pour explorer l'espace des solutions…
… mais leur nombre reste ridiculement petit.
![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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/28.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/29.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/30.jpg)
Reproduction/sélectionReproduction/sélection
Tendance à l'uniformité (clones du meilleur).
Pas de création de solution nouvelle.
![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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/32.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/33.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/34.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/35.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/36.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/37.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/38.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/39.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/40.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/41.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/42.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/43.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/44.jpg)
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 46: Herve.Frezza-Buet@supelec.fr 1 Algorithmes génétiques David E. Goldberg, Genetic algorithms in Search, Optimization and Machine Learning, Addison-Wesley,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/46.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/47.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/48.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/49.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/50.jpg)
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 54: Herve.Frezza-Buet@supelec.fr 1 Algorithmes génétiques David E. Goldberg, Genetic algorithms in Search, Optimization and Machine Learning, Addison-Wesley,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/54.jpg)
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,](https://reader036.vdocuments.site/reader036/viewer/2022062223/551d9d8e497959293b8c344e/html5/thumbnails/55.jpg)
DiscussionDiscussion
Liens avec la biologie ?
Effet Baldwin ?
Catastrophes évolutionistes ?