pascal.estraillier @ univ-lr.fr Interactions - Systèmes Multi - Agents Master IMA - 1 Introduction D’après Boissier, Demazeau, Drogoul, Ferber, Quinqueton, Sayettat, ….. pascal.estraillier @ univ-lr.fr Département Informatique - Laboratoire L3i Université de La Rochelle
Objectifs du cours (et plus …) Connaître les différentes organisations des SMA Agents adaptatifs et évolutifs (animats), agents situés (robots et objets communicants). Expérimenter quelques mises en oeuvre Simulation multi-agent de phénomènes complexes, et principes et outils logiciels Utiliser les architectures à base de composants Pour la construction d'agents (méta-modélisation, composants et protocoles d’interaction). Appliquer le savoir-faire dans des contextes applicatifs Les jeux et Média interactifs, les systèmes logiciels, les systèmes de visualisation, la simulation, les systèmes coopératifs, les télécommunications, ou encore les transports.
Programme Principes des agents logiciels et des SMA ; Types d’organisation des SMA ; Génie logiciel et le développement des SMA ; Modélisation des actions et des comportements des agents Plate-formes Interactions et Communication entre les agents ; Types d’interaction et les méthodes de coopération entre agents ; Collaboration, les négociations et la répartition des tâches dans les SMA ; Coordination des actions dans les SMA ; Domaines d’application des SMA.
Références Principes et architectures des systèmes multiagents Briot et Demazeau (eds). Hermès, 2001. An Introduction to Multi-agent Systems par Michael Wooldridge, John Wiley & Sons, 2002. ISBN: 0-471-49691-X. Rapport OFTA - Systèmes Multi-Agents - ARAGO 29 Février 2004 www.multiagent.com www.fipa.org www.agentlink.org aose.ift.ulaval.ca www-poleia.lip6.fr/~drogoul
Motivations Actuellement les systèmes sont souvent: De plus en plus complexes, Ouverts, Avec des configurations et fonctionnalités évolutives, Avec des matériels et des logiciels hétérogènes, Situés dans des environnements à évolution dynamique Répartis avec aucun contrôle global possible Constitués de logiciels inter-agissants En interaction avec des humains
Une évolution du logiciel Problèmes cl�és du logiciel : éolution, adaptation profil utilisateur, programmeur, environnement, contraintes - ex : QoS, ... Pour un système (logiciel) complexe, impossible de prédire au moment de la conception toutes les interactions potentielles Ceci est rendu encore plus difficile si l’on considère l’évolutivit�é du logiciel ainsi que celle de son environnement (autres logiciels) • Vers des composants logiciels « adaptables » Les interactions non prévues deviennent la norme et non plus l’exception [Jennings 1999] Le couplage entre composants est d’abord� au niveau des connaissances et non plus auniveau des types de données (ce qui est sûr mais rigide) Vers un plus grand découplage : objets -> composants -> agents (et ensuite ?!)
Agent Une entité réelle ou virtuelle, • capable d’agir dans un environnement, Mais avec une capacité de perception limitée de son environnement, qui ne dispose donc que d’une représentation partielle de cet environnement (et éventuellement aucune), • peut communiquer directement avec d’autres agents, • vise à atteindre un ensemble d’objectifs individuels ou une fonction de satisfaction, voire de survie, qu’elle cherche � optimiser, • qui possède des ressources propres, • qui posséde des compétences et offre des services, qui exhibe un comportement autonome, Autonomie : conséquence de ses connaissances, de ses interactions avec d'autres agents et des buts qu'il poursuit. capable d’agir de manière flexible dans un environnement Flexibilité : réactivité, pro-activité, capacités sociales
Intelligence Artificielle Distribuée Les agents opèrent de façon décentralisée et collective pour accomplir des tâches
Positionnement
Positionnement
Agent : architecture Une entité devient un agent aussitôt qu'elle est capable d'exercer un contrôle local sur ses processus de perception, de communication, d'acquisition de connaissances, de raisonnement, de prise de décision d'exécution.
Typologie • agents rationnels • agents logiciels • agents mobiles – IA, comportement délibératif, perceptions, croyances, buts (systèmes experts) • agents logiciels – ex : démons Unix, virus informatiques, robots Web • agents mobiles – code mobile -> objet mobile -> agent mobile (processus) • agents robotiques – architectures de contrôle de robots, robotique collective Utilisation agents assistants –secrétaire virtuelle (trie le mail, gère les RdVs...), < logiciel utilisateur + assistant > … • résolution distribuée de problèmes, coordination, organisation • vie artificielle • simulation multi-agent – simulation centré individu vs modèle global • agents de loisirs et artistiques –jeux vidéos, arts interactifs, …
Agents situés vs communicants • Agent purement situé: –l'environnement possède une métrique, –les agents sont situés à une position dans l'environnement qui détermine ce qu'ils perçoivent; –ils peuvent se déplacer; –il n'y a pas communications directes entre agents, elle se font via l'environnement Société de Fourmis –La résolution du problème s'inscrit dans l'environnement physique et dans l'organisation physique trouvée par les agents Agent purement communiquant: –il n'y a pas d'environnement au sens physique du terme, –les agents n'ont pas d'ancrage physique, –ils communiquent via des informations qui circulent entre les agents Réseau de décideurs –la résolution du problème s'inscrit dans une structure conceptuelle et dans les modes de coopération entre agents
Agents réactifs •Agent réactif: –pas de représentation explicite de l'environnement –pas de mémoire de son histoire, ni de but explicite –comportement de type stimulus réponse – communication via l’environnement –mode "biologique "d'organisation : auto-organisation –grand nombre d'agents (>100), homogènes à grain fin – validation expérimentale La structure du système émerge des comportements et non d'une volonté d'organisation
Agents cognitifs Agent cognitif: – représentation explicite de l'environnement et des autres agents – peut tenir compte de son passé et dispose d'un but explicite connaissances (beliefs) buts (intentions) tâches plans Engagements – autres agents compétences intentions – mode "social" d'organisation (planification, engagement)-organisation explicite allocation et dépendances tâches partage des ressources protocoles de coordination/négociation – petit nombre d'agents (10/20), hétérogènes à gros grain Les relations entre agents s'établissent en fonction des collaborations nécessaires à la résolution du problème – architectures complexes, souvent modèle logique (ex : BDI, Agent0) – communication explicite, point à point, élaborée (ex : KQML) – certaines validations formelles possibles
Classification
Organisation Définition: – Décrit – Propriétés Façon dont le groupe est constitué pour pouvoir travailler (pas de définition unifiée) – Décrit l'ensemble des composants, leur nature, leurs responsabilités, leurs besoins en ressource (processeurs) et leurs liens de communication ou d'arrangement un ensemble de données à traiter (l'environnement) un ensemble de tâches à réaliser – Propriétés définit un cadre pour l'interaction produite par l'interaction entre les agents peut être statique ou dynamique
Systèmes Multi - Agents Dans une organisation, les agents devront interagir pour coopérer (contrôle) Collaborer (allocation de tâches) Négocier (résolution de conflits) se coordonner (synchronisation) Un SMA peut-être : Ouvert / Fermé : les agents y entrent et en sortent librement /l'ensemble d'agents reste le même Homogène / Hétérogène : tous les agents sont issus du même modèle / des agents de modèles différents, de granularités différentes (ex: un éco-système) Mixte (ou non) : les agents « humains » sont partie intégrante du système
Vision locale et décentralisée La conception d'un système multi-agent impose une vision locale et décentralisée. locale : chaque agent devient responsable de ses connaissances (encapsulation) et de ses actions(autonomie), mais également de l'organisation qu'il met en place avec d'autres agents. Aucun agent n'a de vue globale du SMA tout entier. décentralisée : on s'efforce d’éliminer tout contrôle central. Les tâches à réaliser et les compétences pour le faire sont distribuées sur les agents. Permet une grande modularité
Méthodologie