Agent-SMA

52
1 Chapitre I : Agent et Systèmes Multi-Agents Diplôme D‘ingénieur en Informatique : ING_INF_SI_3 Zaki Brahmi, Enseignant-chercheur {[email protected]} Université Centrale Systèmes Multi- Agents (SMA)

Transcript of Agent-SMA

Page 1: 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

{[email protected]}

Université Centrale

Systèmes Multi-Agents (SMA)

Page 2: Agent-SMA

2

PlanPlan

Motivations

Définitions

Modèles Multi-Agents

Caractéristique des SMA

Domaines d’application

Bibliographie

Page 3: Agent-SMA

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

Page 4: Agent-SMA

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]

Page 5: Agent-SMA

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)

Page 6: Agent-SMA

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

Page 7: Agent-SMA

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

Page 8: Agent-SMA

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.

Page 9: Agent-SMA

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é)

Page 10: Agent-SMA

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

Page 11: Agent-SMA

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

Page 12: Agent-SMA

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

Page 13: Agent-SMA

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

Page 14: Agent-SMA

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)

Page 15: Agent-SMA

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).

Page 16: Agent-SMA

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

Page 17: Agent-SMA

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.

Page 18: Agent-SMA

18

Colonie de FourmisColonie de Fourmis

Page 19: Agent-SMA

19

Recherche du plus courtchemin

•Plus de phéromone sur le plus Court chemin,

• Travaux de Marco Dorigo depuis 1992: Ant algorithms

Page 20: Agent-SMA

20

Recherche du plus courtchemin

Évaporation de la phéromone,

Distance du chemin

Page 21: Agent-SMA

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)

Page 22: Agent-SMA

Modèles centrés systèmesModèles centrés systèmes22

[O. Boissier; cours master]

Page 23: Agent-SMA

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)

Page 24: Agent-SMA

EnvironnementEnvironnement24

Eléments pour structurer les interactions avec l’entité commune partagée entre les agents (Perception, Action, Dynamique de l’environnement, …)

Page 25: Agent-SMA

Interaction Interaction 25

Eléments pour structurer les interactions entre les agents (Agent Communication Languages, Protocoles d’interaction, …)

Page 26: Agent-SMA

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)

Page 27: Agent-SMA

FIPA Contract Net ProtocolFIPA Contract Net Protocol

27

Page 28: Agent-SMA

OrganisationOrganisation28

Eléments pour structurer, contraindre les agents (Structures Organisationnelles, Normes, Lois, …)

Page 29: Agent-SMA

SynthèseSynthèse29

[Tiré du cours de O. Boissier]

Page 30: Agent-SMA

Modèles centrés AgentsModèles centrés Agents30

Page 31: Agent-SMA

Modèle centré AgentModèle centré Agent31

Page 32: Agent-SMA

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.

Page 33: Agent-SMA

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

Page 34: Agent-SMA

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

Page 35: Agent-SMA

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

Page 36: Agent-SMA

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

Page 37: Agent-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

Page 38: Agent-SMA

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

Page 39: Agent-SMA

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

Page 40: Agent-SMA

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é

Page 41: Agent-SMA

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

Page 42: Agent-SMA

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

Page 43: Agent-SMA

Spécification FIPASpécification FIPA43

Page 44: Agent-SMA

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.

Page 45: Agent-SMA

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

Page 46: Agent-SMA

Simulation en Informatique Simulation en Informatique 46

Monde réel Modèle Simulation

Page 47: Agent-SMA

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

Page 48: Agent-SMA

Simulation : les comportements grégairesSimulation : les comportements grégaires48

Page 49: Agent-SMA

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

Page 50: Agent-SMA

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)

Page 51: Agent-SMA

Domaines d’application Domaines d’application 51

Les jeux vidéo (intelligence des caractères)

Page 52: Agent-SMA

52