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 EVOLUTIONNAIRES Tout ce qui existe dans l’univers est le fruit du hasard et de la nécessité. Jacques Monod l’attribuant à Démocrite. H. Hasni.

Présentations similaires


Présentation au sujet: "ALGORITHMES EVOLUTIONNAIRES Tout ce qui existe dans l’univers est le fruit du hasard et de la nécessité. Jacques Monod l’attribuant à Démocrite. H. Hasni."— Transcription de la présentation:

1 ALGORITHMES EVOLUTIONNAIRES Tout ce qui existe dans l’univers est le fruit du hasard et de la nécessité. Jacques Monod l’attribuant à Démocrite. H. Hasni Ecole Nationale des Sciences de l’Informatique Université de Manouba 2010 Campus Universitaire – Manouba  :

2 Introduction :Théorie de Darwin
C'est en 1859 que Charles Darwin publie son livre intitulé L'origine des espèces au moyen de la sélection naturelle ou la lutte pour l'existence dans la nature.( On the origin of Species by Means of Natural Selection) Rejet de l'existence «de systèmes naturels figés», déjà adaptés pour toujours à toutes les conditions extérieures Expose sa théorie de l'évolution des espèces : sous l'influence des contraintes extérieurs, les êtres vivants se sont graduellement adaptés à leur milieu naturel au travers de processus de reproductions H.Hasni , ENSI

3 Introduction :Théorie de Darwin
Darwin proposa une théorie qui clarifie l’évolution des espèces en mettant en avant quatre lois : La loi de croissance et de reproduction. La loi d’hérédité qu’implique quasiment la loi de reproduction La loi de variabilité , résultant des condition d’existence. La loi de multiplication des espèces qui amène la lutte pour l’existence et qui a pour conséquence la sélection naturelle. H.Hasni , ENSI

4 Introduction 1866, Mendel ( « le moine des pois » ) publie l’article retraçant dix années d’expériences d’hybridation chez les végétaux (recombinaison des gênes)(Aucune réaction) Ce n'est seulement en 1900, que la publication de trois nouveaux articles signés Hugo de Vries, Carl Correns et Erich von Tschermark révèle des résultats similaires à ceux de Mendel, et feront que ces premiers seront reconnus. C'est alors à partir du 20ème siècle que la mutation génétique a été mise en évidence. H.Hasni , ENSI

5 Génétique L'évolution dans la nature survient quand :
des entités ont la capacité de se reproduire, qu'il existe une population de ces entités, qu'il existe une variété (diversité) à travers ces entités que la survie des entités dépend des différences entre elles. Toute entité vivante possède un génotype et le phénotype. H.Hasni , ENSI

6 Génétique : Génotype Le génotype est constitué de gènes situés sur des
chromosomes stockés dans le noyau des cellules sous la forme d'une longue chaîne d'acide désoxyribonucléique (ADN). Dans la nature, l'ADN est un polymère constitué par l'enchaînement de quatre molécules, les nucléotides adénine (A), cytosine (C), guanine (G) et la thymine(T). On peut donc décrire l'ADN par des chaînes de quatre caractères ACGT. L'ADN constitue l'ensemble des chromosomes, ou le génome d'un individu H.Hasni , ENSI

7 Génétique : Phénotype Le phénotype est l'ensemble des protéines et des
enzymes qui peuvent être fabriqués à partir de l'ADN. En fait, l'ADN est copiée par un messager (ARN) qui au niveau du ribosome, se traduit en chaînes d'acides aminés formant les protéines et les enzymes. En général, on compte une protéine (un enzyme) par gène. Ce sont les protéines et les enzymes qui dictent la structure et le comportement des cellules qui permettent à un individu de : Réaliser des tâches dans son environnement, Survivre, Reproduire à des taux différents. H.Hasni , ENSI

8 Génétique La reproduction se traduit par la
transmission du génome aux individus de la progéniture, ce qui permet de préserver les gènes menant à des performances supérieures. Occasionnellement, un processus naturel, la mutation génétique, introduit une variation dans les chromosomes. H.Hasni , ENSI

9 Introduction :Néo Darwinisme
Bases : Les être vivants évoluent sous l’effet du milieu: Les mieux adaptés ont plus de chances de survivre et de se reproduire Les caractéristiques des individus les plus adaptés ont plus de chance de se répandre dans la population La génétique fournit un modèle de transmission des caractéristiques d’une génération à l’autre Les caractéristiques ont définis dans les chromosomes qui sont constitués d’une séquence de gènes H.Hasni , ENSI

