: apprentissage coopératif pour le problème du voyageur de commerce Alexandre Bargeton Benjamin Devèze Université Pierre et Marie Curie Présentation du projet ANIMAT
1 Comportements collectifs des insectes sociaux Auto-organisation et comportement Optimisation naturelle 2 Résolution Historique 3 Les algorithmes Résultats 4 Autres applications Retombées scientifiques
Auto-organisation et comportement Optimisation naturelle Comportements collectifs des insectes sociaux
Auto-organisation (1/4) Auto-organisation et comportement Optimisation naturelle Définition L auto-organisation est un processus dans lequel un modèle de niveau global émerge uniquement d un grand nombre d interactions entre les composants de bas niveau du système. De plus, les règles spécifiant les intéractions entre composants du système sont suivies en utilisant uniquement des informations locales, sans référence au modèle global.
Auto-organisation (2/4) Auto-organisation et comportement Optimisation naturelle Modèle Arrangement organisé d objets dans l espace ou le temps. Emerger Caractéristique d un système qui apparaît à l imprévu de par les interactions entre les composants de ce système.
Auto-organisation (3/4) Auto-organisation et comportement Optimisation naturelle
Auto-organisation (4/4) Auto-organisation et comportement Optimisation naturelle Problématique Comment les composants d un système intéragissent entre eux pour produire un modèle complexe? Solution Rétroactions Positives : renforcement de l action Négatives (stabilisateur du système) Communication (transfert d information entre individus) Signaux / Indices Direct / Indirect
Stigmergie Comportements collectifs des insectes sociaux Auto-organisation et comportement Optimisation naturelle Définition 1 Forme de communication passant par le biais de modifications de l environnement. Définition 2 Intéractions sociales indirectes Intérêt Les individus échangent des informations par le biais du travail en cours, de l état d avancement de la tâche globale à accomplir.
Contrôle décentralisé Auto-organisation et comportement Optimisation naturelle Décentralisé? Pas de prise de décision à un niveau donné Pas de suivi d ordres Pas d actions pré-déterminées Vision locale de l environnement par un individu Pas de connaissance du problème dans son ensemble Avantages Robustesse (fonctionne encore après la panne d une de leurs parties) Flexibilité (efficace sur des problèmes dynamiques)
Hétérarchie dense Auto-organisation et comportement Optimisation naturelle Hétérarchie Systèmes où les propriétés des niveaux globaux agissent plus ou moins sur les propriétés des niveaux locaux ET où une activité dans les unités locales influence en retour les niveaux globaux. Hétérarchie dense Hétérarchie où chaque individus peut échanger des informations avec n importe quel autre.
Hiérarchie vs Hétérarchie dense Auto-organisation et comportement Optimisation naturelle
Optimisation naturelle Auto-organisation et comportement Optimisation naturelle Constatation Les insectes sociaux, et les colonies de fourmis en particulier, résolvent naturellement des problèmes relativement complexes. Etudes biologiques Comment les fourmis arrivent à résoudre collectivement des problèmes trop complexes pour un seul individu.
Problèmes complexes Auto-organisation et comportement Optimisation naturelle
Pistes de phéromones Auto-organisation et comportement Optimisation naturelle Stigmergie Dépot de phéromones (molécules volatiles) au sol pour former des pistes odorantes qui pourront être suivies par les autres fourmis.
Chemin le plus court Auto-organisation et comportement Optimisation naturelle Stigmergie Une colonie est capable de choisir le plus court chemin sans que les individus aient une vision globale du trajet.
Auto-organisation et comportement Optimisation naturelle Chemin le plus court - Un système dynamique
Résolution Historique
Définition Comportements collectifs des insectes sociaux Résolution Historique Définition 1 Un représentant doit visiter n villes. Le représentant souhaite faire une tournée en visitant chaque ville au moins et exactement 1 fois et en terminant à sa ville de départ. Définition 2 Trouver le cycle hamiltonien le plus court dans un graphe complet.
De l optimiation difficile Résolution Historique Théorème est NP-Complet Explosion combinatoire n villes n! possibilités Résolution Utilisation d heuristiques spécifiques au problème produisant des solutions proches de l optimum Utilisation de métaheuristiques
Symetrique vs Asymétrique Résolution Historique Symétrique (TSP) Tous les chemins sont tel que d ij = d ji Asymétrique (ATSP) Au moins un chemin est tel que d ij d ji
Bibliothèques d exemples Résolution Historique TSPLIB Des centaines d exemples D une dizaines de villes, à plusieurs dizaines de milliers Donne les meilleurs solutions connues à ce jour Différents type (TSP, ATSP, Sequential ordering problem - SOP, Capacited vehicle rounting proble - CVRP,...) Gatech - Traveling Salesman Problem Des exemples sur des problèmes géographiques D une dizaines de villes, à plusieurs dizaines de milliers Donne les meilleurs solutions connues à ce jour
Quelques algorithmes (1/2) Résolution Historique Heuritistiques Concorde (jusqu à 15 112 villes) Lin-Kernighan heuristic (LKH) Algorithmes basés sur la théorie des graphes (arbres couvrants minimaux,...) Basées sur branch and bound Plus proches voisins Insertion construction heuristic (nearest, cheapest,...) Quick-Boruvka Réseaux de neurones (SOM, Elastic Network,...)...
Quelques algorithmes (2/2) Résolution Historique Métaheuritistique - Recherche locale Méthode de descente Recuit simulé, grand déluge, record en record Recherche tabou Métaheuritistique - Populations Algorithmes évolutionnaires, algorithmes génétiques Colonies de fourmis
Historique Comportements collectifs des insectes sociaux Résolution Historique 1954 : 49 villes 1971 : 64 villes 1975 : 67 villes 1977 : 120 villes 1980 : 318 villes 1987 : 532 villes 1987 : 666 villes 1987 : 2392 villes 1994 : 7397 villes 1998 : 13509 villes 2001 : 15112 villes 2004 : 24978 villes
Résolution Historique Aujourd hui - La suède 24 978 villes
Résolution Historique Demain - Le monde 1 504 711 villes
Les algorithmes Résultats et le problème du voyageur de commerce
Idée générale Les algorithmes Résultats 1 : Au début, tous les chemins sont explorés (dépot de pistes de phéromones).
Idée générale Les algorithmes Résultats 2 : Le chemin le plus court est plus renforcé en phéromones que les autres
Idée générale Les algorithmes Résultats 3 : L évaporation des phéromones permet d éliminer les moins bonnes solutions
Ant System (AS) Les algorithmes Résultats Algorithme AS 1 : Chaque fourmi k parcourt le graphe et construit un trajet complet. Le choix de passer de la ville i à la ville j est définie par la probabilité [τ(i,j)].[η(i,j)] β si j J k (i) p k (i,j) = Pl J k (i) [τ(i,l)].[η(i,l)]β (1) 0 sinon avec η(i,l) = 1 d il
Ant System (AS) Les algorithmes Résultats Algorithme AS - Intensification 2 : Chaque fourmi k dépose une quantité de phéromone le long de son parcours qui dépend de la qualité de celui-ci { 1 τ k (i,j) = L k si (i,j) circuit effectué par la fourmi k 0 sinon (2)
Ant System (AS) Les algorithmes Résultats Algorithme AS - Diversification 3 : Pour éviter d être piégé dans des solutions sous optimales, un processus d oublie / d évaporation des phéromones a lieu τ(i,j) = (1 α).τ(i,j) + k τ k (i,j) (3)
Ant System and elitism Les algorithmes Résultats Elitisme Dans cette variante d AS, la meilleure fourmi dépose une quantité de phéromone plus importante que ses congénères. Le but est d accroître la probabilité des autres fourmis d explorer la solution la plus prometteuse.
Max-Min Ant System (MMAS) Les algorithmes Résultats MMAS Variante de l algorithme AS. Seule la meilleure fourmi met à jour une piste de phéromone Les valeurs des pistes sont bornées par τ min et τ max Les pistes sont initialisées à la valeur maximale τ max La mise à jour des pistes se fait de façon proportionnelle, les pistes les plus fortes étant moins renforcées que les plus faibles
Ant Colony System (ACS) Les algorithmes Résultats ACS - Choix du parcours 1 : Chaque fourmi k parcourt le graphe et construit un trajet complet. Le choix de passer de la ville i à la ville j est définie par { argmax j = z Jk (i)([τ(i,z)].[η(i,z)] β ) si q q 0 (intensification) S sinon (diversification) (4) avec q un nombre aléatoire sur [0..1], q 0 un paramètre et S une ville sélectionnée selon la même probablité que dans AS [τ(i,j)].[η(i,j)] β si j J k (i) p k (i,j) = Pl J k (i) [τ(i,l)].[η(i,l)]β (5) 0 sinon
Ant Colony System (ACS) Les algorithmes Résultats ACS - Mise à jour locale 2 : Chaque fourmi k dépose une quantité de phéromone le long de son parcours τ(i,j) = (1 ρ).τ(i,j) + ρ.τ 0 (6) avec τ 0 la valeur initiale de la piste. A chaque passage la piste voit donc sa quantité de phéromone diminuer (diversification).
Ant Colony System (ACS) Les algorithmes Résultats ACS - Mise à jour global 2 : La meilleur fourmi globale (i.e. depuis le début de l exploration) dépose une quantité de phéromone le long de son parcours qui dépend de la qualité de celui-ci τ(i,j) = (1 α).τ(i,j) + α. τ(i,j) (7) avec τ(i,j) = (L gb ) 1 Seule la meilleur piste est mise à jour, ce qui participe à une intensification.
ACS with Q-learning (Ant-Q) Les algorithmes Résultats Ant-Q Dans cette variante d ACS, la règle de mise à jour locale est inspirée du Q-Learning. τ(i,j) = (1 ρ).τ(i,j) + ρ. τ(i,j) (8) avec τ(i,j) = γ.max z Jk (j)τ(j,z) Cette version est aussi performante qu ACS mais plus gourmande en temps de calcul.
Les algorithmes Résultats Ant Colony System et recherche locale (ACS-3opt) ACS-3opt Hybridation entre ACS et une recherche locale de type 3opt. La solution de chaque fourmi est améliorée par 3opt (et donc les ramène à l optimum local le plus proche).
ACS avec d autres améliorations Les algorithmes Résultats Améliorations Utilisation de liste de candidats (taille = 15) Utilisation de don t look bit Toutes les possibilités de 3-opt ne sont pas permises en ATSP Utilisation de liste de candidats dans 3opt Autres recherches locales (ex : Lin-Kernighan) Représentations mémoires avancés pour stocker les chemins des fourmis (Splay tree, Two level tree, Segment tree,...) Attention à l implémentation...
Choix des paramètres (ACS) Les algorithmes Résultats Paramètres τ 0 = (n.l nn ) 1 10 fourmis α = ρ = 0.1 β = 2 q 0 = 0.9
Implémentation Les algorithmes Résultats Ce que nous avons implémenté en C++ AS AS-Elitism MMAS ACS ACS-3opt Genetic Algorithm with Relative Order Crossover (ROX) GA with nearest neightbor initialization Simulated Annealing Iterative nearest neightbors 3opt
Interface Comportements collectifs des insectes sociaux Les algorithmes Résultats
Les algorithmes Résultats Comparaison des règles de mise à jour locale Name ACS ACS ( τ(r, s) = 0) ACS sans maj. locale Avg. Dev. Best Avg. Dev. Best Avg. Dev. Best dj89 6748,3 47,67 6656 6771,3 69,93 6658 6752,5 45.90 6663 d198 18299.2 457.16 17291 18691.3 453.33 17797 18740 603.40 17968
Les algorithmes Résultats Importance des phéromones et de l heuristique
TSP Comportements collectifs des insectes sociaux Les algorithmes Résultats Name AS AS-Elitism MMAS ACS ACS CL ACS3OPT ACS3OPT CL Opti dj98 6767 6714 6656 6656 6656 6656 6656 6656 1,668% 0,871% 0% 0% 0% 0% 0% d198 18418 17404 17737 17611 17294 16036 16432 15780 17,098% 10,292% 11,603% 11,603% 9,594% 1,622% 4,132% Name Genetic Genetic NNI INN 3OPT SA Opti dj98 6656 6656 6766 6656 6744 6656 0% 0% 1,653% 0% 14,844% d198 16542 16233 17620 16050 99693 15780 4,829% 2,871% 11,660% 1,7111% 531,768%
ATSP Comportements collectifs des insectes sociaux Les algorithmes Résultats Name AS AS-Elitism MMAS ACS ACS CL ACS3OPT Opti ft70 40375 39668 39958 40699 40912 38926 38673 4,401% 2,573% 3,323% 5,239% 5,790% 0,654% ftv170 6385 6121 5710 6881 6459 5791 2755 131,760% 122,178% 107,260% 149,764% 134,446% 110,200% Name Genetic Genetic NNI INN 3OPT SA Opti ft70 43423 40666 41815 40356 39457 38673 12,282% 5,153% 8,125% 4,352% 2,027% ftv170 8967 6947 7432 7275 7138 2755 225,481% 152,160% 169,764% 164,065% 159,093%
Autres applications Retombées scientifiques
Autres applications Retombées scientifiques Problèmes des tournées de véhicules TSP avec contraintes Capacité des véhicules Fenêtre de temps Précédences entre visites Temps de travail... Algorithme ACS - PPC Hybridation entre ACS et de la programmation par contrainte.
Autres applications Retombées scientifiques Problèmes des tournées de véhicules Visites suivantes possibles avant propagation des contraintes
Autres applications Retombées scientifiques Problèmes des tournées de véhicules Visites suivantes possibles après propagation des containtes
Autres applications Retombées scientifiques Problèmes des tournées de véhicules Choix de la ville suivante, et propagation des contraintes
Autres applications Retombées scientifiques Problèmes des tournées de véhicules Echec de la propagation backtracking
Autres applications discrètes Autres applications Retombées scientifiques Ant et contraintes Affectation quadratique Planification Ordonnancement séquentiel Routage sur réseau Coloriage de graphe Sac à dos multi-dimensionnel Reconstruction d arbres phylogénétiques IA de jeu d échecs (Drogoul 95)...
Autres applications Retombées scientifiques Continuous Ant Colony Algorithm - CACO Choix d une région : p i (t) = P [τ i(t)].[η i (t)] β j [τ j(t)].[η j (t)] β Déplacement dans une région : δr(t,r) = R.(1 u (1 t/t)c )
Adaptation dans le cas continu Autres applications Retombées scientifiques Ant et problèmes continus CACO (Bilchev 95, Wodrich 97, Mathur 00) A method for Solving Optimization Problems in Continuous Space Using Ant Colony Algorithm (Ling 04) méthode hybride fourmis + génétique CIAC - Continuous Interacting Ant Colony (Dréo 02) communication stigmergique + échanges directes API - Pachycondyla APIcalis (Monmarché 00) inspiré du compotement tandem-running (pas de communication stigmergique)...
Retombées scientifiques Autres applications Retombées scientifiques ACO - Ant Colony Optimization Application avec succès des ACO à de nombreux problèmes combinatoires. Appliqués à des problèmes continus. Application à des problèmes dynamique (ex : AntNet, routage réseau). Mémoire adaptative Grand engouement internationnal pour les ACO, conférence internationale (la 5ème en 2006) Communauté grandissante.
Ant prize Comportements collectifs des insectes sociaux Autres applications Retombées scientifiques
Bibliographie M. Dorigo and L.M. Gambardella Ant Colony System : A Cooperative Learning Approach to the Traveling Salesman Problem, IEEE Transaction on Evolutionary Computation, 1(1) :53-66 (1997) T. Stützle and H. Hoos Improvements on the Ant-System : Introducing the MAX-MIN Ant System, 1997 K. Helsgaun An effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic, European Journal of Operational Research 126(1), 106-130 (2000) M. Sevaux Métaheuristiques stratégies pour l optimisation de la production de biens et de services, Technical report, UVHC, 2004
Bibliographie S. Ando and H. Iba Ant algorithm for construction of evolutionary tree, IEEE Congress of Evolutionary Computation, p1552-1557, 2002 M.L. Fredman, D.S. Johnson, L.A. McGeoch and G. Ostheimer Data Strcutures for Traveling Salesmen, J. Algorithms, 18 :3 (1995), pp 432-479 D.S. Johnson and L.A. McGeoch The Traveling Salesman Problem : A case study in Local Optimization, Local Search in Combinatorial Optimization, E.H.L Aarts and J.K Lenstra (ditors), John Wiley and Sons, Ltd., 1997, pp. 215-310 P. Moscto On Genetic Crossover Operators for Relative Order Preservation, Caltech Concurrent Computation Program, Report C3P-778, (1989)
Bibliographie A. Drogoul When Ants Play Chess (Or Can Strategies Emerge from Tactical Behaviours?), From Reaction to Cognition, Fifth European Workshop on Modeling Autonomous Agents in a Multi-Agent World, pp 13-27, (1995) J. Dréo, A. Pétrowski, P. Siarry and E. Taillard Métaheuristiques pour l optimisation difficile, Eyrolles 2003
Des Questions?