Les algorithmes fourmis. Laurane Margot Mars 2006

Documents pareils

Modélisation multi-agents - Agents réactifs

Jean-Philippe Préaux

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Systèmes Multi-Agents : Modélisation et simulation informatique de comportements collectifs. Chapitre III

Les colonies de fourmis : apprentissage coopératif pour le problème du voyageur de commerce

Intelligence des essaims (Swarm Intelligence)

Laboratoire d Automatique et Productique Université de Batna, Algérie

Deux stratégies parallèles de l'optimisation par colonie de fourmis

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Sommaire. Introduction. I. Notions de routage a) Technologies actuelles b) Avantages et désavantages

Vers une Optimisation de l Algorithme AntTreeStoch

Resolution limit in community detection

Complexité et auto-organisation chez les insectes sociaux. Complexité et auto-organisation chez les insectes sociaux

Problème à résoudre. min f(s) s.c. s S

Chp. 4. Minimisation d une fonction d une variable

Optimisation multi-objectif par colonies de fourmis : cas des problèmes de sac à dos

Comportements Individuels Adaptatifs dans un Environnement Dynamique pour l'exploitation Collective de Ressource

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Des fourmis réelles aux fourmis artificielles

THESE. Application des algorithmes de colonies de fourmis pour l optimisation et la classification des images

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Christophe CANDILLIER Cours de DataMining mars 2004 Page 1

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

DES FOURMIS POUR LIVRER DU MAZOUT

Une Approche Bio-mimétique pour la Segmentation d'images. Inspiration des Araignées Sociales

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Un modèle réactif pour l optimisation par colonies de fourmis : application à la satisfaction de contraintes

LE PROBLEME DU PLUS COURT CHEMIN

ALGORITHME GENETIQUE ET MODELE DE SIMULATION POUR L'ORDONNANCEMENT D'UN ATELIER DISCONTINU DE CHIMIE

L intelligence collective des fourmis

Correction du baccalauréat ES/L Métropole 20 juin 2014

L apprentissage automatique

Organigramme / Algorigramme Dossier élève 1 SI

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Algorithmes de recherche

TESTS D'HYPOTHESES Etude d'un exemple

Reconnaissance automatique de la parole à l aide de colonies de fourmis

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

OPTIMISATION À UNE VARIABLE

EXPERIMENTATIONS DE METHODES PARALLELES DE RECHERCHE D INFORMATION SUR INTERNET

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Cours (7) de statistiques à distance, élaboré par Zarrouk Fayçal, ISSEP Ksar-Said, LES STATISTIQUES INFERENTIELLES

Systèmes Multi-Agents «réactifs»

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Chapitre 5 : Flot maximal dans un graphe

Introduction à la théorie des graphes. Solutions des exercices

Gestion d'une billeterie défilé des talents

Les apports de l informatique. Aux autres disciplines

Architecture des Systèmes d Information Architecture des Systèmes d Information

Chapitre 1 : Introduction aux bases de données

Recherche et Diffusion de l Information dans les Réseaux. Philippe Robert. Le 8 avril 2014

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

RenPar'14 Hammamet, Tunisie avril 2002

Coup de Projecteur sur les Réseaux de Neurones

La programmation à mémoire adaptative ou l évolution des algorithmes évolutifs

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

Chaînes de Markov au lycée

Pourquoi l apprentissage?

Apprentissage Automatique

Kaizen Marketing Group Web Agency. Kaizen Marketing. - Stéphanie Héline-

COURS SYRRES RÉSEAUX SOCIAUX INTRODUCTION. Jean-Loup Guillaume

Programmation linéaire

Cours de méthodes de scoring

P.S.E. 1 ère situation d évaluation

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

Chapitre 02. La lumière des étoiles. Exercices :

Conception de réseaux de télécommunications : optimisation et expérimentations

De la fourmi réelle à la fourmi artificielle

données en connaissance et en actions?

La physique nucléaire et ses applications

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

CORRECTION EXERCICES ALGORITHME 1

Application de K-means à la définition du nombre de VM optimal dans un cloud

Améliorer les performances du site par l'utilisation de techniques de Web Mining

Sybase PowerAMC 16. Guide des nouvelles fonctionnalités générales. DOCUMENTATION

Etude d Algorithmes Parallèles de Data Mining

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Algorithmes récursifs

Quantification Scalaire et Prédictive

EN QUÊTE DU MONDE. Les nids de fourmis rousses. Présentation de la vidéo... 2 Générique... 2 description... 2 Principaux thèmes abordés...