10 Historique Les problèmes de traitement de l'information sont résolus de manières figés : lors de sa phase de conception, le système reçoit toutes les caractéristiques nécessaires pour les conditions d'exploitations connues au moment de sa conception: Pas d’ adaptation à des conditions d'environnement inconnues, variables ou évolutives. Les chercheurs en informatique étudient donc des méthodes pour permettre aux systèmes d'évoluer spontanément en fonction de nouvelles conditions : c'est l'émergence de la programmation évolutionnaire H.Hasni , ENSI

11 Historique Dans les années 1960, John Holland étudie les systèmes évolutifs et, en 1975, il introduit le premier modèle formel des algorithmes génétiques (the canonical genetic algorithm AGC) dans son livre Adaptation in Natural and Artificial Systems. Il expliqua comment ajouter de l'intelligence dans un programme informatique avec les croisements (échangeant le matériel génétique) et la mutation (source de la diversité génétique). H.Hasni , ENSI

12 Historique Ce modèle repris par Goldberg qui publiera en 1989, un ouvrage de vulgarisation des algorithmes génétiques, et ajouta à la théorie des algorithmes génétiques les idées suivantes : un individu est lié à un environnement par son code d'ADN. une solution est liée à un problème par son indice de qualité.(Fitness) H.Hasni , ENSI

13 Algorithme Evolutionnaire
Il s’agit de simuler l’évolution d’une population d’individus divers à laquelle on applique différents opérateurs (recombinaisons, mutations…) et que l’on soumet à une sélection, à chaque génération H.Hasni , ENSI

14 Algorithme Evolutionnaire
Si la sélection s’opère à partir de la fonction d’adaptation, alors la population tend à s’améliorer [Bäck 1997]. Un tel algorithme ne nécessite aucune connaissance du problème : on peut représenter celui-ci par une boîte noire comportant des entrées (les variables) et des sorties (les fonctions objectif). L’algorithme ne fait que manipuler les entrées, lire les sorties, manipuler à nouveau les entrées de façon à améliorer sorties, etc [Whitley, 1993] . Procédé des éleveurs pendant des millénaires : ils ont réussi à modifier, selon leurs désirs, de nombreuses espèces animales sans connaissance en génétique ou biologie moléculaire. H.Hasni , ENSI

15 Algorithme Evolutionnaire
Les AE’s constituent une approche originale : Trouver des solutions satisfaisant au mieux à différents critères, souvent contradictoires La vie artificielle est l’étude des systèmes conçus par l’homme, qui présentent des comportements similaires aux systèmes vivants naturels Elle complète l’approche traditionnelle de la biologie, définie étymologiquement par étude des êtres vivants, en essayant de synthétiser leurs comportements sur support artificiel. H.Hasni , ENSI

16 Algorithme Evolutionnaire
La modélisation, s’ajoutant à l’observation, à la théorie et à l’expérience, est un nouvel outil scientifique qui s’est fait valoir depuis l’avènement de l’informatique.. Contribution à la biologie théorique en la plaçant dans un contexte plus vaste. H.Hasni , ENSI

17 Algorithme Evolutionnaire
L’objectif est double: d’une part, la modélisation de ces phénomènes permet de mieux les comprendre les mécanismes qui sont à l’origine de la vie ; d’autre part, on peut exploiter ces phénomènes de façon libre et peuvent donc être diverses. Le domaine de l’évolution artificielle n’a connu une réelle expansion qu’à partir de ces 15 dernières années. Pourtant, l’idée de simuler sur ordinateurs des phénomènes évolutionnaires remonte aux années 50. H.Hasni , ENSI

18 Algorithme Evolutionnaire
Trois types d'algorithmes évolutionnaires ont été développé isolément et à peu prés simultanément, par différents scientifiques : la programmation évolutionnaire (L. Fogel 1966), les Stratégies d'évolution ( J. Rechenberg 1973 ) les Algorithmes Génétiques (J. Holland 1975). Dans les années 90, ces trois champs ont commencé à sortir de leur isolement et ont été regroupés sous le terme anglo-saxon d'Evolutionnary Computation H.Hasni , ENSI

19 Algorithme Evolutionnaire
L'appellation Algorithmes Evolutionnaires (EAs) est un terme générique pour décrire les approches informatiques reposant sur les principes de l'évolution comme éléments clefs de leurs fonctionnements. Il existe un grand nombre d'algorithmes évolutionnaires Toutes ces approches ont en commun la simulation de l'évolution de structures individuelles au travers de méthodes de sélection, mutation et reproduction. Ces processus reposent sur la performance des structures individuelles à leur environnement. H.Hasni , ENSI

