La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algorithmes génétiques

Présentations similaires


Présentation au sujet: "Algorithmes génétiques"— Transcription de la présentation:

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

2 Téléphoner à la campagne

3 Téléphoner à la campagne

4 Téléphoner à la campagne

5 Téléphoner à la campagne

6 Téléphoner à la campagne

7 Téléphoner à la campagne
maximum... …local !

8 Recherche opérationnelle
Quelques définitions

9 Définition d'un problème
Fitness (à optimiser) "La" solution Espace des solutions

10 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 ?

11 Conflit exlporation / exploitation
Résolution ? Risquer l'exploration d'une solution tirée au hasard ? Améliorer les solutions connues ? Conflit exlporation / exploitation

12 Tout 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.

13 Suivre 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.

14 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.

15 Algorithme 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...

16 Par une approche évolutionniste
Jouer à tétris ! Par une approche évolutionniste

17 Le problème à résoudre "Lâcher" les pièces (tétris) et faire une forme compacte. Problème de placement.

18 Fitness Elle définit le problème à résoudre. On a le choix ! 12

19 Codage 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.

20 Codage d'une solution Insertion d'une pièce : on numérote les possibilités. Ex : pour 1 11 12 2 3 18 10

21 Codage d'une solution Insertion d'une pièce : on numérote les possibilités. 18 30 26 32 14 8 16 34 9

22 Choisir une solution au hasard
18 30 26 32 14 8 16 34 9 10 3 29 14 7 2 27 13 1 Taille de l'espace des solutions : (12...10) 343016981432263018 = Les compter à 2GHz, ça prend environs 425 ans !

23 Population

24 Individu Une solution possible est appelée un individu. Il a :
11 1 10 14 3 4 7 6 12 Un code Génotype / Chromosome Fitness Phénotype Une valeur Un "aspect"

25 Individu Génotype Phénotype Fitness

26 Population On se donne une foule d'individus pour explorer l'espace des solutions… … mais leur nombre reste ridiculement petit.

27 Reproduction / Sélection

28 Reproduction/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.

29 Reproduction/sélection
Génération n A 9 B 2 C 4 D E 1 F 7 G 3 H F 7 D 9 A 9 D 9 B 2 A 9 A 9 G 3 Génération n+1 Génération n+2 D 9 A G 3 Génération n+3 D 9 A

30 Reproduction/sélection
Tendance à l'uniformité (clones du meilleur). Pas de création de solution nouvelle.

31 Mutation

32 Mutation 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.

33 Mutation 11 1 10 14 3 4 7 6 F = 11 1 10 14 3 4 7 6 F' = Ou 11 1 10 14 3 4 7 6 F = 11 1 10 14 22 4 7 3 6 F' =

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

35 Crossing-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.

36 Crossing-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.

37 Crossing-over pour tétris
Site de crossing-over 11 1 10 14 3 4 7 6 F = 12 9 G 5 8 3 1 13 11 5 = 4 8

38 Crossing-over pour tétris
11 14 3 4 6 10 F 7 10 7 3 = 1 12 9 G 5 8 3 1 13 11 5 = 4 8

39 Crossing-over pour tétris
11 14 3 4 6 10 F 7 10 7 3 = 1 12 ? ? G 5 3 ? 1 13 ? ? = 8 4 5 9 8 11

40 Crossing-over pour tétris
11 14 3 4 6 10 F 7 10 7 3 = 1 12 G 5 3 1 13 = 8 4 5 9 8 11

41 Crossing-over pour tétris
10 F 7 10 7 3 = 1 11 14 3 4 6 12 G 5 3 1 13 = 8 4 5 9 8 11

42 Crossing-over pour tétris
10 F 7 10 7 3 = 1 11 14 3 4 6 12 G' 15 3 1 13 = 8 4 5 9 8 11

43 Crossing-over pour tétris
4 5 9 8 11 10 F 7 10 7 3 = 1 11 14 3 4 6 12 G' 15 3 1 13 = 8

44 Crossing-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…)

45 Reproduction Crossing-over Mutation
Résumé Reproduction Crossing-over Mutation

46 Fitness sharing Création de niches écologiques pour favoriser le diversité de la population.

47 Fitness sharing But : maintenir la diversité, lutter contre l'uniformisation de la reproduction. Moyen : limiter les ressources...

48 Fitness 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, ...

49 Fitness 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.

50 Fitness 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.

51 Fitness sharing 3 Sans partage 2

52 Fitness sharing 3 Avec partage Niches écologiques 2

53 Programmation génétique

54 Programmation 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

55 Liens avec la biologie ? Effet Baldwin ? Catastrophes évolutionistes ?
Discussion Liens avec la biologie ? Effet Baldwin ? Catastrophes évolutionistes ?

56


Télécharger ppt "Algorithmes génétiques"

Présentations similaires


Annonces Google