Intelligence Artificielle Planification

MATHS FINANCIERES. Projet OMEGA

AIDE ENTREPRISE SIS-ePP Plateforme de dématérialisation des marchés publics

GUIDE. Guide pratique pour la lutte contre les fourmis sur le marché européen. PRATIQUE

La classification automatique de données quantitatives

Nicolas DEPRUGNEY Julien CARTON 1 SA TPE 1 S. Les Phéromones de la Fourmi

Programmation Linéaire - Cours 1

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Optimisation for Cloud Computing and Big Data

Implantation des protocoles de communication FIPA dans la plate-forme GAMA

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Programmation orientée agents #1. v 1.3. M1 S2 - Université de Montpellier II"

Transcription:

Laurane Margot Lorane.Margot@etu.univ-savoie.fr Mars 2006 1

Plan Qu est ce qu un système multi - agents? Comportements modélisés : Le forage (algorithmes ACO) Le rangement Le transport collaboratif La division des tâches Conclusion 2

Qu est ce qu un système multi-agents? 2 types d'agents : désirs, croyances, comportement Les agents cognitifs : Représentation symbolique du monde Raisonnement agents intelligents Les agents réactifs : Représentation du monde limitée à leurs perceptions Réflexe intelligence collective 3

Principe : Agents simples Stigmergie (Grassé 1959) Communication indirecte par le biais de modifications apportées à l'environnement. Comportements émergents Histoire : Années 90 : Apparition des premiers algorithmes Ant System (1992-1996) 2001-2006 : Swarm Bot http://www.swarm-bots.org/ 4

Plan Qu est ce qu un système multi - agents? Comportements modélisés : Le forage (algorithmes ACO) Le rangement Le transport collaboratif La division des tâches Conclusion 5

Comportement de forage T=0 : chemin NS : P NS = 1 T=1 : quantité phéromones en A/B coté C : 0 quantité phéromones en A/B coté L: 0 P ALB = P ACB T=2 : quantité phéromones en A/B coté C : 2x quantité phéromones en A/B coté L : x P ALB < P ACB Phéromone = Substance chimique émise par un individu (animal) et qui provoque un comportement particulier chez un autre individu de la même espèce = comparables aux hormones. Hormone = dans l organisme, Phéromones = à l extérieur 6

Algorithmes ACO Algorithmes ACO (Ant Colony Optimization) : Méthodes d approximations (pas LA meilleure solution), Stochastiques (aléatoires), Distribuées. Algorithmes : Ant System (1992 publié en 1996) Elitist Ant System (1992) Max-Min Ant System (1997) Ant Colony System (1997) Rank Based Ant System (1999) Approximate Non deterministic Tree Search (1999) Hyper Cube Framework for ACO (2001) 7

Le problème du voyageur de commerce Enoncé : n points (villes) d ij distance entre les villes i et j chemin de longueur totale minimale qui passe exactement une fois par chaque point (et revienne au point de départ)? Formellement : Un graphe complet G = (V,A,f) où V = ensemble de sommets (villes) A = ensemble d'arcs (routes entre les villes) f : A : fonction de coût sur les arcs (distance entre les villes par exemple). chemin hamiltonien qui minimise les coûts. 8

Le 1 er algorithme ACO : Ant System Initialisation : - m sont placées au hasard dans les n villes - calcul des distances d ij - Initialisation des phéromones τ ij pour chaque "route" Exécution : Tant que ( Condition d arrêt) 1. Construction des chemins : - A chaque pas, k la fourmi k située dans une ville i choisi une ville j du voisinage possible V i (villes non visitées) selon la règle : k Pij α [ τ ] [ η ] α [ τ il ] [ ηil ] 3. Effacer mémoire (villes visitées) = l k V l ij ij β β η ij = 1/d ij = valeur d'heuristique α et β = paramètres 2. Mise à jour des phéromones : - Évaporation "oublier" les chemins les moins bons : τ ij (1-ρ)τ ij où ρ = paramètre - Qualité de la solution S k trouvée : k m τ ij τ ij + k k 1 LongueurChe min si ( i, j) S τ où τ = ij ij k = 1 0 autrement k 9

Le 1 er algorithme ACO : Ant System A d=1, d=3, τ=1 τ=0,5+1/5 τ=1 τ=0,5+1/5+1/6 d=4, τ=1 τ=0,5 B Fourmi 1 : Position : C DB A Chemin : {A} {A, C} C, B} B, D} Voisinage : DB, DC, D Coût : 6 C d=1, τ=1+1/5+1/6 d=1, τ=1 τ=0,5 D d=2, τ=1 τ=0,5+1/6 Fourmi 2 : Position : BC AD Chemin : {D} {D, A} A, C} C, B} Voisinage : B, A, CB, C Coût : 5 10

