Introduction aux Simulations Multi-Agents Introduction aux simulations multi- agents pour les SHS Frédéric AMBLARD (IRIT - Université Toulouse 1 Sciences Sociales) Ecole de Mèze Modélisation et Simulation Multi-Agents pour les SHS Mèze, 9-14 Avril 2006
Introduction aux Simulations Multi-Agents Une définition de la notion de modèle « To an observer B, an object A* is a model of an object A to the extent that B can use A* to answer questions that interest him about A » (Marvin Minsky, 1965) Ex. de modèles : Maquette, modèle numérique de diffusion de la chaleur, simulateur de vol Un système cible Une question sur ce système Construction d’un modèle (abstraction) de ce système pour répondre à la question
Introduction aux Simulations Multi-Agents Ex: Simulation du déplacement d’employés sur un site industriel
Introduction aux Simulations Multi-Agents Notions clés de la modélisation Système-cible / Question de modélisation –Qu’est-ce que je cherche à modéliser ? –Clôture : quelles sont les frontières du système cible ? Hypothèses de modélisation –Abstraction => simplification : quelles hypothèses simplificatrices ont été faites pour obtenir le modèle ? Vérification –Est-ce que le modèle formalisé (math., algo informatique) correspond au modèle que j’ai en tête ?
Introduction aux Simulations Multi-Agents Quelle approche de modélisation ? Modèle statistique –Pas de représentation explicite des mécanismes –Utilisation : analyse de données, … Modèle macroscopique –Ex: équations différentielles, modèles à compartiment Modèle multi-agents –Représentation explicite des comportements individuels –A la recherche des mécanismes générateurs
Introduction aux Simulations Multi-Agents Principales propriétés des simulations multi-agents Approche individus-centrée –individualisme méthodologique Simulation –le modèle plongé dans le temps Formalisation algorithmique souple Reconstruire les phénomènes –Pappert, Resnick
Introduction aux Simulations Multi-Agents Principaux éléments d’un modèle multi-agents Une question Un système Formalisé dans les SMAs –Les agents Caractéristiques Règles de décision Communication entre agents (interactions) –Organisation (ex.: réseau social) –Environnement –Facteurs exogènes –Gestion du temps –L’utilisateur ? Orientent l’abstraction
Introduction aux Simulations Multi-Agents Modèle de l’environnement Modèle multi-agents Modèle des règles d’interactions Phénomène collectif à étudier/comprendre Question de modélisation/Hypothèses Modèle de l’organisation et son évolution Hypothèses sur les conditions initiales Expérience de simulation Observables de la simulation Individuels ou agrégés Traduction d’hypothèses en un modèle au niveau individuel Comparaison avec les attendus / données / théories
Introduction aux Simulations Multi-Agents Formalismes UML (Unified Modelling Langage) (cf. mardi aprés-midi) –Structure du modèle
Introduction aux Simulations Multi-Agents Diagramme de classes J.-L. Bonnefoy
Introduction aux Simulations Multi-Agents Formalismes UML –Structure du modèle –Comportement temporel Diagramme de séquence J.-L. Bonnefoy
Introduction aux Simulations Multi-Agents Formalismes UML –Structure du modèle –Comportement temporel Diagramme d’activité J.-L. Bonnefoy
Introduction aux Simulations Multi-Agents Formalismes UML –Structure du modèle –Comportement temporel –Description multi-facettes –Mais description incomplète et ambigüe
Introduction aux Simulations Multi-Agents Formalismes UML Algorithme DEVS, Réseaux de Pétri For step = 1 to 365 Agent a = population.selectAgent() a.interactWithNeighbours() a.updateKnowledge() a.takeDecision() a.act() Next step
Introduction aux Simulations Multi-Agents Formalismes UML Algorithme Formalisme mathématique –Expression de formes de manière fonctionnelle Règles d’interactions Résultats globaux –Exemple : exponentielle négative pour représenter un phénomène qui part de 1 à 0 et qui s’amortit jusqu’à tendre vers 0 à + ∞ 1
Introduction aux Simulations Multi-Agents Plateformes Nombreuses plateformes de simulation multi-agents –CORMAS (Small-Talk) –NetLogo (langage propre) –RePast (Java) –Ascape (Java) –Madkit (Java) –… D’autres solutions –Java, C++ –Excel
Introduction aux Simulations Multi-Agents Dans les embouteillages… Question : Impact de l’introduction d’une ligne de métro à Montpellier 100 Agents –Choisissent la voiture ou le métro (V/M) –En fonction du temps de trajet En fonction du nombre de voitures total, on calcule le temps de trajet de chacun
Introduction aux Simulations Multi-Agents Chaque matin 100 montpelliérains se demandent si ils doivent prendre la voiture ou le métro En métro il mettent invariablement 30 min pour aller à leur travail En voiture ils mettent 10min + autant de minutes que de personnes qui ont pris leur voiture Avant de partir ils téléphonent à leurs amis pour savoir quel mode de transport ils ont pris la veille et combien de temps ils ont mis Ils choisissent alors le mode de transport le plus rapide Petite histoire…
Introduction aux Simulations Multi-Agents Quels phénomènes vous attendez-vous à observer ? 1 minute de réflexion…
Introduction aux Simulations Multi-Agents Que faut-il pour formaliser mon histoire ? Pour chaque agent, chaque jour –Son choix (voiture/métro) –Son réseau social (matrice d’incidence) –Le temps qu’il va mettre effectivement (calculé globalement) Niveau global –Temps de trajet en métro –Fonction qui calcule le temps de trajet en voiture en fonction du nombre de voitures Initialisation –Le choix initiale de chacun au matin de la mise en service du métro –La matrice d’incidence Visualisation Formalisation Run
Introduction aux Simulations Multi-Agents Tendance à se rapprocher de l’équilibre Oscillations autour de l’équilibre Amplitude dépend de la taille du réseau –Plus le réseau est grand plus les oscillations sont importantes 3 attracteurs –L’équilibre théorique 20/80 –Tout métro –Tout voiture L’introduction de bruit empêche la formation des équilibres « tout métro » et « tout voiture » Formation de clusters Ce que l’on observe…
Introduction aux Simulations Multi-Agents Théorique : donne la tendance générale du modèle (équivalent au calcul des limites) Au niveau du modèle : recherche des causes des phénomènes observés dans le modèle lui-même (jeu des variables) Retour sur le système modélisé : en fonction des hypothèses réalisées, que nous apprend le modèle ? 3 Niveaux d’interprétations
Introduction aux Simulations Multi-Agents Le « calcul » de l’équilibre nous donne –Répartition pour nos 100 agents 20 voitures (temps = 30 min) 80 métro (temps = 30 min) Niveau théorique Temps de trajet Nb agents voitures Métro Voiture
Introduction aux Simulations Multi-Agents Tendance à se rapprocher de l’équilibre –Propriété limite du modèle Oscillations autour de l’équilibre –Agents appliquent la même règle de décision –Ils ont pour beaucoup la même information Amplitude dépend de la taille du réseau –Plus la taille du réseau est importante, plus les agents ont accès à la même information pour prendre la même décision… Interprétation au niveau du modèle
Introduction aux Simulations Multi-Agents 3 attracteurs –L’équilibre théorique 20/80 –Tout métro (perte de l’information tps voiture) –Tout voiture (perte de l’information tps métro) L’introduction de bruit empêche la formation des équilibres tout métro et tout voiture –Gain en information Formation de clusters –Accès presque identique à l’information => décision identique –Conséquence : localement certains agents n’ont pas accès à l’information concernant l’autre mode de transport… effet d’inertie Interprétation au niveau du modèle
Introduction aux Simulations Multi-Agents Difficile, modèle pris pour illustration Décision plus complexe –Information pas seulement locale (Bison futé) –Le choix voiture/métro ne dépend pas que du temps de trajet… Tendance aux phénomènes oscillatoires –Dilemme Bison futé, prophétie anti-réalisatrice Fort biais du modèle –Mise à jour synchrone –Sans cela le modèle tend vers l’équilibre Retour sur le système modélisé
Introduction aux Simulations Multi-Agents Fin des embouteillages…
Introduction aux Simulations Multi-Agents Intérêts de l’approche multi-agents Formalisation –Formalisme moins contrainte qu’une formalisation mathématique –Cependant Hypothèque Numérique 3eme jambe entre théorie et empirie Computation d’un système artificiel difficilement appréhendable sans l’ordinateur –Comportements individuels –Interactions entre agents –Hypothèses dynamiques
Introduction aux Simulations Multi-Agents Applications possibles Artefact pour la réflexion –Par la formalisation –Par la comparaison des attendus et des résultats –Par la compréhension précise des mécanismes de production des résultats au niveau du modèle Test qualitatif d’hypothèses –Aménagement du territoire –Gestion de l’eau –… Artefact pour la négociation Formation/entraînement Prédiction (???)
Introduction aux Simulations Multi-Agents Un bilan à nuancer pour les SMA Compréhension difficile de la production des résultats du modèle Évaluation/Validation Lien empirique –Données nécessaires ≠ Données disponibles Attache théorique –Nécessaire pour que le modèle soit autre chose que la représentation du seul modélisateur
Introduction aux Simulations Multi-Agents Des dangers en cours de balisage Formaliser pour formaliser –sans question de modélisation clairement définie Réaliser des modèles trop simples –Producteurs de tautologies Réaliser des modèles trop complexes –Difficulté à comprendre les mécanismes de production des résultats Couplage –Sémantique du couplage –Granularités de modèles différentes
Introduction aux Simulations Multi-Agents Questions ??? Faites remonter les post-it bleus …