Modèles Multi-Agents (SMA) * Zahia Guessoum OASIS (Objets et Agents pour Systèmes d ’Information et de Simulation) LIP6 (Laboratoire d'Informatique de Paris 6) Zahia.Guessoum@lip6.fr http://www-poleia.lip6/~guessoum * Ce cours réutilise quelques transparents du cours d’Alexis Drogoul
Bibliographie Livre de Jean-Pierre Briot et Yves Demazeau "Les systèmes multi-agents", Jean-Pierre Briot et Yves Demazeau (eds.), Collection IC2. Hermès Science Publications, Paris, France, à paraître en septembre 2001. Livre de Jacques Ferber [1995] Les systèmes multi-agents, vers une intelligence collective. InterEditions, Paris, 1995. Journées Francophones IADSMA de 1993 à 2002 Lip6, à la bibliothèque ICMAS de 1995- à 2002 Livre de Les Gasser et al. Distributed Artificial Intelligence. N. M. Avouris and L. Gasser (eds.), Kluwer Academic Publisher, Boston, 1992. In Distributed Artificial Intelligence. L. Gasser and Michael N. Huhns (eds.), Pitman Publisher, London, 1989.
Systèmes multi-agents Objectif 1 : Analyse théorique et expérimentale des mécanismes d ’auto-organisation modéliser, expliquer et simuler des phénomènes naturels, et susciter des modèles d ’auto-organisation Objectif 1 : Réalisation d ’artefacts distribués capables d ’accomplir des tâches complexes par interaction réaliser des systèmes informatiques complexes à partir de concepts d ’agent, de communication, de coopération et de coordination d ’actions.
Agents vs. Multi-agents Il n’y a pas d’agent sans systèmes multi-agents Un agent est plus utile dans le contexte des autres : Peut se concentrer sur des tâches en fonction de son expertise peut déléguer des tâches à d’autres experts Peut profiter de ses compétences pour communiquer intelligemment, coordonner ses actions, négocier,… Un système multi-agents est un ensemble d'agents interagissant. Mais, un SMA n’est pas seulement une collection d’agents Il nécessite des moyens significatifs pour les interactions, Il nécessite une conception et une évaluation de performances.
Systèmes Multi-agents Un tel système repose sur des modèles diversifiés : modèles d'agents, modèles d'interactions (basés sur des langages de communication tels que KQML et ACL, ..) modèles organisationnels (représentant les propriétés globales de la société d'agents). Modèles d’environnements
Modèles d’agents On définit classiquement deux catégories d’agents : les agents réactifs et les agents cognitifs. Les agents réactifs sont définis uniquement à partir de lois de type stimulus/réponse. Ils permettent de modéliser des comportements très fins, mais ne possèdent pas d’états internes (et ainsi n’ont pas la capacité de construire et mettre à jour une représentation leur environnement). En revanche, les agents cognitifs sont dotés d’états internes, qui peuvent servir à représenter l’état de leur environnement (en l’absence de signaux explicites). Il est souvent nécessaire de combiner ces deux types d’agents pour modéliser des systèmes complexes.
Modèles d’interaction Un système multi-agents se distingue d’un ensemble d’agents indépendants par le fait que les agents interagissent en vue de réaliser conjointement une tâche globale, ou d’atteindre conjointement un but particulier (voir Briot & Demazeau (2001)). Les concepts d’interaction et de coordination peuvent ainsi devenir plus importants dans la dynamique des systèmes multi-agents que les modèles d’agents eux-mêmes. Les agents interagissent en communiquant directement entre eux par échange de messages ou indirectement en agissant sur leur environnement.
Modèles organisationnels Une organisation décrit comment les membres du groupe interagissent et coopèrent afin d'atteindre un but commun. E. Morin (1991) : propriété d'un système capable à la fois de maintenir et de se maintenir, et de relier et de se relier, et de produire et de se produire. Cette définition montre que la structure organisationnelle n’est pas invariante et indépendante de la dynamique du système.
Systèmes Multi-agents Niveau micro : agents Niveau macro : structures organisationnelles Agents Organisation Systèmes d’Interaction Emergence de fonctionnalités Contraintes et Objectifs sociaux
Interactions micro-macro Le comportement du système émerge d'un ensemble d'interactions locales entre agents et/ou entre les agents et un ensemble de structures organisationnelles. L'émergence repose sur une évolution des états du système. Cette évolution peut concerner : le niveau micro : la structure interne ou les connaissances internes de l'agent pendant son exécution, le niveau macro : les structures organisationnelles ou sociales, telles que le réseau d’interdépendances et d’interférences, et le réseau d’ « accointances » (réseau relationnel) définis par Castelfranchi (1998).
Modèles organisationnelles
Modèles organisationnels Début de l’IAD … la métaphore humaine. Les organisations étaient vues comme des organisations humaines. Le principal problème était la coordination des différents agents qui sont souvent conçus comme des systèmes intelligents. Par la suite … définir des structures organisationnelles issues de plusieurs domaines : la biologie, la physique, la chimie, les mathématiques, l’informatique, etc. Les structures organisationnelles modélisées peuvent être statiques, donc conçues a priori par le programmeur, où dynamiques comme on peut le trouver dans les systèmes multi-agents adaptatifs. Elles dépendent de l'environnement dans lequel elles évoluent, des ressources disponibles, et donc du problème à résoudre ou du système à simuler.
Modèles organisationnels Trois catégories : 1ère : assimile l’organisation aux mécanismes de coordination. Ces modèles sont souvent inspirés de la biologie, de la physique, ... 2ème définit l’organisation comme une structure abstraite dont la représentation est distribuée parmi les membres de l’organisation. Les agents utilisent cette représentation pour coordonner leurs actions. Cette approche est souvent utilisée pour décrire des modèles d’organisations existantes. 3ème définit l’organisation comme une structure externe aux agents. La construction du système multi-agents nécessite donc la conception de la structure organisationnelle sous-jacente. Cette structure peut-être statique ou dynamique.
Mécanismes de coordination Différentes formes de coordination multi-agents peuvent être identifiées. Différentes approches (biologiques, physiques, sociologiques, économiques, etc.) ont été proposées afin d’étudier les interactions et la coordination et de faciliter la conception des SMA.
Modèles biologiques
Modèles biologiques Insectes sociaux, mammifères sociaux fourmis, termites, abeilles, guêpes loups, rats, primates oiseaux, poissons Approche émergentiste
Exemple 1 : Colonies de fourmis Chez les fourmis Lasius Niger, [Franks 89] a observé: la régulation de la température (amplitude maximale : 1°C) la formation de ponts par les ouvrières le choix de certaines aires de chasse la construction et la protection des nids le tri du couvain et des items de nourriture la coopération dans le transport d'objets trop lourds l'émigration complète d'une colonie vers un nouveau nid le choix des chemins les plus courts entre nid et sources de nourriture le choix des sources de nourriture les plus riches au détriment des autres
Exemple 1 : Colonies de fourmis Système de résolutions de problèmes combinatoires basés sur une forte analogie avec les mécanismes mis en œuvre dans les colonnes de fourmis [Colorni - Dorigo 91] Les fourmis se déplacent en déposant des phéromones (qui s'évaporent au cours du temps) et sont attirées par elles. Décision collective du plus court chemin, équivalente à un algorithme distribué d'optimisation.
Exemple 1 : Colonies de fourmis Voir pdf
Exemple 2 : Fourragement Collectif Application très populaire en IAD et Vie Artificielle Exploration et exploitation collective d'un environnement inconnu et dynamique, par des robots ou agents simulés Bonne illustration de l'auto-organisation Beaucoup de techniques envisageables (inspirées la plupart du temps des fourmis)
Exemple 2 : Fourragement Collectif (2) Un ensemble simple de règles individuelles peut générer un comportement collectif remarquablement adaptatif Règle Explorer si je suis vide si je ne perçois ni minerai ni marque je circule aléatoirement Marques Minerai Règle Trouver si je suis dehors & vide si je perçois du minerai je le prends Base Règle Rapporter si je suis dehors & plein je pose deux marques je reviens à la base Règle Pister si je suis dehors & vide si je perçois une marque je me dirige vers elle je la prends Règle Déposer si je suis à la base & plein je dépose le minerai
Eco-résolution L'éco-résolution (Eco Problem Solving - EPS) est un framework de SMA réactif dédié à la résolution de problèmes. existe en : Lisp, Smalltalk, C++, Java Repris dans DIMA : Gdima.kernel.EcoResolution Il s'appuie sur : une décomposition structurelle du problème (i.e. "objet") un modèle d'agent séquenceant trois comportements basiques (satisfaction, agression, fuite) une description explicite de l'état initial et de l'état final du problème.
Eco-résolution Chaque agent a un but (un autre agent) des dépendances (d'autres agents) des accointances ( " ) des gêneurs ( " ) Le modèle de comportement est un automate à états finis (différences entre les versions): satisfait: l'agent ne fait rien rechercheSatisfaction: l'agent cherche à se satisfaire rechercheFuite: l'agent a été agressé et tente de fuir fuite: l'agent fuit
Eco-résolution Informellement... La résolution du problème est: Si le but d'un agent n'est pas satisfait, l'agent demande à son but de se satisfaire et se place dans ses dépendances. Quand un agent se satisfait, il informe ses dépendances qu'elles peuvent se satisfaire. Quand un agent ne peut se satisfaire, il recherche les gêneurs parmi ses accointances et les agresse (leur demande de fuir). Quand un agent cherche à fuir, il recherche les gêneurs parmi ses accointances et les agresse. La résolution du problème est: incrémentale réactive
Intérêt de cette approche Passerelle vers les domaines de la Vie Artificielle et du néo-connexionisme. Offre la possibilité de confronter, au sein du même domaine (IAD), différentes théories de la cognition (sociale, individuelle). A régénéré le débat sur l’interprétation du fonctionnement d’un système, car un système multi-agent peut-être interprété comme coopératif sans que les agents aient été pourvus de la moindre capacité explicite de coopération.
Modèles physiques
Modèles physiques Le modèle physique est utilisé comme métaphore. Les analogies suivantes peuvent être établies entre le modèle multi-agents et le modèle physique : un agent correspond à une particule dynamique, un but correspond à une particule statique, la compétence d’un agent est représentée par la masse de la particule (et son énergie potentielle), et l’atteinte d’un but correspond à une collision statique/dynamique. L’algorithme utilisé pour la satisfaction du but par l’agent correspond à l’itération de la dynamique du système physique (qui détermine les trajectoires de chaque agent). Dans ce modèle, chaque agent calcule son potentiel qui dépend des autres agents et des buts. Il interagit avec les autres entités voisines, mais il n’interagit pas avec la totalité des entités du système (les agents ont donc un champ de perception et d’action limité). Les deux propriétés émergentes sont la coopération et l’évitement de conflits.
Modèles physiques Projet RIVAGE (LIP6-IRD) Ce projet de recherche s'intéresse à l'application des systèmes multi-agents à la simulation de phénomènes physiques. Un tel développement doit faire face à la gestion d'échelles et de points de vue multiples. RIVAGE met l'accent sur le ruissellement sur une surface topographique au cours d'une pluie. Des particules générées par la pluie - boules d'eau - représentent des volumes d'eau discrets. Localement les densités de boules d'eau induisent une hauteur d'eau sur la surface. A chaque pas de temps, suivant des règles simples, les agents boules d'eau se déplacent sur la surface en descendant les gradients de hauteur d'eau et de hauteur topographique, leur vitesse est mise à jour en conséquence. Ainsi, en fournissant en entrée un fichier de topo et un fichier de pluie, le programme simule l'évolution des champs de hauteurs d'eau et de vitesse - calcul+visualisation cf. figures ci-dessous.
Modèles sociaux
Métaphore sociale Les structures organisationnelles décrivent comment les membres du groupe interagissent et coopèrent afin d'atteindre un but commun. Conception de nouvelles techniques inspirées (plus ou moins fortement) de méthodes réelles transposées dans le domaine de l'informatique: protocoles de négociation appels d'offres, passation de marché protocoles de conversation Exemples: Contract net (réseau contractuel) Speech acts (actes de langage)
Réseau contractuel (Contract Net) Le réseau contractuel repose sur un mécanisme d'allocation de tâches régi par le protocole d'appel d'offres qui est utilisé dans les organisations humaines. Le modèle est basé sur une communication par envoi de messages entre agents. Dans les réseaux contractuels, un agent peut avoir deux rôles par rapport à une tâche : manager ou contractant. Le protocole est composé de trois phases : annonce d'une tâche : le manager décompose la tâche qui lui est confiée en sous tâches et fait une annonce de tâches aux agents du système, offre d'un service : les agents évaluent leur intérêt en fonction de leur ressources. Si la tâche est intéressante, ils soumettent une offre au manager, attribution d'une tâche : le manager choisit un ou plusieurs agents candidats pour exécuter la tâche et informe les autres agents de ce choix.
Réseau contractuel (Contract Net) Agent-Initiateur Agent-Participant Call for proporsal Refuse Not understood Accept proporsal Reject proporsal propose Inform cancel
FIPA- Contract Net
Protocole de négociation Manager Participant Inform(start auction) Not understood Accept proporsal (price) Reject proporsal(price) Propose (price) Cfp(price+10) Cfp(initial price) (d :10) m n Request(price) Inform(end auction) {n>= 2} {price>= reserved price} {d(current time , start)> delay}
une taxonomie des types de ventes aux enchères Mécanisme de commande descendant ascendant Des règles de séquence ? La double enchère L’enchère privée ??? L’enchère par appel L’enchère continue Enchère japonaise L’enchère hollandaise L’enchère anglaise Nature des séquences Oui Non Un seul Plusieurs Le nombre de produits vendus par transaction Le nombre des transactions La forme des offres ou des propositions Plusieurs offres et plusieurs propositions Le nombre d’offres et le nombre des propositions Plusieurs offres et une seule proposition Plusieurs propositions et une seule offre Privé Public
Métaphore sociale … Conséquences Il faut doter les agents de capacités de représentation et de contrôle des interactions, afin qu’ils participent aux simulacres de processus sociaux dans lequel on les plonge. Prise en compte de la cognition sociale (dans la continuité de l’IA) Apparition de thèmes de recherche centrés sur l'agent, liés aux facultés : de communication, de représentation de soi, des autres, de planification et révision du comportement, de manipulation de croyances, d’intentions, et de buts.