Méta heuristique ACO Représentation du problème : Un ensemble fini C = {c 1, c 2,, c C } de composants. Un ensemble fini L= {l cicj l cicj C C} de connexions entre les composants. Un ensemble fini de contraintes Ω Ω(C,L,t) sur les éléments de C et L qui peut dépendre du temps t. Une fonction de coût g cicj g(l cicj,t) associée à chaque connexion l cicj. Le voisinage V ci = ensemble des composants accessibles en un pas depuis ci. Un état = suite de termes x = <c i, c j, > de taille finie. L état s est une solution s'il satisfait toutes les exigences du problème. Coût associé à s: g s (L,t) = une fonction sur les coûts g cicj de s. graphe complet G C = (C,L) 11

Méta heuristique ACO Procedure ACOMetaheuristique P = Initialiser_pheromones() s m NULL //meilleure solution Tantque ( Conditions_De_Fin) faire S iter NULL //ensemble des solutions de l'itération Pour m = 1 à nb faire s Construire_La_Solution(P) Actions_Démons(s) //optionnel Si [g(s) < g(s m )] ou [s m = NULL] alors s m s S iter S iter {s} FinPour Actions_Démons(s) //optionnel Mettre_A_Jour_Les_Pheromones(P,S iter,s m ) FinTantQue Retourner s m FinProcedure 12

Méta heuristique ACO Procedure Construire_La_Solution(Pheromones[] P) s {ci} //composants visités = composant initial V Voisinage (dernier(s)) Tantque ( Graphe_Entierement_Visite(s)) faire p = Nouveau_Tableau(taille(V)) //probabilité de choisir composants c Pour c V faire p[c] Regle_de_decision(P,dernier(s),c) FinPour s s {Choix_Composant(p)} Mettre_A_Jour_Les_Pheromones(P,s) //optionnel V Voisinage (dernier(s)) FinTantQue Retourner s FinProcedure 13

Méta heuristique ACO Améliorations : Actions démons : Recherches locales recherche de meilleures solutions par modification d un ou deux composants de la solution de base peuvent parfois permettre de se passer des valeurs d heuristiques. Ajout de "bonus phéromones" nécessite utilisation d informations globales. Listes candidates choix du composant sur un sous ensemble des composants qui regroupe ceux qui offrent le meilleur coût. 14

Autres algorithmes ACO Max-Min Ant System : Seule la fourmi ayant trouvé le meilleur tour (de l itération ou depuis le début) est autorisée à déposer des phéromones. => réduire complexité de l algorithme. Limitation de la quantité de phéromones possibles τ ij [τ min,τ max ]. => éviter stagnation. Initialisation des phéromones avec τ max. => favoriser l exploration au début. Réinitialisation de la quantité de phéromones quand système commence à stagner. 15

Autres algorithmes ACO Ant Colony System : Seule la fourmi ayant trouvé le meilleur tour depuis le début est autorisée à déposer des phéromones. => réduire complexité de l algorithme. choix composant suivant : meilleur mouvement possible (utilisation stricte des info accumulées) ou règle "classique". A chaque fois qu'une fourmi emprunte un arc, elle décrémente la quantité de phéromones associée => favorise l'exploration d'arcs non explorés et empêche la stagnation. 16

Applications Comportement simple : Parcourir le graphe Déposer des phéromones Comportement émergent : Suivre le chemin le plus court Applications Optimisations de problèmes difficiles (problème d ordonnancement séquentiel, d assignement quadratique, ) Data Mining Routage au travers de réseau dynamique (AntNet) Organisation de parcs de voitures (pour la Migro en Suisse) Site de Marco Dorigo (liens vers conférences, ) : http://iridia.ulb.ac.be/~mdorigo/aco/aco.html 17

Plan Qu est ce qu un système multi - agents? Comportements modélisés : Le forage (algorithmes ACO) Le rangement Le transport collaboratif La division des tâches Conclusion 18

Comportement de rangement Formation de cimetières : Quand une fourmi meurt, son corps est transporté et empilé à l'extérieur de la fourmilière. phénomène pas vraiment été expliqué (attraction des corps?) Rangement du couvain : Cloisonnement des différents types de progénitures : séparés en tas, organisés en structures annulaires : œufs et petites larves au centre puis larves plus grosses et enfin cocons. plusieurs théories : "l'effet muesli", Fait que les œufs produisant moins de déchets que les larves, on peut les regrouper en des rangs plus serrés. 19