20 Algorithme Evolutionnaire
Les EA’s maintiennent une population de structures, qui évolue en accord avec des règles de sélection et d'autres opérateurs, appelés opérateurs de recherche. Chaque individu possède une mesure de son adéquation avec l'environnement : la fitness. La reproduction s'appuie sur cette mesure pour favoriser la prolifération des individus les mieux adaptés. La recombinaison et la mutation perturbent ces individus fournissant par ce biais des heuristiques pour l'exploration de nouvelles solutions. Bien que relativement simple ces algorithmes sont suffisants pour assurer des mécanismes de recherche robustes et puissants. H.Hasni , ENSI

21 Stratégies d’Evolution (ES)
Les algorithmes ES (Evolution Strategies) se caractérisent par Sélection uniforme μ parents donnent λ enfants Remplacement : (μ, λ)-ES ou (μ + λ)-ES (μ, λ)-ES : prochains parents = μ meilleurs parmi les λ enfants (μ + λ)-ES : prochains parents = μ meilleurs parmi les μ parents + λ enfants H.Hasni , ENSI

22 Evolutionnary Programming (EP)
L’algorithme EP = Evolutionary Programming Sélection uniforme Chaque parent produit 1 enfant (par mutation seulement, pas de croisement) Remplacement : Sélection de n individus (parmi les n parents + n enfants) par tournoi EP (de taille k) Tournoi EP pour le remplacement : Pour chaque individu S de P  P’’, faire Choix uniforme de k-1 individus dans P  P’’, Score de S := le nombre d’individus battus Choisir les μ individus de meilleurs scores pour constituer P H.Hasni , ENSI

23 Résumé 1952 : premiers travaux sur l’utilisation de méthodes stochastiques pour l’optimisation. 1954 : Barricelli effectue les premières simulations du processus d’évolution et les utilise sur des problèmes d’optimisation généraux. 1965 : Rechenberg conçoit le premier algorithme utilisant des stratégies d’évolution. 1966 : Fogel, Owens et Walsh proposent la programmation évolutionnaire. 1970 : John Horton Conway conçoit le jeu de la vie, l’automate cellulaire le plus connu à ce jour. 1975 : travaillant sur les automates cellulaires, Holland propose les premiers algorithmes génétiques3. 1980 : Smith utilise la programmation génétique. 1986 : Farmer, Packard et Perelson travaillent sur les systèmes immunitaire artificiels. 1988 : la première conférence sur les algorithmes génétiques est organisée à l’université de l’Illinois à Urbana-Champaign. 1988 : Koza dépose son premier brevet sur la programmation génétique. 1989 : Goldberg publie un des livres les plus connus sur les algorithmes génétiques. 1989 : Evolver, le premier logiciel d’optimisation par algorithmes génétiques est publié par la société Axcelis. 1989 : le terme algorithme mémétique apparait. 1993 : le terme « Evolutionary Computation » (« calcul évolutionnaire » en français) se répand, avec la parution de la revue éponyme, publiée par le Massachusetts Institute of Technology. 1996 : Mühlenbein et Paaß proposent les algorithmes à estimation de distribution. 1997 : Storn et Price proposent un algorithme à évolution différentielle. 2000 : premiers algorithmes génétiques interactifs. H.Hasni , ENSI

24 Algorithmes Génétiques
Les algorithmes génétiques sont des algorithmes d'exploration fondés sur la sélection naturelle et la génétique. Ils utilisent les principes de la survie des structures les mieux adaptées, les échanges d'informations pseudo aléatoires. Ils reposent de manière intensive sur le hasard mais ne sont pas purement aléatoires. H.Hasni , ENSI

25 Algorithmes Génétiques
L'objectif des AG est de déterminer les extrêmes d'une fonction , où est un ensemble quelconque appelé espace de recherche et est appelée fonction d'adaptation ou fonction d'évaluation ou encore fonction fitness. La fonction agit comme une «boite noire»pour l'AG. Des problèmes très complexes peuvent être approchés par programmation génétique sans avoir de compréhension particulière du problème. H.Hasni , ENSI

26 Algorithmes Génétiques
Les AG’s sont utilisés comme alternative à l'optimisation de fonction lorsque les méthodes "classiques", telles que les méthodes indirectes qui recherchent à atteindre les extrema locaux en résolvant des systèmes d'équations et les méthodes directes par suivi de gradient ou par énumération, ne sont pas applicables ou ont échoué. H.Hasni , ENSI

27 AG’s et Autres Approches
Ce qui différencie les AG des autres approches peut s'exprimer en quatre points : Les AG utilisent un codage des paramètres et non les paramètres eux-mêmes. Les AG travaillent sur une population de points et non sur un point particulier. leurs propriétés (telles que la dérivabilité ou autre). Les AG utilisent des règles de transitions probabilistes et non déterministes. H.Hasni , ENSI

