Agent-SMA
-
Upload
heart-king -
Category
Documents
-
view
234 -
download
0
Transcript of Agent-SMA
1
Chapitre I :
Agent
et
Systèmes Multi-Agents
Diplôme D‘ingénieur en Informatique : ING_INF_SI_3
Zaki Brahmi, Enseignant-chercheur
Université Centrale
Systèmes Multi-Agents (SMA)
2
PlanPlan
Motivations
Définitions
Modèles Multi-Agents
Caractéristique des SMA
Domaines d’application
Bibliographie
3
IA vers IA. DistribuéeIA vers IA. Distribuée
En 70, la concurrence et la distribution ont contribué a la naissance d'une nouvelle discipline : l'Intelligence Artificielle Distribuée (IAD)
Métaphore principale del’Intelligence Artificielle :
le « penseur » isolé. Métaphore de l’IA distribuée : une communauté de « penseurs »
Métaphore SocialeCerveau humain
Les problèmes sont devenusLes problèmes sont devenus4
Fonctionnellement distribués
La résolution du problème nécessite l’intervention d’experts aux compétences variées. Métaphore du Tableau noir
Spatialement distribués La résolution du problème nécessite l’intégration de données en provenance de sites géographiquement distincts.
Complexes à appréhender de manière globale
La résolution doit opérer par composition de solutions élaborées de manière locale
[Newell 62]
Problèmes physiquement distribuésProblèmes physiquement distribués
Résolution répartie de problèmes distribuésRésolution répartie de problèmes distribués
5
DVMT (Distributed Vehicle Monitoring Testbed)
Repérage des mouvements de véhicules à partir d’un réseau de capteurs
Accomplissement collectif d'une tâche d'interprétation où les informations sont agrégées de façon incrémentale pour générer une carte.
Etude des interactions entre des systèmes de résolution de problèmes (réseau de tableaux noirs)
Problèmes complexes à appréhender de manière globaleProblèmes complexes à appréhender de manière globale
Eco-Résolution (Eco Problem Solving)Eco-Résolution (Eco Problem Solving)
6
Chaque agent a un but (un autre agent) des accointances (d’autres agents) des dépendances (d’autres agents) des gêneurs (d’autres agents)
Le modèle de comportementest un automate à états finis :
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
Le matériel a évolué ...Le matériel a évolué ...7
vers la connexion d'ordinateurs en réseaux
vers des ordinateurs massivement parallèles
vers des microprocesseurs à multiples unités de calcul
vers la poussière intelligente, et les réseaux de capteurs
les connaissances et les services sont répartis sur le réseau les utilisateurs du réseau doivent travailler ensemble
les processeurs doivent coordonner leur exécution pour produire un résultat
les unités de calcul doivent coordonner leur exécution
multitude d’unités de calcul très simples
Systèmes logiciels complexesSystèmes logiciels complexes8
Les systèmes deviennent de plus en plus complexes
Développer des techniques modulaires de réalisation de programmes
Développer l'autonomie des entités informatiques
Développer des "frameworks" d'intégration de ces entités
Les systèmes sont de plus en plus distribués
Techniques permettant à des entités informatiques de collaborer à distance de manière simple et transparente.
La programmation a évolué ...La programmation a évolué ...9
…vers plus de modularité
1950 Langages machine et assembleur
1960 Programmation procédurale
1970 Programmation structurée
1980 Programmation orientée-objet Références directes entre les objets : objet appelé, nom de méthode appelée Mal déployables : la classe reste indispensable
1990 Composants, Agents
…vers plus d'autonomie
variables et fonctions objets (encapsulation) acteurs (objets + parallélisme) agents (acteur + pro-activité)
La programmation a évolué ...La programmation a évolué ...10
…vers plus de distribution et d’hétérogénéité
multi-threads
sockets
RPC (Remote Procedure Call) : est un protocole réseau permettant de faire des appels de procédures sur un ordinateur distant à l'aide d'un serveur d'applications.
Java RMI (Remote Method Invocation) : Solution de Sun pour l’invocation de méthodes Java à distance.
CORBA (Common Object Request Broker Architecture)
Agents
11
Les robots doivent intervenir ...Les robots doivent intervenir ...
…en environnement incertain
…de manière collective
les robots doivent devenir mobiles
les robots doivent décider de leurs actions de manière dynamique et autonome
les robots doivent coordonner leurs actions
les robots doivent s’organiser collectivement afin d’effectuer la tâche demandée
12
RoboCupRoboCup
Construire des groupes de robots capables de jouer à un sport collectif (ressemblant au football) Confronte des techniques essentiellement logicielles à un
environnement dynamique réel Imperfection de la perception et de la Communication
Incomplétude de l'information Hiatus entre intention (prévision) et action Possibilités de pannes
13
BesoinsBesoins
Nouveaux besoins d’applicatifs :
Hétérogénéité (Chacun à son informatique)
Évolutivité (Alliances changeantes, Contrats révisables )
Autonomie (chacun est responsable de son travail et de la gestion de ses ressources)
Ouverture (arrivé/ départ d’un partenaire )
Flexibilité (changement de compétence)
Coopération
Le passage à la métaphore socialeLe passage à la métaphore sociale14
Les entités intervenant dans la résolution d’un problème sont chargées de résoudre le problème de leur organisation
… de contrôler des modules à donner à des agentsles moyens de s’organiser
il faut leur donner les moyens nécessaires pour le faire on leur confère ainsi une autonomie
Système Muli-Agents dans le quel les agents :
coopérer collaborer négocier se coordonner (synchronisation)
Agent, Système Multi-AgentAgent, Système Multi-Agent15
Vision Externe
SMA = ensemble d’agents, qui Interagissent entre eux, dans un environnement commun, constituant, éventuellement, une organisation.
Vision Interne
Agent : logiciel ou matériel regroupant traitements et données, capable de contrôler ses activités de raisonnement et décision, de perception et d’action sur l’environnement, de communication avec les autres agents, de gestion des relations.
Agent : entité réelle ou virtuelle autonome, réactive, pro-active etsociale (interaction avec d’autres agents, gestion de relations avec d’autres).
16
3 axes fortement corrélés
Cognition
Protocoles d'interaction
Modèles Cognitifs Multi-Agents Raisonnement multi-agents Apprentissage multi-agents Formation de coalitions Planification distribuée
Sémantique des interactions Modélisation cognitive des interactions Ingénierie des protocoles d’interaction
Formalismes et techniques Formalismes Algorithmique répartie Observation répartie
SMA
Inte
ract
ion
Concurrence
17
Sources d’inspiration des SMAs
Psychologie cognitive et théorie des jeux pour la prise de décision rationnelle
Sociologie, linguistique pour l’interaction
Écologie pour l’environnement
Éthologie pour le comportement, l’auto-organisation
Informatique
Philosophie
etc.
18
Colonie de FourmisColonie de Fourmis
19
Recherche du plus courtchemin
•Plus de phéromone sur le plus Court chemin,
• Travaux de Marco Dorigo depuis 1992: Ant algorithms
20
Recherche du plus courtchemin
Évaporation de la phéromone,
Distance du chemin
Modèles Multi-Agents : Approche ‘‘Voyelles’’Modèles Multi-Agents : Approche ‘‘Voyelles’’21
Un SMA est manipulé selon quatre familles [Demazeau 95] :
Agent Environnement Interaction Organisation
Selon un point de vue centré système (global) etselon un point de vue centré agent (local)
Modèles centrés systèmesModèles centrés systèmes22
[O. Boissier; cours master]
AgentAgent23
Eléments pour définir les entités actives du système (architectures internes, représentation des connaissances, …)
Sources d’inspiration
Types d’agents :
Intelligence Artificielle, Objets, Robotique, ...
Agent Réactif
Agent Délibératif (Modèle Belief Desire Intention (BDI)
EnvironnementEnvironnement24
Eléments pour structurer les interactions avec l’entité commune partagée entre les agents (Perception, Action, Dynamique de l’environnement, …)
Interaction Interaction 25
Eléments pour structurer les interactions entre les agents (Agent Communication Languages, Protocoles d’interaction, …)
Agent Communication Language (ACL)Agent Communication Language (ACL)26
Langage de haut-niveau pour l’échange d‘attitudes propositionnelles et établir collaboration, négociation, ...
Inform, request, cfp, agree, understood, …
FIPA-ACL, KQML, etc.
Architecture
Sender, Receiver, Langage de contenu : KIF, FIPA-SL, FIPA-CCL, etc.
Vocabulaire commun, avec des définitionsprécises, relatif à un domaine (Ontologie)
FIPA Contract Net ProtocolFIPA Contract Net Protocol
27
OrganisationOrganisation28
Eléments pour structurer, contraindre les agents (Structures Organisationnelles, Normes, Lois, …)
SynthèseSynthèse29
[Tiré du cours de O. Boissier]
Modèles centrés AgentsModèles centrés Agents30
Modèle centré AgentModèle centré Agent31
Technologie Multi-AgentsTechnologie Multi-Agents32
Les SMA ne sont pas, encore, un modèle d’implémentation et les outils de développement SMA sont souvent spécifiques,
Apparition de quelques langages de développement d’agents
Le développement de SMA repose sur des langages de programmation existants (java, etc.).
Le développement d’applications SMA est souvent difficile (implémentation, distribution, communications, …)
La tendance des recherches et études actuelles est de s’orienter vers la Programmation Orientée Multi-Agent : programmation d’applications SMAs avec des outils Multi-Agents.
Caractéristiques des SMACaractéristiques des SMA33
13 Caractéristiques des SMA sont identifiées dans « Système Multi-Agents »
Il ont met en évidence :
Autonomie / Contrôle Décentralisé
Distribué
Hétérogénéité
Place des utilisateurs
La connaissance dans les SMA
Délégation du contrôle au système et émergence
Caractéristiques des SMACaractéristiques des SMA(1/6) Autonomie / Contrôle Décentralisé(1/6) Autonomie / Contrôle Décentralisé
34
Autonomie des agents X est autonome par rapport à Y pour P de Y : Si X est capable de décider localement de l’adoption de P;
X : agent Y : Utilisateur, Environnement, Autre agent, Organisation, … P : but, plan, action, ressource, interaction, …, décider, respecter une norme,
Questions d’éthique de la responsabilité des agents ?
Décentralisation du contrôle
Exemple : feux de circulations
Contrôle centrale : 1 seul feu réglant la circulation de Tunis Contrôle décentralisé : 1 feu par carrefour
Caractéristiques des SMACaractéristiques des SMA(2/6) Distribué(2/6) Distribué
35
A la naissance des SMA (IAD) !
Différents types de distributions qui peuvent être prises en compte :
Distribution physique (des traitements, des données)
Distribution de la compétence des agents : Faire mieux à plusieurs que seul Robustesse (si on perd un agent sur 100, peut importe)
Distribution des rôles et des buts des agents : Faire mieux grâce à l’hétérogénéité des agents
Caractéristiques des SMACaractéristiques des SMA(3/6) Hétérogénéité/Homogénéité(3/6) Hétérogénéité/Homogénéité
36
Hétérogénéité : SMA constitué d’agents différents
Homogénéité : SMA constitué d’agents identiques
Hétérogénéité étendue
Plutôt pour des agents cognitifs et en petite quantité Avantages pour faciliter l’intégration d’agents non initialement prévu (Ouverture)
Plutôt pour les agents réactifs et en grande quantité
Agents physiques (Robots) Intégration facilité des agents humains comme d’autres agents au sein du SMA
Caractéristiques des SMACaractéristiques des SMA(4/6) Utilisateurs(4/6) Utilisateurs
37
Les utilisateurs peuvent être intégrés au SMA Un agent représente un utilisateur dans un environnement (généralement) virtuel Personnalisation de l’agent qui trace le profil de l’utilisateur pour s’adapter au besoin de celui-ci Intelligibilité :
SMA pour les simulations : les entités du système modélisés correspondent aux agents SMA anthropomorphiques : Le fonctionnement des systèmes Multi-Agents sont facilement compris par les utilisateurs
Caractéristiques des SMACaractéristiques des SMA(5/6) Connaissances dans les SMA(5/6) Connaissances dans les SMA
38
Les connaissances et leur traitement ne sont pas un objet d’étude central des SMA
Deux solutions (souvent combinées) :
Approche blackboard : les données sont partagées et accessibles à tous les agents
Approche cognitive : les données sont dans les agents eux-mêmes
Caractéristiques des SMACaractéristiques des SMA(6/6) Délégation du contrôle(6/6) Délégation du contrôle
39
Délégation du contrôle au système
Comment garantir, à la conception d’un SMA, un résultat ?
Vers la perte délibérée du contrôle :
Objectif mettre en place des systèmes adaptatifs Questions d’éthique ?????
Les agents sont autonomes L’utilisateur humain n’intervient que comme une partie du SMA Il n’y a pas de contrôle global des traitements par l’utilisateur
Pas de mécanismes de contrôle mis en place!Mais : Utilisation de mécanisme de résolution de conflit Etudes formelles des systèmes « coopératifs »
Observation de phénomènes émergents Conception d’agents adaptatifs, auto-réplicants
Caractéristiques des SMACaractéristiques des SMA40
Comparaison avec d’autres méthodologies de conception de systèmes informatique
Objets
Thread
Définition de rôles, interactions et organisation (hiérarchies) Distributivité des traitements
Autonomie
Distribution des traitements Dynamisme Autonomie
Hauts niveaux : Interaction, organisation et environnement Intelligibilité
Caractéristiques des SMACaractéristiques des SMA41
Composants
Distribution des traitements Dynamiques des ressources Autonomies des entités et décentralisation Organisation (coopérations)
Situation dans un environnement
Standard SMAStandard SMA42
FIPA Foundation for Intelligent Physical Agents
• www.fipa.org
MASIF - OMG (Object Management Group) : effort pour la standarisation des agents mobiles - middleware services and internal middleware interfaces
• www.omg.org
Ontology : DAML, OIL, OWL, …
Autres standards
Découverte dynamique de services : UDDI, Jni, etc. mobility : Aglets coordination rules : JavaSpace
Spécification FIPASpécification FIPA43
44
Domaines d’application
Réseaux de transport,
Travail collaboratif assisté par ordinateur,
Robotique,
Simulation de systèmes complexes,
Systèmes de recherche d’information
etc.
Simulation Simulation 45
Modéliser et simuler un phénomène naturel, économique, social, ou “éco-socio-naturel”
Simuler = reproduire un phénomène afin de :
Tester des hypothèses permettant d'expliquer le phénomène (définition d'un modèle) Prévoir l'évolution du phénomène
Simulation en Informatique Simulation en Informatique 46
Monde réel Modèle Simulation
Simulation Simulation 47
Créer un monde artificiel composé d'agents en interaction Trois composantes :
Les agents agissent et modifient l'environnement On observe le résultats de leurs interactions comme si l'on était dans un laboratoire (notion de laboratoire virtuel)
Agent Environnement Les règles de comportement
Simulation : les comportements grégairesSimulation : les comportements grégaires48
Simulation : MANTASimulation : MANTA49
simulation de sociétés de fourmis afin d ’étudier l’émergence d ’une répartition de travail au sein de la société.
Les agents MANTA
Application à la production des films Application à la production des films 50
MASSIVE (Multiple Agent Simulation System in Virtual Environment)
Utilisée pour la création d’effets spéciaux de films (effets de foule)
Domaines d’application Domaines d’application 51
Les jeux vidéo (intelligence des caractères)
52