Algorithmes génétiques (évolutionnaires) Impossible d’afficher l’image. Apprentissage: Acquisition de nouvelles connaissances Utilisation adéquate et pertinente des connaissances Méthodes mathématiques Méthodes basées sur L’IA (raisonnement) A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA Simulation du comportement humain 1 Algorithmes génétiques OPTIMISATION But: Recherche du maximum ou du minimum global dans un espace Différentes approches 1. Méthodes systématiques 2. Méthodes déterministes 3. Méthodes stochastiques A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 2 Algorithmes génétiques Principe Simulation des processus essentiels dans l’évolution des populations dans l’environnement naturel. Un AG est un algorithme stochastique itératif qui utilise une population d’individus représentant les solutions potentielles du problème d’optimisation à résoudre. Cette population va évoluer de générations en générations : les individus les « mieux adaptés » auront plus de chance de se reproduire et donc de transmettre leurs caractéristiques héréditaires. Le patrimoine génétique d’un individu est contenu dans un chromosome qui est constitué d’un ensemble de gènes qui prennent leur valeur dans un alphabet binaire ou non. Le processus de l’évolution est traduit au travers des opérateurs de sélection et de reproduction. Les individus sont sélectionnés en fonction de leur adaptation. Pour se reproduire, deux mécanismes permettent de « fournir » de nouveaux individus : le croisement ou l’hybridation qui combine les génotypes de deux parents et fournit deux descendants, la mutation qui change un ou plusieurs gènes d’un individu. A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 3 Algorithmes génétiques Principe compétition entre les individus d’une population pour les ressources (eau, nourriture, etc..) compétition pour attirer les partenaires sexuels (mating) les individus les plus adaptés (performants) vont se reproduire et avoir plusieurs progénitures la combinaison des “ bonnes ” caractéristiques des parents va permettre d’avoir des enfants mieux adaptés de générations en générations, l’espèce va évoluer et devenir de mieux en mieux adaptée A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 4 Algorithmes génétiques Principe En termes d’optimisation fonction d’adaptation : fonction à optimiser ; individu : solution possible du problème ; adaptation : mesure “ la qualité ” de la solution (l’individu) par rapport au problème ; reproduction : un enfant hérite des gènes de ses parents ; compétition : une sélection est effectuée entre les individus de la population. Les meilleurs individus à un instant donné sont « réutilisés » pour se rapprocher de la solution du problème But : trouver (atteindre) l’individu le mieux adapté. A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 5 Algorithmes génétiques Principe VOCABULAIRE Individu : représenté par un chromosome (génome); Un chromosome est une “ chaîne ” de gènes ; Génotype : l’ensemble des gènes représentés par un chromosome; Phénotype : l’ensemble des valeurs observables prises par chaque gène ; Fonction d’adaptation : fitness Opérations de reproduction : le croisement (crossing-over – hybridation) la mutation génération : l’ensemble de la population à un moment donné du processus ; A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 6 Algorithmes génétiques Principe MISE EN ŒUVRE 1. Création d’une population initiale 2. Evaluation des individus de la population 3. Sélection des “ meilleurs ” individus 4. Croisement et mutation dans le « mating pool » 5. Formation d’une nouvelle génération Retour au 2 si non convergence A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 7 Algorithmes génétiques Principe Organigramme d ’un AG Initialisation de la population Evaluation des individus Sélection (Génération intermédiaire) Reproduction (Croisement et Mutation) (Nouvelle Génération courante) Evaluation des individus Résultat (Meilleur individu) oui Critère d’arrêt A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA non 8 Algorithmes génétiques MISE EN ŒUVRE 1. Définition d’une fonction d’adaptation (fitness) : C’est la fonction à optimiser. Son expression peut être immédiate et assez simple (fonction mathématique), mais ceci n’est pas toujours le cas. On peut donc être amener à en considérer une approximation. A définir en fonction du problème A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 9 Algorithmes génétiques MISE EN ŒUVRE 2. Choix du codage des chromosomes : chromosome:={A}l {A} alphabet binaire ou non l: longueur du chromosome (fixe ou variable) Buts pouvoir coder toutes les solutions faciliter la mise en œuvre des opérations de reproduction. Choix en fonction du problème. En général on distingue deux classes de problèmes : les problèmes à valeur: on cherche les meilleures valeurs possibles des gènes, les problèmes de position: l’ensemble des valeurs finales est connu et on cherche la meilleure position pour placer chacune de ces valeurs. A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 10 Algorithmes génétiques MISE EN ŒUVRE Exemple1 : Problème à valeurs Optimisation d’une fonction à 5 variables (x,y,z,t,u) dans l’intervalle [0,15] f = ( xy ) + z + t + u 2 Codage binaire d’un chromosome chaque paramètre est codé sur 4 bits (valeurs entre 0 et 15) Taille du chromosome : 20 bits (4x5) 14 12 2 7 9 11101100001001111001 x y z t A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA u 11 Algorithmes génétiques MISE EN ŒUVRE Exemple 2: Problème de position Le voyageur de commerce (10 villes) codage par valeurs entières 1290358674 taille du chromosome: 10 codage binaire (4 bits par valeur :0..9) 0001001010010000001101011000011001110100 taille du chromosome: 40 Problème des valeurs possibles à gérer Problème des doublons à gérer A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 12 Algorithmes génétiques MISE EN ŒUVRE 3. Définition des opérations de reproduction Croisement : S’applique sur deux individus différents. Résultat:chromosome formé à partir des gènes de ses deux parents. Deux enfants sont “ produits ” pour la génération suivante. Un pourcentage de croisement est fixé. Mutation : S’applique sur un seul individu par la modification de l’un ou plusieurs gènes du parent choisi(s) aléatoirement. Un seul nouvel enfant est fourni. Un pourcentage de mutation est fixé. A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 13 Algorithmes génétiques MISE EN ŒUVRE Exemple de croisement x Parent1 u 12 2 7 9 15 11 0 10 11101101101100001010 14 Enfant2 t 01011111101100001010 5 Enfant1 z 11101100001001111001 14 Parent2 y 13 11 0 10 01011110001001111001 5 14 2 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 7 9 14 Algorithmes génétiques MISE EN ŒUVRE Exemple d’une mutation x Parent z t u 11101100001001111001 14 x Enfant y 12 y 2 z 7 9 t u 11101110001001111001 14 14 2 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 7 9 15 Algorithmes génétiques MISE EN ŒUVRE 4. Choix de la méthode de sélection : Trois objectifs principaux: Elle permet de «choisir» les individus sur lesquels s’appliqueront les opérations de reproduction pour la création de la future génération (création du mating-pool). Elle doit “ favoriser ” les meilleurs individus Elle doit permettre d’explorer les différentes parties de l’ensemble de recherche. A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 16 Algorithmes génétiques MISE EN ŒUVRE Sélection proportionnelle C ’est la méthode de sélection la plus utilisée Méthode de la Roue (Roulet Wheel Selection-RWS) La roue est divisée en secteurs et chaque secteur est associé à un individu, la superficie du secteur étant proportionnelle à la valeur de l’adaptation de l’individu, les meilleurs individus auront une probabilité plus grande d’être choisis. A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 17 Algorithmes génétiques MISE EN ŒUVRE Mise en œuvre de la sélection proportionnelle n : nombre d’individus à remplacer Np: nombre d’individus de la population fj : valeur d’adaptation de l’individu j ni : le nombre de sélections espérées de l’individu i ni = n fi Np ∑f j =1 j A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 18 Algorithmes génétiques MISE EN ŒUVRE Exemple de roue avec 10 chromosomes 7% 13% 6% chromosome 1 5% chromosome 2 3% 13% 3% chromosome 3 chromosome 4 chromosome 5 chromosome 6 chromosome 7 chromosome 8 16% 18% chromosome 9 chromosome 10 16% A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 19 Algorithmes génétiques MISE EN ŒUVRE Mise en œuvre de la sélection proportionnelle Méthode RWS: les individus sont représentés sur une droite à chaque segment correspond un individu, et sa taille est proportionnelle à l’adaptation de l’individu n nombres aléatoires (n points sur la droite) sont choisis. À chaque choix correspond un individu i: 1 fi: 70 2 50 0 3 12 25 6 8 5 4 10 5 30 50 7 3 6 20 7 6 75 1 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 8 15 100 4 2 20 Algorithmes génétiques MISE EN ŒUVRE Mise en œuvre de la sélection proportionnelle Problèmes: - variance élevée - dérive génétique (en cas de petite population) Méthosde SUS (Stochastic Universal Selection) la droite est partionnée en n zones de taille égale on choisit aléatoirement un offset à chaque point de « partage » correspond un individu offset 6 8 5 7 3 1 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 4 2 21 Algorithmes génétiques MISE EN ŒUVRE 5. Convergence (Arrêt du processus) De générations en générations la fonction d’adaptation du meilleur chromosome et la moyenne de l’ensemble de la population vont évoluer et tendre vers l’optimum (global). La convergence est l’augmentation progressive vers de l’uniformité. Un gène a convergé quand 95% de la population possède la même valeur du gène. La population a convergé quand tous les gènes ont convergé. A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 22 Algorithmes génétiques MISE EN ŒUVRE Convergence 2 exemples de courbes illustrant la convergence d’un AG (sur deux exécutions différentes) A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 23 Algorithmes génétiques Aspects théoriques Théorie des schémas (schèmes) Dans le cas du codage binaire, un schéma est une chaîne dans laquelle la valeur des gènes sur certaines positions est imposée (à 1 ou 0) et sur d’autres positions la valeur des gènes est égale au caractère « # » signifiant « caractère quelconque ». Ainsi les gènes d’un schéma ont des valeurs appartenant à l’alphabet : A={1,0,#}. Deux exemples de schémas de longueur 7: H1 :1###1#1 et H2 : ##10#11. A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 24 Algorithmes génétiques Aspects théoriques Théorie des schémas On dit qu’une chaîne binaire contient un schéma s’il y a une correspondance exacte entre les valeurs des gènes de la chaîne et celles des valeurs imposées du schéma : la chaîne peut être obtenue à partir du schéma en remplaçant les caractères « # » par les caractères appropriés. Exemple: le chromosome 1010111 contient les deux schémas précédents (H1 :1###1#1 et H2 : ##10#11 ) le chromosome 1000101 contient le premier schéma mais pas le deuxième. A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 25 Algorithmes génétiques Aspects théoriques Théorie des schémas L’ordre o(H) d’un schéma H est le nombre de valeurs « imposées » dans le schéma, et la longueur de définition d(H) du schéma est la distance entre les deux positions imposées les plus extrêmes. Exemple: H1 :1###1#1 et H2 : ##10#11 o(H1) = 3 d(H1) = 6. o(H2) = 4 d(H2) = 4. A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 26 Algorithmes génétiques Aspects théoriques Représentation graphique Exemple: Chromosomes de taille 3 • les points sont les schémas d’ordre 3 Plan *1* • les droites sont les schémas d’ordre 2 110 111 • tout l’espace est couvert par le schéma « ### » d’ordre 0. 011 010 • les plans sont les schémas d’ordre 1 100 101 000 001 Ligne 00* A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 27 Algorithmes génétiques Aspects théoriques Exemple: Chromosomes de taille 4 0110 0111 1110 1011 1100 0000 • le cube interne est représenté par le schéma « 1### » 0011 1010 1000 • les points du cube externe sont préfixés par 0 1111 0010 • le cube externe est représenté par le schéma « 0### ». 1101 0101 1001 • les codes des points du cube interne sont préfixés par 1. • le schéma « 00## » d’ordre 2 représente les points du plan avant du cube externe. 0001 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 28 Algorithmes génétiques Aspects théoriques On montre que: le nombre de représentants d’un schéma ayant une fitness supérieure à la fitness moyenne, une longueur de définition et un ordre faibles, va croître exponentiellement de générations en générations. m(H,t +1)≥ m(H,t)f(H,t) d(H) (1− pc )(1− pm)o(H) L −1 f Ce type de schémas sont nommés les blocs de construction (en anglais building blocs) A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 29 Algorithmes génétiques Aspects théoriques Théorie des schémas tous les schémas ne sont pas équivalents les meilleurs individus ont les meilleurs schémas le nombre de sélections espérées d ’un individu est proportionnel à son adaptation les meilleurs individus contribuent plus avec leurs gènes pour les nouvelles générations ⇒ accroissement de la probabilité de trouver les meilleures solutions Parallélisme implicite : nombre de schémas manipulés dans chaque génération: n3 avec n = taille de la population A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 30 Algorithmes génétiques Aspects théoriques Avec un codage de longueur L, un chromosome appartient à 2L-1 différents hyperplans 3L-1 parties d’hyperplans peuvent être définies (l’espace entier défini par le schéma composé uniquement de « # » n’étant pas pris en compte). On peut ainsi comprendre pourquoi la notion de recherche basée sur une population de chromosomes est fondamentale dans les AGs. une population d’échantillons va fournir une information sur un grand nombre d’hyperplans. un hyperplan défini par un schéma ayant un ordre peu élevé sera échantillonné par un nombre important de points (ou d’individus) dans la population. A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 31 Algorithmes génétiques Aspects théoriques Exploration et exploitation exploration : permet de « scruter » les zones inconnues de l ’espace de recherche → Méthodes purement stochastiques exploitation : permet la réutilisation des connaissances acquises aux points précédemment visités → Méthodes purement déterministes GAs combinent exploration et exploitation (Golberg) sous 3 hypothèses: - population infinie - pas d’interaction entre les gènes - la fonction d ’adaptation reflète la validité de la solution A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 32 Algorithmes génétiques Fonction d ’adaptation associe à chaque chromosome une valeur d ’adaptation utilisée pour déterminer la « probabilité » de sélection du chromosome Cas idéal : fonction lisse et régulière ⇒ les chromosomes proches ont des valeurs proches peu de minima locaux et un minimum global isolé reflète la valeur réelle du chromosome A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 33 Algorithmes génétiques Fonction d ’adaptation Problèmes: très complexe : chercher une approximation certaines solutions ne sont pas valides pénaliser les solutions non valides avantager les solutions valides convergence prématurée ou convergence lente pression forte dans la sélection Recherche naïve Ajustement de la fonction d’adaptation A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 34 Algorithmes génétiques Fonction d ’adaptation Ajustement linéaire: f i = aoi + b Les coefficients a et b peuvent être choisis par plusieurs moyens. Par exemple, ils peuvent être calculés à partir des valeurs omin, omax et omoy de la manière suivante : Cmult −1 a = omoy omax − omoy b = omoy omax − f max omax − omoy où fmax = Cmultomoy et Cmult est le nombre désiré de copies prévues pour le meilleur membre de la population. A noter que les valeurs omin, omax et omoy sont calculées sur la population courante. A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 35 Algorithmes génétiques Fonction d ’adaptation Ajustement linéaire A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 36 Algorithmes génétiques Fonction d ’adaptation Ajustement exponentiel fi =(oi )n(k) où k est la génération courante. Pour n(k) proche de zéro, on réduit fortement les écarts de fitness. Aucun individu n’est favorisé et l’algorithme effectue une recherche aléatoire. Pour n(k) proche de 1, l’ajustement est sans effet. Pour n(k)>1, les écarts sont amplifiés favorisant la sélection des meilleurs individus. Dans la pratique, on fait varier n(k) des valeurs faibles vers les valeurs fortes. L’expression de n() peut ainsi dépendre du problème et de l’effet que l’on souhaite avoir A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 37 Algorithmes génétiques Codage des chromosomes codage binaire : le plus général Inconvénients: taille des chromosomes proximité des chromosomes → code de Gray Validité des solutions codage par valeurs entières : Usages : problèmes d ’ordonnancement problèmes combinatoires Problème: Mise en œuvre des opérateurs de reproduction A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 38 Algorithmes génétiques codages par valeurs (le gène est une valeur directement liée au problème – Algorithmes évolutionnaires) valeurs entières ou réelles chaînes de caractères Opérateurs de reproduction plus généraux Arithmétique probabiliste A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 39 Algorithmes génétiques Différents types de codage chromosome A 1 8 12 3 2 4 9 10 6 7 5 11 4 5 6 11 3 12 9 1 8 chromosome B 2 10 7 chromosome A 1.2324 5.3542 2.4553 4.5247 chromosome A A R E C A A G B E F H J chromosome A BACK BACK RIGHT A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA LEFT 40 Algorithmes génétiques Sélection permet le choix des parents pour la formation de la future génération formation du « mating pool » théorème des schémas ⇒ le nombre espéré de sélections d’un individu doit être proportionnel à la fitness Problèmes: pression forte :liée à la présence d ’un «super» individu dans la population dérive génétique : liée au caractère stochastique des AGs A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 41 Algorithmes génétiques Différentes méthodes de sélection RWS - SUS Ajustement dynamique de la fonction d’adaptation Méthode par rang les individus sont triés en fonction de leur fitness la nouvelle valeur de fitness correspond au rang de l ’individu application du RWS ou du SUS Transformation affine de la fonction d ’adaptation la valeur de la fonction d ’adaptation est soustraite par une valeur fixe en évitant les valeurs négatives application du RWS ou du SUS A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 42 Algorithmes génétiques Différentes méthodes de sélection Méthodes par tournois un tournoi est organisé entre deux (ou plus) individus le meilleur sera introduit dans le mating pool une variante consiste à introduire une probabilité p sur la victoire du meilleur dans le cas de tournoi binaire. Une valeur peu élevée de p peut réduire la pression de la sélection Méthodes élitistes les meilleurs individus sont systématiquement conservés dans la prochaine génération les plus mauvais individus sont éliminés A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 43 Algorithmes génétiques Croisement (reproduction-exploitation) opérateur essentiel des AG permet de produire deux enfants à partir des gènes de deux parents Codage binaire Croisement un point Croisement 2 points 2 points sont choisis aléatoirement les zones ainsi délimitées sont échangées entre les parents A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 44 Algorithmes génétiques Croisement 2 points parent A 1 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 0 0 1 1 parent B 1 0 enfant A 1 0 enfant B 1 0 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 45 Algorithmes génétiques Croisement Croisement uniforme choix d’un masque de la taille du chromosome les enfants sont formés en fonction du masque parent A 1 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 0 0 1 1 parent B 1 0 enfant A 1 0 enfant B 1 0 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 46 Algorithmes génétiques Croisement Croisement logique parent A 1 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 0 1 0 1 1 0 1 1 1 1 1 parent B 1 0 enfant A (AND) 1 0 0 enfant B (OR) 1 0 1 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 47 Algorithmes génétiques Croisement Croisement sans « doublon » chromosome A 1 8 12 3 2 4 9 10 6 7 5 11 7 4 5 6 11 3 12 9 1 8 7 4 5 34 9 8 6 12 1 11 12 3 2 6 11 4 7 9 5 10 chromosome B 2 10 enfant A 2 10 enfant B 1 8 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 48 Algorithmes génétiques Dans le cas du codage réel, un croisement barycentrique peut être utilisé. Deux enfants E1 et E2 sont crées à partir de deux parents P1 et P2 de la manière suivante : E1 =αP1 +(1−α)P2 E2 =(1−α)P1 +αP2 où α est un coefficient de pondération aléatoire adapté au domaine d’extension des gènes Problème: Les enfants sont dans l’hyperplan contenant les deux parents Souvent combiner avec un autre opérateur de croisement A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 49 Algorithmes génétiques Mutation (exploration) produit un enfant à partir d’un parent (!!!! peut avoir un effet négatif sur un chromosome proche de l’optimum) Taux faible en général Taux avec une fonction de décroissance Mutation 1 point Mutation 2 points chromosome A 1 8 12 3 2 4 9 10 6 7 5 11 2 4 9 3 6 7 5 11 chromosome A’ 1 8 12 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 10 50 Algorithmes génétiques A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 51 Algorithmes génétiques Mutation (exploration) Cas du codage réel modifier un gène en lui ajoutant un bruit De manière aléatoire Selon une loi de probabilité 1.2324 5.3542 2.4553 4.5247 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 52 Algorithmes génétiques Différentes stratégies: AG simples AG cellulaires On définit un système de voisinage sur les chromosomes Le croisement s’applique uniquement entre les chromosomes voisins deux à deux Une stratégie de sélection est à définir A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 53 Algorithmes génétiques Différentes stratégies Méthode des îlots La population est divisée en îlots Les AG sont appliqués indépendamment dans chaque îlot pendant un nombre de générations fixé à l’avance On mélange les individus puis on recompose les îlots Le processus est réitéré jusqu’à convergence A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 54 Applications des AG Programmation génétique Optimisation numérique Optimisation combinatoire Analyse d’images Reconnaissance de formes Apprentissage système de classifieurs réseaux de neurones A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 55 Applications des AG Optimisation numérique Chercher le maximum de la fonction f(x)=10x2-20 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 56 Applications des AG Optimisation combinatoire: Le voyageur de commerce n villes à visiter minimiser la distance parcourue chromosome B chromosome A 6 1 7 2 4 1 5 3 3 6 2 1 5 4 7 2 2 1 4 4 3 3 5 7 7 5 6 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 6 57 Algorithmes génétiques Problème du voyageur de commerce chromosome A 6 Croisement 1 7 2 4 5 3 enfant A 6 7 2 1 5 4 3 7 2 4 5 1 chromosome B 3 6 2 1 5 4 7 enfant B 3 Mutation 1 7 4 3 2 6 6 5 A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 58 Applications des AG A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 59 Applications des AG A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 60 Applications des AG A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 61 Applications des AG Reconnaissance de formes dans une image Droites Cercles Ellipses A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 62 Algorithmes génétiques Problème:Trouver tous les cercles dans une image A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 63 Algorithmes génétiques Recherche des contours (gradient) A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 64 Applications des AG Extraction de primitives géométriques (cercle: 3 points) Croisement A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 65 Applications des AG A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 66 Applications des AG A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 67 Applications des AG Reconstruction de surfaces par lumière structurée (A. Dipanda et al., Pattern Recognition 36(9) 2003) A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 68 Applications des AG Reconstruction de surfaces par lumière structurée Pb: Mise en correspondance segments-points Segments-points Points 3D reconstruits A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 69 Applications des AG Reconstruction de surfaces par lumière structurée Croisement 8 9 2 6 4 5 3 1 7 8 9 2 6 4 5 3 1 7 Mutation 8 9 2 6 4 5 3 1 7 8 9 1 6 4 5 3 2 7 chosen gene 8 9 2 6 5 3 4 1 7 chosen gene A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 70 Applications des AG Reconstruction de surfaces par lumière structurée A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 71 Apprentissage automatique avec les AGs Système de classifieurs Un système de classifieurs est composé de quatre parties : Une base de classifieurs représentant les connaissances du système. Une interface d’entrée composée de capteurs. Une interface de sortie composée d’effecteurs. Une liste de messages. Deux algorithmes principaux gèrent les classifieurs : Un algorithme de répartition de crédits distribuant des récompenses aux classifieurs efficaces et pénalisant les inefficaces. Un algorithme génétique permettant l’évolution de la base de classifieurs. A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 72 Apprentissage automatique avec les AGs Système de classifieurs Un classifieur a la forme suivante: <classifieur>:=<condition>:<message> <condition>::={0,1,#}l (# wildcard) <message>::={0,1}l une condition est alertée par un message si à chaque position il y a égalité entre la condition et le message (0-0, 1-1, ?-#) une condition alertée devient candidate à l’envoi de message la décision d’envoi dépend des enchères qui sont fonction du poids du classifieur A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 73 Apprentissage automatique avec les AGs Schéma d ’un système de classifieur Environnement information récompenses Détecteurs 0 1 1 Liste des messages 101 110 001 011 effecteurs 1 0 1 action Liste de classifieurs 10#:100 0##:011 1#0:010 Répartition des crédits Algorithmes génétiques A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 74 Apprentissage automatique avec les AGs Exemple de classifieurs 1. 2. 3. 4. 5. 01##:0000 1##0:1001 00##:0110 ##11:1101 #11#:1100 Message: 0 1 1 1 Problème: Comment choisir le classifieur qui va envoyer le message Algorithme de répartition des crédits «bucket brigade» A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 75 Apprentissage automatique avec les AGs Algorithme de répartition des crédits «bucket brigade » basé sur deux notions: la vente aux enchères une chambre de compensation chaque classifieur a une valeur (force) une enchère d’un classifieur est proportionnelle à sa force un classifieur peut recevoir une récompense de l ’environnement du fait de ses messages antérieurs un classifieur gagnant effectue un paiement à la chambre de compensation A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 76 Apprentissage automatique avec les AGs Les AGs vont permettre de créer de nouveaux classifieurs chromosome = classifieur fitness = force définition d’une méthode de sélection définition des opérateurs de reproduction (croisement et mutation) A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 77 Apprentissage automatique avec les AGs Exemple du multiplexeur a0 Classifieurs initiaux a1 ###000:[0] ###100:[1] ##0#01:[0] ##1#01:[0] #1##01:[1] 1####0:[1] 000#11:[1] ######:[0] d0 s d1 d2 d3 Récompense au classifieur si le résultat est correct et pénalité sinon A. DIPANDA - Cours algorithmes génétiques - M2 BDIA/IIA 78