28 Résumé : sélection naturelle et de la génétique.
Les AG sont des algorithmes inspirés des mécanismes de la sélection naturelle et de la génétique. Ils utilisent à la fois les principes de la survie des individus les mieux adaptées et ceux de la propagation du patrimoine génétique. De façon très intuitive, on identifie le problème à un environnement donné et les solutions à des individus évoluant dans cet environnement. A chaque génération, on ne retient que les individus les mieux adaptés à cet environnement. Au bout d'un certain nombre de générations, les individus restants sont particulièrement adaptés à l'environnement donné. On obtient donc des solutions très proches de la solution idéale du problème. H.Hasni , ENSI

29 Éléments de Vocabulaire des AGs
Population : Les algorithmes génétiques ne travaillent pas sur un individu, sur une donnée, mais au contraire sur une population de chaînes afin d'effectuer des opérations, des recherches sur un domaine de possibilités plus important. C'est une des grandes forces des AGs. Une population se compose de chaînes ou chromosomes H.Hasni , ENSI

30 Éléments de Vocabulaire des AGs
Chromosome ou individu : Les chaînes des systèmes génétiques artificiels sont analogues aux chromosomes des systèmes biologiques. Ils portent les informations génétiques d'un individu. Ainsi, un individu se compose de gènes. H.Hasni , ENSI

31 Éléments de Vocabulaire des AGs
Gène : Les chromosomes se décomposent en gènes qui peuvent prendre des valeurs différentes que l'on appelle allèles. La position d'un gène dans un chromosome est identifiée par son locus. Un gène est une caractéristique génétique d'un individu. Dans les AGs, les gènes ont des valeurs appartenant à un alphabet qui dépend du problème à résoudre. On peut ainsi avoir des allèles binaires, décimaux, ou encore hexadécimaux. On peut imaginer d'autres sortes de codage. H.Hasni , ENSI

32 Éléments de Vocabulaire des AGs
Génération : Une génération est une population à un instant t. Les AGs faisant évoluer les populations, on crée une nouvelle génération d'individus plus adaptés. Cette évolution est effectuée par les opérateurs de reproduction, de croisement et de mutation H.Hasni , ENSI

33 Analogie avec la Nature
Chromosome Gène Allèle Locus Génotype Phénotype Algorithme Génétique Chaîne Trait, Caractéristique Valeur de la caractéristique Position dans la chaîne Structure Ensemble de paramètres H.Hasni , ENSI

34 Fonctionnement d’un AG
Les mécanismes mis en jeu sont très simples : On dispose d'une population de chaînes de caractères sur un alphabet que nous supposerons binaire. À chaque individu est associé un score (fitness), on en profite pour calculer la somme de ces scores ainsi que les valeurs maximale, minimale et moyenne. Trois opérateurs vont être utilisés : Un opérateur de sélection (select) dont le rôle est de choisir les individus les plus adaptés (ceux possédant un score élevé), Un opérateur de croisement (cross-over ou hybridation), Un opérateur de mutation (mutation). H.Hasni , ENSI

35 Fonctionnement d’un AG
Fonctionnement simplifié T := 0 P := initPopulation Loop Evaluate(P,t) Exit when critere d'arrêt Q := select(P,t) R := cross-over(Q) P:= mutation(R) t := t + 1 EndLoop H.Hasni , ENSI

36 Fonctionnement d’un AG
Avant de pouvoir utiliser un AG, il nous faut définir : un codage adapté au problème (les chromosomes), une fonction (fitness) qui va caractériser l'adéquation de la solution (représentée par son chromosome) au problème. H.Hasni , ENSI

