Ant Colony Optimisation [email protected] 1/77 Plan ● Fourragement fourmis ● Algorithmes fourmis ● Ant Colony Optimisation appliqué au TSP ● Généralisation ACO ● Analyse de l'algorithme [email protected] 2/77 Fourragement ches les fourmis ● Mecanisme de recherche de nourriture chez fourmis [email protected] 3/77 Fourragement ches les fourmis [email protected] 4/77 Fourragement ches les fourmis [email protected] 5/77 Fourragement ches les fourmis ● Mecanisme de recherche de nourriture chez fourmis ● Quand on observe des fourmis ● ● Lignes de fourmis ● Suivent un chemin Comment ce chemin est il construit ? ● Question philosophe ● Touche à la notion d'emergence / holisme – Organe / corps [email protected] 6/77 Fourragement ches les fourmis ● Mecanisme de recherche de nourriture chez fourmis ● Quand on observe des fourmis ● Lignes de fourmis ● Suivent un chemin ● Comment ce chemin est il construit ? ● Experiences éthologie [email protected] 7/77 Double bridge experiment ● Deneubourg (1990) [email protected] 8/77 Résultats observés (Deneubourg) ● Une colonie de fourmis ● ● Chemins de taille identique Interpretation ? [email protected] 9/77 Résultats observés (Deneubourg) ● Une colonie de fourmis ● ● Chemins de taille identique Interpretation ? ● Brisure de symétrie ● Toutes les fourmis empruntent le meme chemin [email protected] 10/77 Résultats observés (Deneubourg) ● Une colonie de fourmis ● ● Chemins de tailles différentes Interpretation ? [email protected] 11/77 Résultats observés (Deneubourg) ● Une colonie de fourmis ● ● Chemins de tailles différentes Interpretation ? ● La colonie suit le chemin le plus court [email protected] 12/77 Avec une fourmi ● Quand on dispose une seule fourmi ● Elle suit de manière indifférenciée un chemin ● Que les chemins ont la meme taille ou non ● Ou se trouve l'intelligence ? ● Quell est la source de l'intelligence ? [email protected] 13/77 Avec une fourmi ● Quand on dispose une seule fourmi ● Elle suit de manière indifférenciée un chemin ● Que les chemins ont la meme taille ou non ● Ou se trouve l'intelligence ? ● Quell est la source de l'intelligence ? Une réponse Plutot que faire un système complexe Faire des individus simples en interaction [email protected] 14/77 Stigmergie ● Principe fondamental de coordination ● Origine Grasse[59] et termites ● Adaptent leur comportement ● Localement Theraulaz, construction de nids [email protected] 15/77 Stigmergie ● Principe fondamental de coordination ● Origine Grasse[59] et termites ● ● ● Adaptent leur comportement ● Localement Principe ● Environnement stocke mémoire du groupe ● Communication indirecte "le travail guide l'ouvrier" ==> solution complexité collective [email protected] 16/77 Stigmergie ● Communication indirecte environnement [email protected] 17/77 Stigmergie ● Communication indirecte environnement [email protected] 18/77 Stigmergie ● Communication indirecte environnement [email protected] 19/77 Stigmergie ● Communication indirecte environnement [email protected] 20/77 Stigmergie ● Communication indirecte environnement [email protected] 21/77 Stigmergie ● Communication indirecte environnement [email protected] 22/77 Stigmergie ● Communication indirecte environnement [email protected] 23/77 Fourragement fourmis ● Principe ● Fourmis déposent des phéromones – ● + mécanisme evaporation – ● Quand elles ramènent la nourriture Les phéromones se dissipent Boucle amplificatrice ● Certains chemins deviennent marqués ● Évaporation – Les chemins les plus courts deviennent les plus marqués ● Ils attirent le plus de fourmis ● Ces chemins deviennent plus marqués [email protected] 24/77 Fourragement fourmis ● Principe ● Fourmis déposent des phéromones – ● + mécanisme evaporation – ● Quand elles ramènent la nourriture Les phéromones se dissipent Boucle amplificatrice ● ● Certains chemins deviennent marqués Brisure de symétrie Évaporation – Les chemins les plus courts deviennent les plus marqués ● de petites différences Ils attirent leAmplification plus de fourmis ● Ces chemins deviennent plus marqués [email protected] 25/77 Plan ● Fourragement fourmis ● Algorithmes fourmis ● Ant Colony Optimisation appliqué au TSP ● Généralisation ACO ● Analyse de l'algorithme [email protected] 26/77 Algorithme fourmi ● Ant colony Optimisation Dorigo 1995 ● Principe ● ● Deplacer des fourmis virtuelles ● Créer des chemins Algorithme global ● Faire évoluer fourmis – ● Decisions en fonction des phéromones vues Retour des fourmis – Depot de phéromones [email protected] 27/77 Algorithme fourmi - décision ● Prise de décision ● ● A partir des phéromones Les chemins ● plus ou moins marqués τij [email protected] 28/77 Algorithme fourmi - décision ● Prise de décision ● ● Les chemins ● ● A partir des phéromones plus ou moins marqués τij Décision stochastique de la fourmi ● Suivre globalement plus marqué α p ij = β τij . ηij ∑ τ αil . ηβil l [email protected] 29/77 Algorithme fourmi - décision ● Prise de décision ● ● Les chemins ● ● A partir des phéromones plus ou moins marqués τij Décision stochastique de la fourmi ● Suivre globalement plus marqué τij . ηij + eventuellement Liste taboue ∑ τ αil . ηβil Pour éviter revenir α p ij = β l [email protected] 30/77 Algorithme fourmi - décision ● ● ● Pij Probabilité de suivre chemin ij Tauij Quantité de pheromone en ij Etaij Heuristique à ajouter ● ● p ij = α ij β ij τ .η ∑τ l α il β il .η Interet a priori de suivre chemin Beta et alpha Rapport heuristique / passé ● Exploration vs exploitation – – Alpha == 0 --> dépend que des heuristiques Beta == 0 --> dépend que des pheromones [email protected] 31/77 Algorithme fourmi – MaJ Phéromones ● ● ● Mise à jour phéromones ● A partir de la fonction objectif ● Évaporation τ ij =(1−ρ) τ ij +g (s) A partir de l'objectif ● Une fois le chemin terminé ● Ajout aux chemins parcouru d'une quantité g(s) ● Mises à jour prend différentes formes Evaporation ● Rho désigne taux évaporation [email protected] 32/77 Algorithme fourmi général Initialisation des pistes de phéromone ; Tant que critère d'arrêt non atteint : Déplacer les fourmis mise à jour des pistes de phéromone ; Fin de la boucle. [email protected] 33/77 Dilemne exploration/exploitation ● Principe ● Fourmis explorent continuellement – ● Elles exploitent avec phéromones – ● Decouverte de nouveaux chemins Raffinement des chemins Comment ? ● Collectivité permet exploration constante – ● Tout en exploitant Système dynamique capable de s'adapter [email protected] 34/77 Simulations algorithmes fourmis ● Regarder ● Plateforme madkit – ● Plateforme netlogo – – ● http://www.madkit.org/ http://ccl.northwestern.edu/netlogo/ http://ccl.northwestern.edu/netlogo/models/Ants Demonstration – http://ccl.northwestern.edu/netlogo/models/run.cgi?Ants.790.569 [email protected] 35/77 Plan ● Fourragement fourmis ● Algorithmes fourmis ● Ant Colony Optimisation appliqué au TSP ● Généralisation ACO ● Analyse de l'algorithme [email protected] 36/77 Algorithme fourmi et résolution de probleme ● ● Algorithme précédent ● Cherche plus court chemin ● Reproduit experiences biologiques Comment en faire un principe de résolution ? ● Exemple TSP [email protected] 37/77 Ant Colony Optimization ● ACO ● ● ACO webpage ● ● Ant Colony Optimisation (dorigo 1995) http://iridia.ulb.ac.be/~mdorigo/ACO/ Quasiment devenu un champ disciplinaire ● Conférence sur les algorithmes Fourmis, ● .... [email protected] 38/77 ACO et voyageur de commerce ● Principe global ● Faire évoluer des fourmis sur le graphe – – ● Quand une fourmi finit cycle – – ● prise de décision Liste taboue villes visitées Renforcer chemins parcourus Avec g(s)=1 / distance Résultats ● Parmi les meilleurs observés 1995 [email protected] 39/77 ACO et voyageur de commerce ● Question ● Quel est l'espace de recherche ? ● Quel est l'espace de déplacement des fourmis ? ● Comment généraliser le principe ? [email protected] 40/77 ACO et voyageur de commerce ● Question ● Quel est l'espace de recherche ? – On cherche une permutation ● Quel est l'espace de déplacement des fourmis ? ● Comment généraliser le principe ? [email protected] 41/77 ACO et voyageur de commerce ● Question ● Quel est l'espace de recherche ? – ● Quel est l'espace de déplacement des fourmis ? – – ● On cherche une permutation Pas dans l'espace des permutations Dans l'espace du graphe Comment généraliser le principe ? [email protected] 42/77 ACO et voyageur de commerce ● Question ● Quel est l'espace de recherche ? – ● Quel est l'espace de déplacement des fourmis ? – – ● On cherche une permutation Pas dans l'espace des permutations Dans l'espace du graphe Comment généraliser le principe ? – – Transforme un probleme statique en dynamique Construire un comportement qui génére une solution [email protected] 43/77 ACO – principe général ● fourmis construisent une solution de manière incrémentale ● A chaque instant, décision – choisissent variable definissant pb ● ● Ex: ville suivante Une fois une solution construite – Évaluent et mise à jour ● Ex : longueur du cycle [email protected] 44/77 ACO – construction dynamique ● ● ● Solution incrémentale ● Part de X0 ● Itération : Xi (u0,…,uj-1) --> Xi+1 (u0,…,uj-1,uj) ● Xi solution partielle de longueur i satisfiable Plusieurs choix possibles à chaque étape ● Pour chaque xi on définit U(xi) les actions possibles ● Vu comme un problème de décisions multiples Identique à problème de contrôle ● Trouver la commande a faire à chaque étape pour obtenir la solution optimale [email protected] 45/77 ACO – construction dynamique Part X0 vide [email protected] 46/77 ACO – construction dynamique Commandes possibles [email protected] 47/77 ACO – construction dynamique Choix d’une commande [email protected] 48/77 ACO – construction dynamique Solution Partielle X1 [email protected] 49/77 ACO – construction dynamique Commandes Possibles restantes [email protected] 50/77 ACO – construction dynamique [email protected] 51/77 ACO – controle dynamique ● En theorie un controleur dans chaque état ● ● État == historique des villes parcourues Explosion combinatoire ● Cela revient à tout tester [email protected] 52/77 ACO – controle dynamique, factorisation Gr G [email protected] 53/77 ACO – controle dynamique, factorisation Birattari2002 Factorisation → fourmi markovienne Probabilité ne dépend que de la ville où on se trouve Gr G [email protected] 54/77 Plan ● Fourragement fourmis ● Algorithmes fourmis ● Ant Colony Optimisation appliqué au TSP ● Analyse de l'algorithme [email protected] 55/77 Pourquoi ca marche ? ● Algorithmes fourmis ● Deux types de preuve ● ● graph based ant system and convergence (Gutjahr 2002) Ant colony optimization and stochastic gradient descent (Meuleau, Dorigo 2002) [email protected] 56/77 Gutjahr 2002 – Graph ant system ● ● En deux mots ● Mémorisation du meilleur chemin global visité ● Mise àjour uniquement sur le meilleur chemin Preuve ● Probabilité de prendre ce chemin augmente avec le temps ● Ce chemin sera donc pris à un instant ● Et le système se stabilise [email protected] 57/77 Meuleau, Dorigo 2002 ● Principe ACO ● ● Transforme un probleme statique en probleme dynamique Idée ● Comprendre comment controleur est construit [email protected] 58/77 Meuleau, Dorigo 2002 Phéromones Fourmis [email protected] 59/77 Meuleau, Dorigo 2002 Phéromones probabilités Politique Individuelle Fourmis [email protected] 60/77 Meuleau, Dorigo 2002 Phéromones probabilités Fourmis Politique Individuelle évoluer [email protected] 61/77 Meuleau, Dorigo 2002 Phéromones probabilités Fourmis Politique Individuelle évoluer [email protected] Chemin 62/77 Meuleau, Dorigo 2002 Phéromones probabilités Fourmis Politique Individuelle évoluer Chemin Distance [email protected] 63/77 Meuleau, Dorigo 2002 Phéromones probabilités Fourmis Politique Individuelle évoluer Delta Phéromones Chemin Distance [email protected] 64/77 Meuleau, Dorigo 2002 Phéromones probabilités Fourmis Politique Individuelle évoluer Delta Phéromones Chemin Distance [email protected] 65/77 Meuleau, Dorigo 2002 Phéromones probabilités Fourmis Valeur Moyenne Politique Individuelle évoluer Plusieurs fourmis [email protected] Chemin Distance 66/77 Meuleau, Dorigo 2002 Phéromones probabilités Fourmis Cherche à optimiser Valeur Moyenne Politique Individuelle évoluer Plusieurs fourmis [email protected] Chemin Distance 67/77 Phéromones probabilités Fourmis Politique Individuelle évoluer Chemin Descente de gradient Valeur Moyenne Plusieurs fourmis [email protected] Distance 68/77 Meuleau, Dorigo 2002 Phéromones probabilités Fourmis Estimer Gradient M Selon T Valeur Moyenne Politique Individuelle évoluer Plusieurs fourmis [email protected] Chemin Distance 69/77 Meuleau, Dorigo 2002 Phéromones T probabilités De déplacer Selon ∇M Fourmis Estimer Gradient M Selon T Valeur Moyenne Politique Individuelle évoluer Plusieurs fourmis [email protected] Chemin Distance 70/77 Meuleau, Dorigo 2002 Phéromones T probabilités De déplacer Selon ∇M Fourmis Estimer Gradient M Selon T Valeur Moyenne Politique Individuelle évoluer Plusieurs fourmis [email protected] Chemin Distance 71/77 Meuleau, Dorigo 2002 ● Démarche ● Dans l’espace des phéromones – Optimiser la valeur moyenne ● Modifier phéromones ● Descente de gradient : – – Évaluer la variation de v en fonction de T(x,y) Bouger dans cette direction [email protected] 72/77 Meuleau, Dorigo 2002 ● Ce qu’on cherche à optimiser ● ● ● Erreur: = moyenne de 1/distnace Gradient ● De/dT(x,y)=E(Tx,y/distance ) sur chemin sachant T ● Tx,y = eligibility Evaluer ce gradient ● Monte carlo : forward : je lance fourmi ● Sur chemin, somme Tx,y/distance (estimation du gradient) ● Je modifie pheromones en fonction de cela [email protected] 73/77 Plan ● Fourragement fourmis ● Algorithmes fourmis ● Ant Colony Optimisation appliqué au TSP ● Analyse de l'algorithme ● Exemple applications [email protected] 74/77 Utilité des algorithmes fourmis ● Mise à jour dynamique ● ● Plein de questions sur l'adaptabilité Exemple ● Fourragement – – disparition de sources Recherche de nouvelles sources ● Routage dans les réseaux (antnet – Di Caro, Dorigo) ● Reconnaissance d'images (ramos – Digital image habitats) ● Etc ... [email protected] 75/77 Autres exemples [email protected] 76/77 Autres exemples inspiration biologique ● PSO ● ● Particule swarm optimization Brood sorting ● Tri (lumer et faieta) ● Systèmes immunitaires artificiels ● Etc ... [email protected] 77/77