Algorithmes Formation de tas : se déplacent aléatoirement dans le monde et prennent et posent les objets selon les règles de probabilité : P prendre f p = f p + f 2 et deposer f = f + f Formation de structures annulaires : P d 2 où f = critère de similarité entre objets = ( 1- similarité(obji,objj)) obj j V obj i f p et f d sont des paramètres Application simple de l effet muesli (résultats faibles). Quand une fourmi transportant un objet heurte un autre objet, elle recule d'une distance proportionnelle au type de l'objet transporté et pose ce dernier. Amélioration : distance de recul est aussi proportionnelle au temps depuis le dernier transport (par la fourmi) d un objet de type identique (res moyens). Algorithme génétique et réseau de neurone. 20

Applications Comportement simple : Déplacer des objets selon des règles simples Comportement émergent : Applications : Formation de tas ou structures annulaires Data Mining Quantification de couleurs Design de circuits VLSI 21

Plan Qu est ce qu un système multi - agents? Comportements modélisés : Le forage (algorithmes ACO) Le rangement Le transport collaboratif La division des tâches Conclusion 22

Comportement de transport collaboratif Transporter un objet lourd: Recruter Transporter Pousser/Tirer Porter Eviter de rester bloquer Réalignement : sans lâcher la prise, se remettre dans le sens où l'on veut aller Replacement : changer de position pour essayer d'avancer Communication par l intermédiaire de l objet (détection des pressions) 23

Algorithmes Définir un meneur et 1 (ou plusieurs) porteurs Meneur : amener l objet au nid, éviter les obstacles Porteur : maintenir l objet Possibilité d échanger les rôles si l obstacle a contourner est trop important pb de synchronisation, organisation. Algorithme génétique et réseau de neurone 24

Applications Comportement simple : Tirer/Pousser et/ou porter Suivre le mouvement Comportement émergent : Transport collaboratif Application : Robotique Projet Swarm Bot : http://www.swarm-bots.org/ 25

Plan Qu est ce qu un système multi - agents? Comportements modélisés : Le forage (algorithmes ACO) Le rangement Le transport collaboratif La division des tâches Conclusion 26

Comportement de division des tâches Aspect central de la vie d'une fourmilière : différences morphologiques peuvent être importantes pourtant des soldats se peuvent se comporter, à l'occasion, comme des ouvrières et vice versa. Principe de l'offre et de la demande Réponse à une tâche dépend : type de fourmi (ouvrière, soldat, ) occupation courante (ex : éclaireur peut susceptible de s occuper du couvain) 27

Algorithmes Notion de seuil de réponse : 2 st i P( Ti ) = 2 2 s + βθ + γh T i Ti où T i = tâche à effectuer θ Ti = seuil de réponse de la fourmi pour T i h i = fonction de coût (ex : d fourmi,lieu_tâche ) β et γ = paramètres Ti ² s Ti = stimulus associé à la T i. s Ti (t+1) = s Ti (t) + δ - N = nombre de, N Ti = nombre de qui effectuent T i δ = augmentation du stimulus par unité de temps α = performance dans l'exécution de la tâche NT i α N Notion d'apprentissage : θ Ti θ Ti - ξ θ Ti θ Ti + ϕ 28

Applications Fourmilière artificielle (projet MANTA d Alexis Drogoul) http://www-poleia.lip6.fr/~drogoul/projects/manta/index.html Assignement de tâches Transport collaboratif (Swarm Bot) 29

Plan Qu est ce qu un système multi - agents? Comportements modélisés : Le forage (algorithmes ACO) Le rangement Le transport collaboratif La division des tâches Conclusion 30

Conclusion Systèmes multi agents : Robustesse Flexibilité Adaptabilité Systèmes en essaims : Agents simple, comportement complexe Algorithmes : Tirés d un modèle existant et efficace 31

Références Ant Colony Optimisation (forage) : http://iridia.ulb.ac.be/~mdorigo/aco/aco.html Dorigo M, Stützle T ; Ant colony optimization ; MIT Press, 2004. Swarm Bot (transport collaboratif, division du travail, ) : http://www.swarm-bots.org/ Manta (division du travail) : http://www-poleia.lip6.fr/~drogoul/projects/manta/index.html NASA, projet ANTS (Autonomous NanoTechnology Swarm) (SMA en essaims) : http://ants.gsfc.nasa.gov/ 32