37 Fonctionnement d’un AG
Chromosomes On suppose dans cette approche qu'une solution du problème peut être représentée par un ensemble de paramètres, ces paramètres sont regroupés sous la forme d'une chaîne de caractères. J. Holland a le premier montré pourquoi une représentation sous forme binaire était efficace (il existe cependant d'autres approches : décimale, hexadécimale, alphanumérique…). Rappel : En génétique, un ensemble de paramètres représentés par un chromosome particulier est appelé son génotype, le phénotype est quant à lui une instance particulière d'un génotype. La fonction d'évaluation dépend du phénotype. H.Hasni , ENSI

38 Fonctionnement d’un AG
Fitness ou fonction d'évaluation Cette fonction est déterminée en fonction du problème à résoudre et du codage choisi pour les chromosomes. À un chromosome particulier, elle attribue une valeur numérique, qui est supposée proportionnelle à l'intérêt de l'individu en tant que solution. L'évaluation d'un individu ne dépendant pas de celle des autres individus, le résultat fourni par la fonction d'évaluation va permettre de sélectionner ou de refuser un individu pour ne garder que les individus ayant le meilleur coût en fonction de la population courante : c'est le rôle de la fonction fitness. Cette méthode permet de s'assurer que les individus performants seront conservés, alors que les individus peu adaptés seront progressivement éliminés de la population. H.Hasni , ENSI

39 Fonctionnement d’un AG
Sélection Pour cette phase, nous supposons connu : les individus de la population au temps t , la fonction d'évaluation. Il va falloir trouver une manière de choisir les individus répondant le mieux à notre problème. Il s'agit donc de privilégier les individus ayant un score au-dessus de la moyenne, et de pénaliser ceux en dessous de cette moyenne. Plusieurs approches sont possibles ! H.Hasni , ENSI

40 Fonctionnement d’un AG
Sélection par roulette (wheel ) Les parents sont sélectionnés en fonction de leur performance. Meilleur est le résultat codé par un chromosome, plus grandes sont ses chances d'être sélectionné. Il faut imaginer une sorte de roulette de casino sur laquelle sont placés tous les chromosomes de la population, la place accordée à chacun des chromosomes étant en relation avec sa valeur d'adaptation. H.Hasni , ENSI

41 Fonctionnement d’un AG
Sélection par roulette (wheel ) Ensuite, la bille est lancée et s'arrête sur un chromosome. Les meilleurs chromosomes peuvent ainsi être tirés plusieurs fois et les plus mauvais ne jamais être sélectionnés. H.Hasni , ENSI

42 Fonctionnement d’un AG
Sélection par roulette (wheel ) Cela peut être simulé par l'algorithme suivant : On calcule la somme S1 de toutes les fonctions d'évaluation d'une population. On génère un nombre r entre 0 et S1. On calcule ensuite une somme S2 des évaluations en s'arrêtant dès que r est dépassé. Le dernier chromosome dont la fonction d'évaluation vient d'être ajoutée est sélectionné. H.Hasni , ENSI

43 Fonctionnement d’un AG
Sélection par roulette (wheel ) La sélection par roulette rencontre des problèmes lorsque la valeur d'adaptation des chromosomes varie énormément. Si la meilleure fonction d'évaluation d'un chromosome représente 90% de la roulette alors les autres chromosomes auront très peu de chance d'être sélectionnés et on arriverait à une stagnation de l'évolution. H.Hasni , ENSI

44 Fonctionnement d’un AG
Sélection par rang La sélection par rang trie d'abord la population par fitness. Chaque chromosome se voit associé un rang en fonction de sa position. Le plus mauvais chromosome aura le rang 1, le suivant 2, et ainsi de suite jusqu'au meilleur chromosome qui aura le rang N (pour une population de N chromosomes). La sélection par rang d'un chromosome est la même que par roulette, mais les proportions sont en relation avec le rang plutôt qu'avec la valeur de l'évaluation. Avec cette méthode de sélection, tous les chromosomes ont une chance d'être sélectionnés. Cependant, elle conduit à une convergence plus lente vers la bonne solution. Ceci est dû au fait que les meilleurs chromosomes ne diffèrent pas énormément des plus mauvais. H.Hasni , ENSI

45 Fonctionnement d’un AG
Sélection steady-state L'idée principale est qu'une grande partie de la population puisse survivre à la prochaine génération. L'algorithme génétique marche alors de la manière suivante: A chaque génération sont sélectionnés quelques chromosomes (parmi ceux qui ont le meilleur coût) pour créer des chromosomes fils. Les chromosomes les plus mauvais sont retirés et remplacés par les nouveaux. Le reste de la population survie à la nouvelle génération. H.Hasni , ENSI

46 Fonctionnement d’un AG
Elitisme A la création d'une nouvelle population, il y a de grandes chances que les meilleurs chromosomes soient perdus après les opérations d'hybridation et de mutation. Pour éviter cela, on utilise la méthode d'élitisme : Copier un ou plusieurs des meilleurs chromosomes dans la nouvelle génération. Générer le reste de la population selon l'algorithme de reproduction usuel. Cette méthode améliore considérablement les algorithmes génétiques, car elle permet de ne pas perdre les meilleurs solutions. H.Hasni , ENSI

47 Fonctionnement d’un AG
L'hybridation ( ou cross-over ou croisement) Le cross-over est une méthode permettant de construire de nouveaux individus à partir de leurs parents. Il existe deux grandes approches : le cross-over simple, le cross-over double. H.Hasni , ENSI

48 Fonctionnement d’un AG
Le cross-over simple le cross-over simple consiste à : Choisir un point de croisement compris entre 1 et (L – 1) où L est la longueur de la chaîne, Recombiner les enfants comme étant le début d'un chromosome et la fin de l'autre. H.Hasni , ENSI

49 Fonctionnement d’un AG
Par exemple : Considérons les deux chromosomes suivants : et et choisissons comme point de croisement 3 : et H.Hasni , ENSI

50 Fonctionnement d’un AG
Le cross-over double Le cross-over double consiste à sélectionner deux points de croisement et à échanger les parties intermédiaires. Remarque : le cross-over simple peut être considéré comme un cross-over double si l'on "voit" les chromosomes comme des chaînes circulaires, et le deuxième point de croisement comme étant en position L. H.Hasni , ENSI

51 Fonctionnement d’un AG
Reprenons l'exemple précédent : Choisissons comme points de croisement 3 et 6, On obtient les deux individus : et H.Hasni , ENSI

52 Fonctionnement d’un AG
Mutation : La mutation est appliquée individuellement à tous les "enfants" après le croisement. Elle a pour but d'altérer aléatoirement une information avec une faible probabilité (de l'ordre de 0.001). L'intérêt de la mutation est de pouvoir explorer aléatoirement une autre portion de l'espace de recherche, garantissant ainsi que tous les points de l'espace ont une probabilité non nulle d'être essayés. H.Hasni , ENSI

