Soutenance du stage de DEA. 1 Université de Nice - Sophia Antipolis 03 Juillet 2000 Etude de l'influence de la neutralité sur la dynamique des Algorithmes Génétiques Francis BONNIN Soutenance du stage de DEA. Encadreurs : Philippe Collard & Manuel Clergue
1. Introduction Algos génétiques : inspirés de la nature 2 Université de Nice - Sophia Antipolis 03 Juillet 2000 1. Introduction 1. Introduction Algos génétiques : inspirés de la nature Algos génétiques : technique d’optimisation Théorie biologique : la neutralité (dérive aléatoire > pression sélective) Objectif : étudier l’influence de la neutralité intrinsèque sur la dynamique d’un AG.
2. Etat de l’art 2.1 Algorithmes génétiques 3 Université de Nice - Sophia Antipolis 03 Juillet 2000 2. Etat de l’art 2. Etat de l’art 2.1 Algorithmes génétiques Phénotype Génotype Fitness valeur d’adaptation : sélection des individus Action d’opérateurs génétiques
Population : ensemble d’individus générations : 4 Université de Nice - Sophia Antipolis 03 Juillet 2000 2.1. Algorithmes génétiques Population : ensemble d’individus générations : Critère d’arrêt : qualité des solutions, nombre de générations, individus identiques, ... Evaluation des solutions Décodage des solutions Sélection des individus Croisement et mutation
2.2 Concept de neutralité Points d’iso-fitness réseaux de neutralité 5 Université de Nice - Sophia Antipolis 03 Juillet 2000 2.2. Concept de neutralité 2.2 Concept de neutralité Points d’iso-fitness réseaux de neutralité création de diversité un nouvel opérateur : l’opérateur neutre avantage de la mutation sans les inconvénients difficulté : trouver l’opérateur pour une neutralité intrinsèque L’opérateur neutre est un moyen d’utiliser de la connaissance.
3. Présentation du travail 3.1 Méthodologie de travail 6 Université de Nice - Sophia Antipolis 03 Juillet 2000 3. Présentation du travail 3. Présentation du travail 3.1 Méthodologie de travail Documentation sur l’état de l’art valider des hypothèses (ou observer un comportement à l’aide de simulations programmation en C. Utilisation de la librairie SUGAL étude de la neutralité de divers problèmes tests volumineux car les AG sont non déterministes
3.2 La neutralité sur un exemple 7 Université de Nice - Sophia Antipolis 03 Juillet 2000 3.2 La neutralité sur un exemple 3.2 La neutralité sur un exemple But : trouver un problème contenant une neutralité intrinsèque adapter le problème à l’AG trouver un opérateur neutre efficace trouver un opérateur de croisement adapté Etude du problème du TSP concentrique :
pb : croisement mal adapté changement d’op de croisement. 8 Université de Nice - Sophia Antipolis 03 Juillet 2000 3.2 La neutralité sur un exemple tests Mauvais résultats : pb : croisement mal adapté changement d’op de croisement. PMX croisement glouton L’opérateur de symétrie dégrade les performances : pb : mauvaise implémentation. Ajout d’une inversion. (adéquation entre le croisement et l’op neutre) Bons résultats. Amélioration grâce à l’op neutre tests tests
4. Travaux réalisés Etude de fonctions simples : Unitation Alternation 9 Université de Nice - Sophia Antipolis 03 Juillet 2000 4. Travaux réalisés 4. Travaux réalisés Etude de fonctions simples : Unitation Alternation Etude du rôle du croisement dans la neutralité Etude de classes de fonctions paramétrées par le degré de neutralité Fonctions d’Unitation Neutres Fonctions d’Alternation Neutres Etude de fonctions plus complexes : problème du TSP concentrique problème des rectangles chromatiques
10 Université de Nice - Sophia Antipolis 03 Juillet 2000 4.1 Fonction d’Unitation 4.1 Fonction d’Unitation Les chromosomes 0100110 et 1110000 ont même fitness croisement classique à un site opérateurs neutres : permutation et inversion 1 Après Inversion Chromosome d’origine Après Permutation 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 50 100 150 200 Fitness Generation Fonction d'unitation (Inversion+Mutation): Fitness Max Taux = 0.00 Taux = 0.02 Taux = 0.08 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 50 100 150 200 Entropie Generation Fonction d'unitation (Inversion+Mutation) : Diversite Genotypique Taux = 0.00 Taux = 0.02 Taux = 0.08 Taux = 0.50 Taux = 1.00 Taux = 0.50 Taux = 1.00
4.2 Fonction d’Alternation 11 Université de Nice - Sophia Antipolis 03 Juillet 2000 4.1 Fonction d’Alternation 4.2 Fonction d’Alternation Les chromosomes 0100110 et 0010100 ont même fitness Plus difficile : Croisement identique. Opérateur neutre identique : utilisation d’un mapping pour passer de l’Alternation vers l’Unitation épistasie solutions de fitness voisines très différentes (000010101 et 000001010)
Plus le taux d’inversion est élevé, plus la diversité est élevée 12 Université de Nice - Sophia Antipolis 03 Juillet 2000 4.1 Fonction d’Alternation Plus le taux d’inversion est élevé, plus la diversité est élevée Sans l’opérateur neutre, l’AG converge vers un minimum local
4.3 Rôle du croisement dans la neutralité 13 Université de Nice - Sophia Antipolis 03 Juillet 2000 4.3 Rôle du croisement dans la neutralité 4.3 Rôle du croisement dans la neutralité La neutralité n’apporte aucune nouvelle solution Le croisement en crée grâce à des recombinaisons Tests sur l’unitation en faisant varier le taux de croisement :
Distribution des réseaux de neutralité 14 Université de Nice - Sophia Antipolis 03 Juillet 2000 4.4 Fonctions d’Unitation neutres 4.4 Fonctions d’Unitation neutres Les deltai sont calculés en fonction d’une probabilité p si p=0 : unitation (distribution binomiale) si p=1 : tous les chromosomes ont une fitness différente Distribution des réseaux de neutralité
Opérateur neutre de l’unitation modifié. 15 Université de Nice - Sophia Antipolis 03 Juillet 2000 4.4 Fonctions d’Unitation neutres Opérateur neutre de l’unitation modifié. Tests pour différentes valeurs de p : Plus p est petit plus l’AG converge rapidement Il vaut mieux avoir de gros réseaux que de petits réseaux.
4.5 Fonctions d’Alternation neutres 16 Université de Nice - Sophia Antipolis 03 Juillet 2000 4.5 Fonctions d’Alternation neutres 4.5 Fonctions d’Alternation neutres Opérateur neutre du même type que l’Unitation neutre.
4.6 problème du TSP concentrique 17 Université de Nice - Sophia Antipolis 03 Juillet 2000 4.6 problème du TSP concentrique 4.6 problème du TSP concentrique NP-complet problème de minimisation codage sur les entiers opérateur neutre de symétrie croisement glouton Croisement des courbes
4.7 problème des rectangles chromatiques 18 Université de Nice - Sophia Antipolis 03 Juillet 2000 4.7 problème des rectangles chromatiques 4.7 problème des rectangles chromatiques But : minimiser le nombre de rectangles ayant les 4 coins de la même couleur 1 1 1 2 2 0 2 2 0 1 0 0 1 1 2 2 2 2 1 1 2 0 1 0 2 grille avec 0 conflit 0 2 2 2 1 1 2 2 1 2 0 0 1 2 2 1 1 0 2 0 2 1 2 1 0 grille avec 1 conflit Problème étudié : un tableau de taille 10*10 avec 3 couleurs codage sur les symboles, ligne après ligne. Opérateur neutre : permutations de lignes Croisement : coupure horisontale du tableau 2 2 1 1 2 0 1 1 0 0 1 1 0 0 2 2 2 1 0 2 0 0 1 2 0 1 2 2 1 1 0 2 0 2 1 2 0 1 1 0 2 1 2 2 1 1 1 0 0 2 1 0 2 0 2 2 1 2 1 0 Echec des tests ... 0 2 2 0 1 0 2 1 2 1 1 2 0 1 0 1 0 2 2 2 1 0 0 2 2 0 1 0 2 1 2 1 1 0 0 2 0 0 2 1 Opérateur neutre augmenté par la connaissance Croisement : coupure d ’un coin du tableau 7 conflits Inachevé ...
5. Conclusion Bonne combinaison d’op neutre et de croisement 19 Université de Nice - Sophia Antipolis 03 Juillet 2000 5. Conclusion 5. Conclusion Bonne combinaison d’op neutre et de croisement Gains en vitesse de convergence ou en qualité des solutions trouvées Difficulté de trouver ces opérateurs opérateur neutre = utilisation de la connaissance sur le problème nécessaire pour être compétitif utilité pratique de l’opérateur neutre. Perspectives : Tests sur des applications plus réalistes Etude plus approfondie sur le concept même de neutralité