algorithmes génétiques

Upload: -

Post on 06-Jan-2016

35 views

Category:

Documents


0 download

DESCRIPTION

Algorithmes génétiques

TRANSCRIPT

  • 1Algorithmes Gntiques

    Farah Zeghal Mansour

    Ecole nationale dingnieurs de Tunis

  • 2Plan du cours1. Introduction2. Rappels en biologie3. Concepts des AG4. Codage des individus5. Slection6. Reproduction7. Remplacement8. Conclusion

  • 3Introduction

    Inspir de la thorie de lvolution des espces de Darwin.

    Seuls les plus forts subsistent dans une population.

  • 4Introduction

    On prend une population (les solutions potentielles

    au problme).

    On slectionne les meilleurs pour quils se

    reproduisent.

    On limine les plus faibles.

    On recommence.

  • 5Introduction

    Lide de calculs volutionnaires remonte 1960 (I. Rechenberg).

    En 1975, le livre Adaption in Natural and Artificial Systems de John Holland sort.

    Les Algorithmes gntiques sont ns.

  • 6Rappels en biologie

    Tous les organismes vivants sont constitus de

    Cellules.

    Toutes les cellules dun organisme contiennent le

    mme ensemble de Chromosomes.

    Les Chromosomes sont constitus de Gnes, des

    parties dADN.

    Un gne encode une protine particulire.

  • 7Rle des gnes

    Un gne encode un trait de

    lindividu (couleur des yeux).

    Les diffrents traits possibles sont

    appels allles.

    Un gne a sa propre position sur

    le chromosome, appele locus.

  • 8Oprateurs gntiques Reproduction

    Les gnes des deux parents se combinent pour former de nouveaux chromosomes.

    Mutation Erreurs lors de la copie des gnes des parents

    pour les fils. Permettre de diversifier la population (cration de

    nouvelles espces...). Adaptation

    Ladaptation dun organisme est mesure daprs son succs dans la vie (ou sa survie).

  • 9Concepts des AGBiologie AG

    Chromosome/individu Solution potentiellePopulation Ensemble de solutionsGnration Itration de

    lalgorithmeAdaptation FitnessCroisement Combinaison de deux

    solutionsMutation Remplacement par un

    voisin

  • 10

    Schma gnral des AGPopulation initiale

    valuation des individus

    SlectionCroisementMutation

    valuation des individus

    Nouvelle population

    Insertion dans la population

    Nouvelle gnration

  • 11

    Schma gnral des AG Gnrer une population initiale de n individus Tant que Continue Faire

    valuer les individus : Calculer la fitness f(x), pour tout individu x Tant que NouvellePopulationARemplir Faire

    Crer de nouveaux individus :Slectionner deux individus parents

    En faire un nouvel individu

    Lui imposer des mutations ventuelles

    Fin Tant que valuer les nouveaux individus Remplacer lancienne population par la nouvelle

    Fin Tant que

  • 12

    Espace des solutions

  • 13

    Codage des individus

  • 14

    Codage des individus Diffrents types de codage (reprsentation) pour les

    individus, suivant la nature du problme.

    1. Codage direct toute linformation de la solution est prsente dans le chromosome

    2. Codage indirectne reprsente pas directement la solution. Il est ncessaire de passer par une tape complmentaire pour obtenir la solution

  • 15

    Codage des individus

    1. Codage direct

    pas besoin de dcodage

    gain du temps de calcul

    2. Codage indirect

    application plus simple des oprateurs gntiques

    certaines contraintes du problme peuvent tre reportes dans la phase de dcodage

  • 16

    Codage des individus

    Codage binaire

    Codage par permutation

    Codage par liste de valeurs

    Codage par arbre

  • 17

    Codage binaire

    Un individu est cod sur n bits.

    A : 10111000110110101000100010100011001B : 01010001001110010101001110101010000

    Exemple : Problme du sac dos. Le bit i reprsente la prsence (ou non) de lobjet i dans le sac dos.

    Cest la reprsentation la plus souvent utilise. Elle est simple, intuitive, et efficace.

  • 18

    Codage par permutation

    Un individu est une suite de nombre qui reprsente une position dans une squence.

    A : 1 5 3 2 6 4 7 9 8B : 8 5 6 7 2 3 1 4 9

    Exemple : Problme du voyageur de commerce. La squence reprsente lordre de parcours des villes.

  • 19

    Codage par liste de valeurs Un individu est une suite de valeurs possibles.

    (gauche) (droite) (droite) (haut) (gauche) (gauche)

    1.543232 1.6764734 5.434343 3.323232 8.473843

    Exemple : Instructions de directions pour un chemin dans un labyrinthe, Coefficients dun polynme, ...

  • 20

    Codage par arbre

    Un individu est un objet reprsent par un arbre.

    Exemple : Instructions dun robot avec observation, Expressions mathmatiques.

  • 21

    Cration de la population initiale

  • 22

    Cration de la population initiale

    Comment ?

    Crer les individus de manire alatoire

    Ou

    Utiliser un ensemble de solutions donnes par un autre

    algorithme

  • 23

    Cration de la population initiale

    Concept trs utile dans AG : la diversit.

    Plus les individus de la population de dpart sont diffrents les uns des autres, plus nous aurons de chance d'y trouver, non pas la solution parfaite, mais de quoi fabriquer les meilleures solutions possibles.

  • 24

    Cration de la population initiale

    Combien ?

    La taille de la population initiale est un paramtre.

    100 ou 150 individus sont souvent amplement suffisants.

  • 25

    valuation des individus

  • 26

    valuation des individus

    La fonction dvaluation ou Fitness :

    Quantifie laptitude dun individu survivre.

    Dpend directement du type de problme rsoudre.

    Pour un problme doptimisation, elle est fortement lie la fonction objectif minimiser ou maximiser.

    Peut inclure un ou plusieurs critres optimiser simultanment.

  • 27

    Oprateurs gntiques

  • 28

    Oprateurs gntiques

  • 29

    Slection des individus

  • 30

    Slection des individus

    La slection consiste choisir les individus qui vont participer la reproduction de la population future.

    Diffrentes mthodes de slection des individus :

    Roulette,

    Slection par rang,

    Slection par tournoi,

    Slection alatoire,

    litisme.

  • 31

    Roulette

    Principes : tout individu peut se reproduire, mais les plus

    forts doivent avoir plus de chance : roues de loterie

  • 32

    Roulette

    A chaque individu est associ un secteur d'une roue.

    L'angle du secteur est proportionnel la qualit de l'individu qu'il reprsente.

    Tournez la roue et tirez un individu.

    Les tirages des individus sont pondrs par leur qualit.

    Logiquement, les meilleurs individus ont plus de chance d'tre croiss et de participer l'amlioration de notre population.

  • 33

    Roulette1. Calculer la somme des fitness de tous les individus f (x)

    2. Gnrer un nombre alatoire a dans [0, f (x)]

    3. Ordonner la population par fitness dcroissante

    4. Parcourir la population ordonne en sommant leur fitness.

    5. Ds que la somme est plus grande que a, lindividu considr est slectionn.

    Si la fitness est trs grande pour les bons individus et trs petite pour les mauvais, cela ne leur laissera que trs peu de chance dtre slectionn.

  • 34

    Slection par rang

    Variante de la roulette.

    Les secteurs de la roue sont proportionnels leur rang dans la population trie en fonction de la qualit des individus.

    Les individus de moins bonne qualit obtiennent un rang faible ( partir de 1).

    L'angle de chaque secteur de la roue est proportionnel au rang de l'individu qu'il reprsente.

  • 35

    Roulette / Slection par rang

    Roulette

    Slection par rang

  • 36

    Roulette / Slection par rang

    Chromosomes 1 2 3 4 5 6 TotalProbabilits initiales 89% 5% 1% 4% 3% 2% 100%

    Rang 6 5 1 4 3 2 21Probabilits finales 29% 24% 5% 19% 14% 9% 9%

  • 37

    Slection par tournoi

    Un tournoi consiste en une rencontre entre plusieurs individus pris au hasard dans la population.

    Le vainqueur du tournoi est l'individu de meilleure qualit.

    On effectue un tournois entre tous les individus. Ceux qui remportent le tournois peuvent se reproduire.

    Ne conserver que le vainqueur ou les p meilleurs individus.

    Un mme individu peut participer plusieurs tournois.

  • 38

    Slection alatoire

    Choisir un individu alatoirement selon une distribution uniforme.

  • 39

    litisme A la cration d'une nouvelle population : Risque de perdre

    les meilleurs individus aprs la reproduction. Mthode d'litisme

    Copier un ou plusieurs des meilleurs individus dans la nouvelle gnration.

    Gnrer le reste de la population selon l'algorithme de reproduction usuel.

    Amliorer considrablement les algorithmes gntiques, car elle permet de ne pas perdre les meilleurs solutions.

  • 40

    Croisement des individus

  • 41

    Croisement

    Croiser deux parents pour former un ou deux enfants.

    Les enfants gardent les meilleures caractristiques de leurs parents.

    Bien exploiter le domaine de variation des individus, et diriger la recherche vers des rgions intressantes de lespace dtude

    Appliqu avec une certaine probabilit : taux ou probabilit de croisement Pc typiquement proche de 1

  • 42

    Croisement

    Choisir deux individus tirs au hasard dans la population

    courante.

    Dfinir alatoirement un ou plusieurs points de

    croisement (crossover) sur lindividu.

    Les nouveaux individus sont alors crs en interchangeant

    les diffrentes parties de chaque individu.

  • 43

    Croisement en un seul point

    Un point de coupure est dtermin de faon alatoire sur les gnes des parents.

    Exemple :

    P1 E1

    P2 E2 010101001011 1100101

    110010101010 0101010

    010101001011 0101010

    110010101010 1100101

  • 44

    4 5 2 1 x x x x x

    8 2 3 6 x x x x x

    Croisement en un seul point

    Exemple : PVC

    P1 E1

    P2 E2 4 5 2 1 8 7 6 9 3

    8 2 3 6 5 4 7 1 9 8 2 3 6 4 5 1 7 9

    4 5 2 1 8 3 6 7 9

  • 45

    Croisement en plusieurs points

    Exemple :

    P1 E1

    P2 E2 010101 001011 1100101

    110010 101010 0101010

    010101

    0101010110010

    1100101

    001011

    101010

  • 46

    Mutation des individus

  • 47

    Mutation

    Modifier alatoirement quelques individus de notre

    population en modifiant un gne ou un autre.

    Participer au maintien de la diversit, utile une bonne

    exploration du domaine de recherche.

    Permettre de schapper des minima locaux.

    Applique avec une certaine probabilit, appele taux ou

    probabilit de mutation Pm, typiquement faible.

  • 48

    Mutation

    Codage binaire : changer la valeur dun bit ;

    Codage par permutation : changer la position de deux

    entiers ;

    Codage par liste de valeur : une valeur est change ;

    Codage par arbre : une feuille ou un noeud est chang.

  • 49

    Remplacement des individus

  • 50

    Remplacement

    Remplacement stationnaire

    Remplacement litiste

  • 51

    Remplacement Remplacement stationnaire :

    Les enfants remplacent automatiquement les parents sans tenir compte de leurs performances respectives,

    Le nombre d'individus de la population ne varie pas tout au long du cycle dvolution simul.

    Remplacement gnrationnel : Remplacer la totalit de la population P par la population P',

    Choisir une certaine proportion d'individus de P' qui remplaceront leurs parents dans P.

  • 52

    Remplacement

    Remplacement litiste :

    Garde au moins l'individu possdant les meilleures performances d'une gnration la suivante.

    Un nouvel individu (enfant) prend place au sein de la population que sil est plus performant que le moins performant des individus de la population prcdente.

    La taille de la population n'est pas fige au cours du temps.

  • 53

    Paramtres de AG

  • 54

    Paramtres des AG Taux de croisement : proche de 1, Taux de mutation : il doit tre particulirement bas.

    Entre 0.5% et 1% du chromosome, Taille de la population :

    De manire trs surprenante, de petites populations sont suffisantes. Gnralement, entre 20 et 30.

    Si la taille du chromosome est importante, il faut augmenter la population (100 individus est gnralement un maximum dans tous les cas).

  • 55

    Paramtres des AG

    Remplacement de la population :

    Il est gnralement prfrable de garder les parents dans la nouvelle population (diffrence avec la vraie biologie), sans quoi les meilleurs lments peuvent tre rapidement perdus.

    On peut aussi garder les n meilleurs individus dune gnration lautre.

  • 56

    Paramtres des AG

    Critre darrt :

    Nombre fixe de gnrations Suivi des valeurs des meilleurs lments de la

    population :s'il ne s'est pas amlior les x dernires gnrations, on s'arrte.

    Suivi de la diffrence dvaluation entre 2 meilleurs individus :

    si elle est infrieure une certaine tolrance, on s'arrte.

  • 57

    Conclusion

  • 58

    Conclusion

    Avantages :

    Outils efficaces pour une classe de problmes trs large.

    Traiter des problmes o la fonction optimiser ne

    prsente aucune proprit de continuit ou de

    drivabilit, par exemple.

  • 59

    Conclusion

    Limites :

    Nombreux paramtres dlicats rgler (taux de croisement et de mutation notamment),

    Codage des individus peut faire varier radicalement la vitesse de convergence.

    Ncessit de calcul dun trs grand nombre de fitness (plusieurs centaines de milliers) avant lobtention dune bonne solution.

  • 60

    Conclusion

    Tendance :

    Hybridation

  • 61

    Sites des revues

  • 62

    Sites

    Elsevier - ScienceDirect http://www.sciencedirect.com/

    Elsevier - Scopus http://www.scopus.com/

    Informs http://journals.informs.org/