53 Exemple : Problème de la boîte à n interrupteurs
Il se compose d'une boîte avec n interrupteurs dont on ne connaît absolument pas le contenu et les résultats du positionnement des interrupteurs. Nous voulons connaître la position des interrupteurs qui optimise la sortie de la boîte, sachant que l'on peut mesurer et évaluer la sortie H.Hasni , ENSI

54 Exemple : Prenons une boîte noire avec cinq interrupteurs.
Par une méthode classique, il faudrait parcourir toutes les positions possibles des interrupteurs afin de déterminer la position optimale, soit pour n interrupteurs 2^n positions. Le nombre de positions possibles croît de façon exponentielle. Exemples d'équivalences : 5 interrupteurs : 2^5 équivaut à 32 positions possibles. 16 interrupteurs : 2^16 équivaut à positions possibles. 32 interrupteurs : 2^32 équivaut à positions possibles. Pour cinq interrupteurs, le parcours de toutes les positions serait faisable mais au-delà, le temps imparti à ce travail serait inconcevable H.Hasni , ENSI

55 Exemple : Les AGs vont nous permettrent de trouver
rapidement une solution qui se rapproche de l'optimum. La solution trouvée ne sera pas forcément la solution optimale mais les AGs la trouveront dans un temps raisonnable. H.Hasni , ENSI

56 Exemple : Dans un premier temps, il faut tout d'abord coder le problème. Nous allons travailler sur une population de chaînes contenant les informations sur la position des interrupteurs de la boîte. Ce codage est très simple : Une chaîne de cinq bits suffit pour coder les cinq positions : un bit positionné à 1 code un interrupteur sur ON et un bit positionné à 0 est équivalent à un interrupteur sur OFF. Les AGs vont donc travailler sur des individus binaires. H.Hasni , ENSI

57 Exemple : Il s'agit alors de tirer au hasard une population initiale, une batterie de test. Exemple : 10010 11000 00010 01101 10001 Nous avons une population composée de cinq chaînes contenant toutes les informations sur la position des cinq interrupteurs. H.Hasni , ENSI

58 Exemple : Il nous faut alors tester ces chaînes afin de connaître leur adaptation. On mesure la sortie qui nous donne la valeur d'adaptation de chaque chaîne. Chaîne Adaptation H.Hasni , ENSI

59 Exemple : Remarque : moins bien adaptés.
Les individus de notre population sont plus ou moins bien adaptés. La chaîne est bien adaptée, La chaîne est très mal adaptée. Le maximum de l'adaptation est et la moyennevaut 5354,8. H.Hasni , ENSI

60 Exemple : Il s'agit maintenant de faire évoluer la population pour obtenir une nouvelle génération d'individus plus adaptés. Le but est de faire mourir les individus les moins adaptés, tout en gardant les meilleurs. Nous allons croiser les informations des meilleurs afin de créer de nouveaux individus qui seront (on l'espère) mieux adaptés. Si on élimine directement l'individu le moins adapté, soit Nous avons un taux de mortalité de 20% environ. Nous tirons au hasard deux individus en fonction de la valeur de leur adaptation (tirage pseudo aléatoire pondéré par la fonction d'adaptation) afin d'effectuer un croisement. H.Hasni , ENSI

61 Exemple : Après tirage au sort, Il s'agit maintenant de les croiser.
l'individu 1 est apparié avec l'individu 2, l'individu 4 est apparié avec l'individu 5. Il s'agit maintenant de les croiser. Pour cela, il faut tirer, pour chaque paire, un nombre qui représentera la frontière de croisement.(tirage : 3 et 2). 100|10 110|00 01|101 10|001 H.Hasni , ENSI

62 Exemple : Après croisement, nous obtenons deux nouvelles pairesd'individus avec leur valeur d'adaptation correspondante : Chaîne Adaptation H.Hasni , ENSI

63 Exemple : De nouveaux individus ont été créés
La population est maintenant composée de 8 individus (parents +enfants). Il nous faut donc choisir aléatoirement (toujours en fonction de l'adaptation) cinq individus parmi les huit, afin de garder une population constante. Un individu adapté a toutes les chances de se retrouver dans la nouvelle génération. On obtient la génération suivante : Chaîne Adaptation H.Hasni , ENSI

64 Exemple : La nouvelle génération est globalement mieux adaptée.
Remarques : La valeur maximale de l'adaptation a augmenté et est passée à 17576, La valeur moyenne est égale à La nouvelle génération est globalement mieux adaptée. H.Hasni , ENSI

65 Exemple : Afin de ne perdre aucune possibilité de positions, on introduit l'opération de mutation. En fonction d'une probabilité de mutation ( 0,001% par exemple), les individus vont muter de façon plus ou moins probable. La probabilité de mutation doit être faible. Aléatoirement, l'individu 3 mute et devient On obtient la nouvelle génération : Chaîne Adaptation H.Hasni , ENSI

66 Exemple : Nous avons obtenu, après ces opérations simples et sans se soucier de la sémantique de ces chaînes codées, une nouvelle génération plus adaptée que la précédente. La valeur moyenne de l'adaptation est égale à En renouvelant ces opérations N fois, on obtient une solution qui s'approche de l'optimum. Le test d'arrêt peut être la stagnation de la population sur plusieurs générations ou un nombre total de génération H.Hasni , ENSI

67 Algorithme Génétique & Problème de Voyageur de Commerce (PVC)

68 Position du Problème Une instance du PVC : est un graphe complet de sommets dont les arêtes sont pondérées par un coût strictement positif. L'instance sera alors implantée comme une matrice M dont les coefficients sont strictement positifs sauf sur la première diagonale où ils sont tous nuls. M est appelé matrice de coût. Ainsi la distance entre le sommet j et le sommet i est Mij. L'espace de recherche : C'est l'ensemble des permutations de Un point de l'espace de recherche est une permutation. H.Hasni , ENSI

69 Codage Codage des points de l’espace de recherche :
Chaque points de l'espace de recherche est une permutation de Une première idée est de coder alors chaque permutation par une chaîne de bits. Par exemple, pour   représente la permutation : H.Hasni , ENSI

70 Fonction d’Evaluation
La fonction d'évaluation C'est ici le coût total d'une permutation. A savoir pour une permutation  : Le dernier terme de la somme permettant de revenir au sommet initial. C'est cette fonction là que nous cherchons à minimiser. H.Hasni , ENSI

71 Mutation Mutation Une des méthodes les plus simples pour muter un chromosome est d'inverser les positions de deux villes. Par exemple : devient Cependant, cette mutation change beaucoup la fonction d'adaptation , si on inverse deux sommets non contigus: H.Hasni , ENSI

72 Mutation Une solution qui perturbe moins l'individu consiste à inverser tous les sommets entre i et j. (2-échange). Par exemple, devient La différence de la fonction d'évaluation ne dépend plus que de quatre termes : H.Hasni , ENSI

73 Mutation Il existe d’autres opérateurs de mutation, à savoir:
Mutation par insertion : deux positions sont sélectionnées au hasard et le gène appartenant à l’une est inséré à l’autre position Mutation par déplacement: Une séquence est sélectionnée au hasard vers une position elle-même tirée au hasard. Mutation heuristique: consiste à sélectionner un nombre aléatoire de positions, faire toutes les permutations possibles des positions sélectionnées, les évaluer et en sélectionner la meilleure H.Hasni , ENSI

74 Diversification La diversification consiste à mieux répartir les individus de la population dans l'espace de recherche. Ici, on fait un décalage vers la gauche de longueur aléatoire sur tous les individus nouvellement créés. Cela n'affecte pas leur valeur d'adaptation et cela permet une meilleure diversité génétique H.Hasni , ENSI

75 Opérateurs de croisement
Plusieurs études ont été conduites sur les opérateurs de croisement et démontrent que le choix doit se faire en fonction du nature du problème. Pour le PVC, les opérateurs ont été classés selon les caractéristiques qu’ils tentent de préserver. On distinguent trois catégories d’opérateurs: Ceux qui préservent la position absolue : PMX, CX, Subtour, Croisement uniforme Ceux qui préservent l’ordre : OX, LOX, OBX, PBX Ceux qui préservent l’adjacence : Edge Recombinaison Crossover, Heuristic Crossover H.Hasni , ENSI

76 Partial Match Crossover (PMX)
Supposons que nous souhaitions combiner les deux parcours suivants : P1 = ( ) P2 = ( ) On choisit d’abord au hasard deux sites d’hybridation ( 1 5 | | ) ( 9 1 | | ) H.Hasni , ENSI

77 Partial Match Crossover (PMX)
Ces sites d’hybridation nous indiquent la suite d’inversions que nous devons effectuer : ( ) l l l l ( ) Inversons d’abord les valeurs 2 et 7 dans les deux parcours : ( ) ( ) L’inversion de 3 et 3 ne change rien. On poursuit avec 9 et 4 : ( ) ( ) H.Hasni , ENSI

78 Partial Match Crossover (PMX)
et finalement, on interchange 7 et 8 ( ) ( ) L’hybridation des parcours P1 = ( ) P2 = ( ) par l’opérateur PMX a donc donné les parcours P’1 = ( ) P’2 = ( ) H.Hasni , ENSI

79 Order Crossover (OX) P1 = ( 1 5 2 3 9 7 4 8 6 )
Afin de vérifier la différence entre l’opérateur PMX et l’opérateur OX, utilisons les mêmes parcours P1 = ( ) P2 = ( ) et les mêmes sites d’hybridation ( 1 5 | | ) ( 9 1 | | ) H.Hasni , ENSI

80 Order Crossover (OX) Dans un premier temps, nous effaçons les valeurs correspondantes dans chaque parcours ( 1 5 | 2 _ 9 _ | _ _ 6 ) ( _ 1 | _ _ 4 8 | _ 6 5 ) Ensuite, nous faisons glisser le tout vers la gauche jusqu’au deuxième site d’hybridation ( 2 9 | _ _ _ _ | ) ( 4 8 | _ _ _ _ | ) H.Hasni , ENSI

81 Order Crossover (OX) Puis nous remplissons les emplacements vides
( 2 9 | | ) ( 4 8 | | ) H.Hasni , ENSI

82 Order Crossover (OX) L’hybridation des parcours
par l’opérateur OX résulte en E1 = ( ) E2 = ( ) alors qu’avec PMX, nous avions obtenu E’1 = ( ) E’2 = ( ) H.Hasni , ENSI

83 Cycle Crossover (CX) Considérons les parcours suivants
Nous commençons avec 1 dans P1 ( 1 _ _ _ _ _ _ _ _ ) puis 9 qui correspond à 1 dans P2 ( 1 _ _ _ 9 _ _ _ _ ) ensuite, on va à 4 ( 1 _ _ _ 9 _ 4 _ _ ) Ainsi de suite, jusqu’à ce qu’on obtienne un cycle ( 1 _ _ 2 9 _ 4 _ _ ) H.Hasni , ENSI

84 Cycle Crossover (CX) ( 1 3 7 2 9 8 4 6 5 )
puis on copie ce qui manque dans le premier parcours à partir de ce qu’on trouve dans le second parcours : ( ) On procède de la même façon pour construire E2 : H.Hasni , ENSI

85 Cycle Crossover (CX) Dans ce cas, les parcours
ont été transformés en E1 = ( ) E2 = ( ) H.Hasni , ENSI

86 Echange de Séquence (Subtour Exchange)
Cet opérateur sélectionne des sous-ensembles non identiques contenant des gènes communs aux deux parents et les échange: P1 = ( ) P2 = ( ) E1 = ( ) E2 = ( ) H.Hasni , ENSI

87 Croisement Uniforme Le croisement uniforme de permutation génère un masque binaire aléatoire. Les gènes marqués « 0 » sont conservés dans un parents et ceux marqués « 1 » dans l’autre. Les gènes non marqués du premier parent sont permutés selon l’ordre dans lequel ils apparaissent dans le second parent ( et réciproquement pour le parent 2) H.Hasni , ENSI

88 Croisement Uniforme Soit le masque suivant : ( 0 0 1 1 0 1 0 1 0 )
Et les deux parents suivants: P1 ( ) P2 ( ) les enfants sont: E1 ( ) E2 ( ) H.Hasni , ENSI


Télécharger ppt "ALGORITHMES EVOLUTIONNAIRES Tout ce qui existe dans l’univers est le fruit du hasard et de la nécessité. Jacques Monod l’attribuant à Démocrite. H. Hasni."

Présentations similaires


Annonces Google