1 La coordination dans les systèmes multi-agents Tarek Melliti IBISC – Université D'Evry-Val D'essonne (ce cours est fondé sur le cours de pf. Amal El.

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

MOT Éditeur de modèles de connaissances par objets typés
22 mai 2007 Clauvice Kenfack – Équipe MODEME
La Couche Réseau.
Karima Boudaoud, Charles McCathieNevile
AVANCEMENT DES TRAVAUX DE THESE
IREMIA : Institut de REcherche en Mathématiques et Informatique Appliquées Université de la Réunion Uniformisation des mécanismes de conception de SMA.
Algorithmes et structures de données avancés
Réflexivité et réseaux d’ information
Les Systèmes Multi Agents
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
Equipe optimisation TempoSoft
ACS et Séquences Comportementales en environnements non-markoviens
"Recherche de scénarios redoutés à partir d'un modèle réseau de Petri"
Interactions - Systèmes Multi - Agents Master IMA - 1 Environnement
univ-lr.fr
UML (Unified Modeling Langage)
Modélisation des systèmes non linéaires par des SIFs
DEMARCHES PEDAGOGIQUES en PSE
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
Active Directory Windows 2003 Server
Bases de l’Intelligence Artificielle Distribuée
Prise de décision dans les shooters TER 08/09 Sandrine Buendia
INTRODUCTION Objectif:
Les Systèmes Multi-Agents pour la Gestion de Production
Aide à la décision et à la négociation dans un problème de gestion de production distribuée Jean-Pierre Camalot et Patrick Esquirol LAAS-CNRS 7, avenue.
Algorithmes Branch & Bound
Réalisée par :Samira RAHALI
DURIBREUX, Michèle & COCQUEBERT & HOURIEZ, Bernard,
Introduction à la conception de Bases de Données Relationnelles
(ref : Bray section pages 283 à 290)
Le Travail Collaboratif ...
Algorithmique et Programmation
B Souda Abdelhafidh Mai 2006 Lévaluation est-elle une innovation en Tunisie B souda Abdelhafidh Élève inspecteur au CENAFFE.
MOT Éditeur de modèles de connaissances par objets typés
IFT 2251 Génie Logiciel Spécification de Processus Concurrents
Présentation Structures de Données et TDA
IFT Complexité et NP-complétude
Programmation concurrente
Vincent Thomas Christine Bourjot Vincent Chevrier
Recherche Opérationnelle
Partie II Sémantique.
Sémantique dénotationnelle
SEMINAIRE DE CONTACT novembre 2008 Outils de gestion de projet.
Programmation non procédurale Le projet ECOLE 2000
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
Patrons de conceptions de créations
Logiciels et technologies de l'information de gestion
Fondements de l’algorithmique des réseaux
JavaScript Nécessaire Web.
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le langage Racket (Lisp)
J. Cardoso — C. Sibertin-Blanc — C
Initiation à la conception des systèmes d'informations
© Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Spécification de Processus Concurrents Hiver 2002 Petko Valtchev.
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Distributed Planning Distributed Problem Solving, motivations, strategies. Distributed Planning : Centralized planning for distributed plans. Distributed.
La programmation par objets Principes et concepts Etude de Smalltalk.
ISNET-43 Atelier de génie logiciel Approche fonctionnelle ou objets Concurrence ou complémentarité ? Synthèse.
IFT – Ingénierie des connaissances Exposé d’article
INTRODUCTION AUX BASES DE DONNEES
Réseaux de Petri et suivi du joueur
Modélisation des Actions Mécaniques Première sti2d
« LA PERFORMANCE DOIT ÊTRE GÉRÉE… ». 2 GÉRER / MESURER ? GÉRER LA PERFORMANCE DES PERSONNES, C’EST BEAUCOUP PLUS QUE LA MESURER. Partager.
1 La Coordination dans les Systèmes d’Information Orientés Agents (SIOA) Participants IRIT-UT1 : E.Andonoff, L. Bouzguenda,J. Cardoso, C. Hanachi, C. Sibertin-Blanc,
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
Cycle, Cocycle, Arbre et Arborescence
Transcription de la présentation:

1 La coordination dans les systèmes multi-agents Tarek Melliti IBISC – Université D'Evry-Val D'essonne (ce cours est fondé sur le cours de pf. Amal El fallah Segrouchni paris 6)

2 Plan Présentation des SMA Un paradigme de conception orienté agent Une vision SMA Problématique de la coordination Modèles de coordination Planification distribuée pour agents coopératifs Formation de coalitions pour agents compétitifs Quelque mots Conclusion

3 Les SMA sont des systèmes issus de l'I.A.(D.) Agents : entités de base du SMA aptitudes cognitives (raisonnement)  comportement réflexif et (semi-) autonomie des agents capacités d’apprentissage  adaptabilité aux environnements dynamiques Les SMA sont des systèmes distribués Distribution du contrôle  Tolérance aux pannes, répartition de charge Décomposition des traitements  traitement de problèmes simultanés et potentiellement corrélés avec des optimisations éventuelles et amélioration des performances globales du système Les SMA s'apparentent aux machines interactives Echange par interaction exclusivement (e.g. envoi de messages, ACL) Intérêt des SMA : un héritage multiple

4 Un paradigme de conception agent Sous-systèmes en interaction non monotonie et non déterminisme Deux approches : descendante (top-down) : conception de systèmes complexes Décomposition en sous-systèmes interactifs  Résolution distribuée ascendante (bottom-up) : modélisation et simulation de systèmes dynamiques Composition de sous-systèmes  interactions et exécution distribuée Avantages Adéquation aux applications distribuées et coopératives Capacité de prendre en charge des systèmes ouverts Intégration d’opérateurs humains (ACL et sémantiques intentionnelle et opérationnelle)

5 S M A Hypothèses Agents logiciels, autonomes, hétérogènes, coopératifs ou concurrents, distribués et communicants Environnement partagé et dynamique, ressources limitées Problèmes Génériques Exécutions concurrentes => Blocage, famine, etc. Communications asynchrones => Absence d’état global Spécifiques Définition des communications dans un système ouvert Gestion des informations incomplètes, vision partielle des agents (contexte d’exécution propre) Conciliation de l'autonomie locale et la cohérence globale Besoin de modèles de coordination sophistiqués

6 L' approche des SMA Approche cognitive pour la conception, l’analyse et la vérification d’applications réparties coopératives à base d’agents intelligents Intégration de la distribution comme propriété intrinsèque du SMA Applications distribuées Spécification formelle de SMA en vue de leur validation Modèles prenant en charge la concurrence et la vérification Application des modèles théoriques Domaines d’application concrets

7 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 de type RdP  Algorithmique répartie  Observation répartie SMA Espace SMA 3 axes fortement corrélés Interaction Concurrence

8 La coordination multi-agents Objectifs Atteindre ou maintenir un état global où les états locaux des agents sont compatibles Favoriser la synergie des agents Processus Contrôle la prise de décision et guide le comportement global des agents Problème de prise de décision distribuée sous incertitude Problème relatif à la connaissance et l’action

9 Modèles de coordination Modèles orientés tâches Issus de la résolution distribuée de problèmes Echange d’abstractions de comportements entre agents Existence d’un but global Agents généralement coopératifs Optimisation de l’efficacité globale Modèles orientés agents Dominance des buts individuels Agents souvent compétitifs Optimisation de l’efficacité individuelle

10 Principales approches de la coordination Coordination orientée résolution distribuée de problèmes Distributions spatiales, fonctionnelles, temporelles Exemple : systèmes de diagnostic, de supervision, etc. Coordination basée sur les structures organisationnelles Organisations statiques versus dynamiques Exemple : systèmes normatifs Négociation et prise de décision distribuée Théorie des jeux, théorie d’aide à la décision, etc. Coordination par planification distribuée Coordination par formation de coalitions Coordination basée sur les protocoles d'interaction ou de coopération Exemple : protocoles de négociation, d’enchères, etc.

Coordination par planification multi-agents

12 Un problème de planification multi-agents Planification multi-agents Un planificateur plusieurs exécutants Planification centralisée Chaque agent planifie & exécute Planification distribuée Orientée tâche Décomposition Orientée agent Coordination

13 Scénario : réseau de trafic maritime 2 classes d’agents : convoyeurs et marchands Convoyeur transporte la marchandise In_Hang : Dépot de marchandise Out_Hang : Retrait de marchandise Boat de volume limité Marchand distribue la marchandise Ne peut déposer que dans In_Hang d’un convoyeur Ne peut retirer que d’un Out_Hang d’un convoyeur Agents situés sur des nœuds distincts du réseau Déplacement entre les nœuds via des liens dynamiques Nœuds reliés par des canaux Canaux peuvent être encombrés, momentanément fermés, etc.

14 Modèlepour les plans: Réseaux de Petri Cas mono-agent Une capacité à représenté le monde et ses actions (consistence) Un algorithme de planification=plan linéaire (une suite d'action) Le plan est donc une suite d'exécution Un modèle pour le plan : On va utiliser les réseaux de petri pour réprésenter un plan C'est modèle qui exprime un ordre partiel ou total entre des transitions et ceci grace à un système de contrôle à base de jetons.

15 Réseaux de petri : structure et sémantique Structure d' un réseau de petri : un graph bipartite Rdp P: place;T: transition, F  P  T  T  P Un système de réseaux de petri Un markage (noté M) est une affectation d'une entier à chaque place du réseaux(nombre de jetons) => vecteur d'entier de taille |P| Un système de réseau de petri est un couple structure + markage initilal M 0 => Rdp= Dynamique d'un résaux de petri Chaque transition est definit par les préconditions (le nombre de jetons minimal dans les places d'entrées) pour que la transition devienne déclenchable les postconditions (le nombre de jetons produit dans les places de sorties) une fois la transition déclenché On peut les écrires sous forme de deux matrices qu'on appel matrices d'incidences W - et W +

16 Réseaux de petri : structure et sémantique Def: un Rdp est n-uplet sémantique Markage est une configuration du système Les transition représente les actions La sémantique d'un réseaux de petri est un système dynamique dont le comportment est definit par le graph d'accessibilité

17 Réseaux de petri : structure et sémantique Graph d'accesibilité d'un Rdp est un LTS (système de transition étiqueté) LTS : S  M s 0 =M 0  S  T  S tel que  (s,t,s')  on a s  W - (.,t) et s'=s-W - (.,t)+W + (.,t) Donc l'ensemble de trace possible du graphe d'accessibilité représente l'ensemble du comportement du système repréprésenté par le Rdp associé. T1T1

18 Modèle récursif de planification (1/3) Self.Aller_A(X.Src_Loc) Chaqu agent peut produire un réseaux de petri comme plan Les agent penvent en se basant sur leurs action élémentaire résoudre un certain nombre de problème. Eg l'agent convoyeur: Se déplacer d'un noeud à un noeud voisin Quelque soit sa position si on lui pose la question va vers un noeud X il est capable de produire un plan pour Sauf que, aller vers un noeud X est une capacité qui ne figure pas parmi ses action mais il peut la réaliser Sa réalisation se fait sur un modèle qui dépend d'un certain nombre de paramètres (sa position actuelle, etc...) Les agents peuvent donc publier des capacités abstraite de haut niveau du moment que ça un sens applicatif. L'idée est que ses schémas de plan ou action abstraite forme un comportement abstrait des agents sous forme de plan abstrait

19 Modèle récursif de planification (1/2) Principes du modèle proposé Plan, abstraction du comportement de l’agent Rôles des agents connus a priori (classes d’agents) Coordination par échange et fusion de plans Réaction à l’environnement par dynamicité d’exécution de plans (raffinement contexte-dépendant) Mécanismes d’exécution Allocation dynamique des tâches Actions abstraites et raffinement dynamique Evaluation multi-critères des plans Résolution des interactions par coordination de plans

20 Modèle récursif de planification (2/2) Modèle basé sur les Réseaux de Petri récursifs (RdPR) Orienté buts (déclaratif) Unifie la résolution des interactions positives (synergie) et négatives (conflits) Structure hiérarchique de plans (actions abstraites) Dynamicité (raffinement) Modèle théorique (dynamique) et interprété (contexte d'exécution) Algorithmes de coordination de plans Opérations sur les plans : fusion, séquentialisation, parallélisation Vérification de la consistance de plans : graphe d’accessibilités

21 Qu’est-ce qu’un RdPR ? Extension stricte des RdP introduisant la dynamicité dans la structure par le typage des transitions Le franchissement d’une transition abstraite la déplie en un sous-réseau Le franchissement d’une transition de fin replie le réseau déplié Self.Aller_A(X.Src_Loc) Self.Se_Déplacer_A(X.Src_Loc) Fin_Aller_A L’état courant d’un RdPR est un arbre de réseaux marqués

22 Modèle interprété Modèle théorique enrichi Objets : modèle du monde Méthodes : actions sur le monde Variables du plan Conditions sémantiques portant sur les objets du monde pour contrôler l’exécution (pré- et post-conditions d’actions) Un plan P est un RdPR interprété P = R : squelette du plan Met : ensemble de méthodes associées aux transitions abstraites ou élémentaires Var : ensemble de variables. Raffinement dynamique : planification conditionnelle

23 Exemple de Méthode Method Ag.Aller_A(Dest) Type Abstract Variables Conditions NameClassPre-Post- Ag Dest Convoyeur Location none none Ag.Cur_Loc =Dest none Self.Transporter(X) Plan du Convoyeur Self.Aller_A(X.Src_Loc) Une Méthode : un label, le type de la méthode un ensemble de RdPR initialisés dans le cas d’une transition abstraite.

24 Raffinement dynamique Plusieurs raffinements associés à une même transition abstraite un raffinement est une méthode d’exécution possible une méthode possible est un RdPR initialisé Méthode = où : R : M 0 : marquage initial de R B 0 : fonction qui lie totalement ou partiellement les variables (Var) aux objets du domaine.

25 Raffinement dynamique : planification conditionnelle le port destination est : le port courant Fin_Aller_A Self.Se_Déplacer (X.Src_Loc) Fin_Aller_A un voisin immédiat n’est pas un voisin Self.Se_Déplacer (Y.Src_Loc) Self.Aller_A(X.Src_Loc) Fin_Aller_A Self.Aller_A (X.Src_Loc) Self.Transporter(X).

26 Sémantique du RdPR Condition de franchissabilité Une transition t est franchissable à partir du nœud s ssi : M(s)  W - (., t) Transition élémentaire Soit t  Telem d'un RdPR associé à un nœud s de Tr, le franchissement de t à partir de s produit l'arbre Tr' tel que : Tr' = (STr', ATr') avec : STr = STr' tel que  s'  s, MTr'(s') = MTr(s') (inchangé pour tout s'  s) ATr = ATr' MTr'(s) = MTr(s) + W + (., t) - W - (., t)

27 Sémantique des RdPR Transition abstraite Soit t  Tabs d'un RdPR associé à un nœud s de Tr, le franchissement de t à partir de s produit l'arbre Tr' tel que : Tr' = (STr', ATr') avec : STr' = STr  {s n } où le RdPR associé au nouveau sommet s n est l'un des réseaux implantant meth(t) et MTr'(s n ) = M 0 (marquage initial d'appel associé à ce RdPR), ATr'= ATr  {a} où a = et transTr (a) = t, MTr'(s) = MTr(s) - W - (., t).

28 Sémantique des RdPR Transition de fin Soit t  Tfin d'un RdPR associé à un nœud s de Tr, le franchissement de t à partir de s produit l'arbre Tr' tel que : Tr' = PRUNE(Tr, s) Soit s' le père de s dans l'arbre Tr et a = l'arc étiqueté par t, alors :  a  ATr', trans Tr' (a) = transTr(a),  s''  (STr' \ {s'}), MTr'(s") = MTr(s"), MTr'(s') = MTr(s') + W + (., transTr(a)).

29 Etat d’un RdPR arbre de réseaux marqués Tr = Tr 0 = (R 0, M 0, B 0 ) pour tout arc a = (s, s’) / trans(a) = t si t est une transition élémentaire : mise à jour du marquage si t est une transition abstraite : on crée un nouveau sommet s dans Tr labellé par t si t est une transition de fin : Tr est élagué à partir du nœud courant et le marquage est mis à jour dans l ’arbre d ’exécution

30 Exemple Self.Transporter(X) Plan Convoyeur Self.Aller_A (X.Src_Loc) S 0 = (R 0, M 0, B 0 ), M 0 = (1,0,0) Self.Se_Déplacer(X.Src_Loc) Fin_Aller_A S 1 = (R 1, M 1, B 1 ), M 1 = (1,0) S 0 = (R 0, M 0, B 0 ), M 0 = (0,0,0) Franchissement de la transition abstraite Self.Aller_A(X.Src_Loc) S 1 = (R 1, M 1, B 1 ), M 1 = (0,1) S 0 = (R 0, M 0, B 0 ), M 0 = (0,0,0) Franchissement de la transition abstraite Self.Aller_A(X.Src_Loc) Self.Se_Déplacer(X.Src_Loc) Fin_Aller_A.. S 0 = (R 0, M 0, B 0 ), M 0 = (1,0,0) S 0 = (R 0, M 0, B 0 ), M 0 = (0,1,0)

31 Situations de coordination Interactions positives entre plans (favoriser la synergie) actions redondantes détection statique : séquentialisation actions favorables détection dynamique : incorporation Interactions négatives entre plans (résoudre les conflits) actions défavorables actions exclusives actions incompatibles

32 Algorithmes de coordination Fusion pour traitement d’interactions positives Synchronisation par unification des transitions Fusion pour traitement d’interactions négatives Ajout des places de synchronisation (séquentialisation) Algorithme de parallélisation Vérification de la consistance du plan fusionné

33 Traitement d’une interaction positive Contexte : Agent incapable d’exécuter une action de son plan (initial ou raffiné) Initiation de la coordination Recherche d’un agent à partir de liste d’accointances les attributs de la variable non instanciée (Source, Type Agent, etc.) émission du plan pour coordination

34 Traitement d’une interaction positive L’agent récepteur Reconnaissance et unification Unification et instanciation des variables Fusion structurelle par transition commune Développement de l’arbre d’accessibilité Calcul des Pré- et Post-Conditions Algorithme PPCC [MAAMAW’96] Résultats Le récepteur contrôle l’exécution Exécutions parallèles Récepteur/Émetteur Synchronisation via la transition commune

35 Synchronisation par unification des transitions communes C 1.Transporter(Y) Plan Convoyeur C 1.Aller_A(Y.Src_Loc) C 1.déposer(Y) X.Transporter(Café) Plan Marchand M 1.Déposer (Café, X.In_Hang) M 1.Retirer(Café, X.Out_Hang) B= X/C1 et Y/café

36 Synchronisation par unification des transitions communes C 1.Transporter(Café) Plan Convoyeur C 1.Aller_A(Café.Src_Loc) C 1.déposer(Café) C 1.Transporter(Café) Plan Marchand M 1.Déposer (Café, C 1.In_Hang) M 1.Retirer(Café, C 1.Out_Hang) C 1.Transporter(Café)

37 Validation de plan Validation du plan : Adéquation du modèle interprété au modèle non interprété, i.e. toute séquence de franchissement valide dans le modèle non interprété est une séquence d’actions exécutable dans le modèle interprété Vérification de la consistance du plan Développement du graphe d’accessibilité Génération de toutes les séquences de franchissement possibles (toutes les exécutions potentielles du plan) Optimisation de l’arbre d’accessibilité par des techniques de réduction Calcul des pré- et post-conditions d’actions Appliqué au graphe d’accessibilité Tient compte du contexte courant d’exécution (via les conditions sémantiques i.e. les Pré- et Post-Conditions d’actions)

38 Exemple de construction du G.A. M 1.Déposer C 1.Aller_A M 1.Déposer Arbre identique C 1.Transporter(Café) M 1.Déposer (Café, C 1.In_Hang) M 1.Retirer (Café, C 1.Out_ Hang) C 1.Aller_A (Café.Src_Loc) C 1.Transporter(Café) Plan Marchand P1P1 P0P0 P2P2 Plan Convoyeur Q0Q0 Q1Q1 Q2Q2 C 1.Fin M 1.Retirer C 1.Fin M 1.Retirer <>

39 Vérification de la consistance du plan Function Est_Faisable(in s: node; in c: context) : Boolean; begin {contexte représente les valeurs des paramètres des méthodes} for all arcs (s, s') in A do {A est retourné par l'algorithme de construction de l'arbre d'accessibilté} if Evaluate((s, s').Trans.Method.Pre, c) then {si les Pré-conditions du Contexte courant sont satisfaites} if not ( Est_Faisable(s', Apply((s, s').Trans.Method.Post, c))) then return(false) {il existe un sous-arbre non faisable i.e. the post-conditions non satisfaites} endif else return(false) endif endfor return(true) end {Est_Faisable}.

Traitement des interactions négatives Cas de conflit de ressources impliquant un convoyeur et deux marchands

41 Contexte : Agent en train d’exécuter une instance de plan et reçoit une nouvelle requête concernant le même raffinement Interaction négative si les deux raffinements partagent des objets (ou attributs d’objets) source de conflit Génération du second raffinement même principe que le cas d’interaction positive Test de conflit par rapport aux objets Traitement des interactions négatives

42 Fusion pour traitement d’interaction négative Émetteur : Marchand M 2 C 1.Transporter(Sucre) Plan Marchand M 2.Déposer (Sucre, C 1.In_Hang) M 2.Retirer(Sucre, C 1.Out_Hang) M 1.Déposer (Café, C 1.In_Hang) M 1.Retirer (Café, C 1.Out_Hang) C 1.Aller_A (Café.Src_Loc) C 1.Transporter(Café) Plan Marchand P1P1 P0P0 P2P2 Plan Convoyeur Q0Q0 Q1Q1 Q2Q2 C 1.Déposer(Café, C 1.Out_Hang) Récepteur : Convoyeur C 1

43 Séquentialisation-Parallélisation M 2.Déposer(Sucre, C 1.In_Hang) M 2.Retirer(Sucre, C 1.Out_Hang) C 1.Aller_A (Sucre.Src_Loc) C 1.Transporter(Sucre) P1P1 P0P0 Plan C 1 et M 2 Q0Q0 Q1Q1 C 1.Fin Q2Q2 C 1.Aller_A(Café.Src_Loc) M 1.Déposer(Café, C 1.In_Hang) M 1.Retirer(Café, C 1.Out_Hang) C 1.Transport(Café) P1P1 P0P0 P2P2 Plan C 1 et M 1 Q0Q0 Q1Q1 Q2Q2 C 1.Fin Séquentialisation Parallélisation

44 Exercice TD 1/4 Considérons le monde suivant: ABCDEF ZONE 1 agent 1 agent 2 ZONE 2 agent 1

45 Exercice TD 2/4 Agent 1 Agent classique avec les actions qu'on connaît Chaque agent agit dans une zone Et possède en plus une action abstraite “deplacer/importer un cube d'une zone à une autre”. Agent 2 Possède les actions suivantes : Aller à une zone i (vide) Trasporter un cube X de la zone i à la zone j

46 Exercice TD 3/4 Question 1 Adaptez les actions (déjà vues) des agents de type 1 pour ne les rendre possibles que dans leur zone. Modélisez l'action transport(X,Y,Z) : déplacement d'un cube X de la zone Y vers la zone Z Question 2 Un plan abstrait possible pour l'agent 2 On suppose qu'on a n zones. Ecrivez les différents RDPR pour les deux méthodes associées à ses deux transitions abstraites sachant qu'un agent de type 2 ne peut se déplacer que d'une case (i+1 ou i-1) ceci est vrai aussi bien pour la cas vide ou charger (transport)? Pour cela deux actions élémentaire “avancer” et “reculer”

47 Exercice TD 4/4 Question 3 Ayant un problème à deux agents de type 1 et un agent de type 2, déterminez les types d'interaction positives et/ou négatives qui peuvent exister si chacun des agents de type 1 a un but local à satsfaire. Question 4 Soit le problème suivant État initial:

48 En supposant qu'on a lancé un planificateur STRIPS de chaque côté de ce plan Définir les plans des agents de type 1 en terme de RDPR Proposer une fusion possible en détectant les interactions positives et/ou négatives. Générer le graphe d'accessibilité et validez la fusion que vous avez proposé. Rectifier pour que le plan soit valide.

49 Conclusion - RdPR Modèle de planification proposé a été étendu pour une gestion distribuée des ressources garantissant des accès concurrents équitables et cohérents [MAAMAW'97] repose sur la planification distribuée et la gestion distribuée des ressources unifiées à travers un même modèle permet de caractériser finement différentes situations d’interaction positives et négatives et de les traiter dynamiquement [ICMAS'96] offre un cadre formel pour la planification distribuée qui peut être interprété et contrôlé [MAAMAW'96] en tant que modèle RdP théorique : une extension stricte qui préserve les bonnes propriétés. a été implanté : prototype RAPID dans le cadre d’une CTI-CNET [RIA 98]

Coordination par formation de coalitions

51 Formation de coalitions Coalition Organisation dynamique  Environnements ouverts et dynamiques Engagements ponctuels et contextuel  Réactions opportunistes (à court terme) Formation / Dissolution  Contexte-dépendante Coalitions appliquées à la répartition de tâches Organisation pour coordonner les comportements des agents Coalition = ensemble d’agents qui s'allient pour résoudre une tâche divisée en sous-tâches Synergie des compétences Groupement par intérêt Domaines d'application allocation de tâches (e-commerce, planification), répartition de charge (SMA distribués), etc.

52 Application : compagnies aériennes Objectifs Système unifié de réservation Répartition satisfaisante des étapes Gestion de la concurrence et de la rationalité économique Exemple Agents {EUAL, AAL, WOAL, USAL, AFAL, FRAL, BUAL} Tâches Sous-tâches = {New York - Madrid (via Paris et Lyon), Los Angeles - Moscou (via New York et Paris), Berlin - Johannesburg (via Paris)} + gains associés Compétences {autorisation de survol d’un pays, capacité en passagers, rayon d’action}

53 Problème de formation de coalitions Un PFC est défini comme un 5-uplet où : A : Agents candidats pour exécuter des sous-tâches T : tâches à accomplir S : Sous-tâches à accomplir C : Compétences P : Profit (gain associé à une sous-tâche) Une solution  est une affectation de toutes les sous-tâches qui prend en compte les compétences des agents application  : S  A But : atteinte de consensus concernant une solution (stratégies variables et inconnues des autres)

54 Quel protocole de coordination ? Hétérogénéité : Problème des interactions Soit standardisation (à la FIPA) : permet argumentation Soit simplification (échange de préférences) Rationalité économique Incitation à la coopération (bénéfique pour les agents) Prévoir de contraindre si nécessaire Indépendant des stratégies (universel) Ne pas favoriser d’agent (égalitaire) Forte autonomie Prévenir la fraude (vérification + sanction) Comportement éventuellement complexe (rationalité limitée, calcul sur le long / court terme …) Aucune hypothèse sur le degré de coopération des agents

55 Protocole de formation de coalitions Objectif : Parvenir à une répartition des sous-tâches entre les agents par atteinte d’un consensus Algorithme distribué : Echange de préférences Contrôle du respect du protocole Garantie de l’impartialité Atteinte d’un consensus par la formation d’alliance (en cas de blocage) Etablissement d’une règle qui garantit l’atteinte d’un consensus (convergence du protocole)

56 Principes du protocole Processus itératif Calcul des préférences Echange de préférences (diffusion parallèle garantissant un accès équitable à l’information) Formation d’alliances en cas de blocage

57 Représentation des préférences Préférences : « distances » entre solutions Pas de messages complexes (hétérogénéité) E.g. : X préfère largement  1 à  2   (  1,  2 )=.9 Matrice antisymétrique :

58 Calcul des préférences Préférences initiales Préférences dépendantes Fléxible:   0 ; Rigide:   1

59 Diffusion parallèle Ack

60 Algorithme - Diffusion parallèle For all  do   Encrypt( , key) broadcast(  ) { diffuser l’information cryptée } receiptAll( ,  \  ) { attendre toutes les réceptions } broadcast(« Ack ») receiptAll(« Ack »,  \  ) broadcast(key,  \  ) { diffuser la clé }

61 Tour n°01234 Echange de préférences

62 Tour n°01234 Formation d’alliances

63 Algorithme - Les préférences IndPref  IPC {Calcul des préférences initiales} h  DiffParallèle(IndPref) {Diffusion et mise à jour} While (  consensus) do If RSPC(h) Then sendAll(«Mode déblocage ?») If receive(«Mode déblocage ?») Then If RSAC Then sendAll(«accepte déblocage») If receiveAll(«accepte déblocage») Then call mode_déblocage DepPref  IPC {Calcul des préférences dépendantes} h  DiffParallèle(DepPref)

64 Algorithme - Mode déblocage Broadcast(«propose formation alliance», AFPC(h)) { AFPC : ensemble des agents à qui proposer une alliance } For each a / receive(«propose alliance»,  ) do If  AFAC(h) Then send(«j’accepte»,  ) { AFAC : décide si la proposition de  est acceptable } If (pas d’alliance formée) Then  SMA.nearestAgents() {SMA.nearestAgents() : fonction commune connue au début du processus } Les membres de  doivent former une alliance

65 Terminaison & Convergence Concept d’histoire pour prévenir les cycles une histoire contient un cycle si une situation se présente deux fois Théorème si un CFP détecte les cycles, alors le processus termine et il converge Preuve nombre fini de solutions consensus si tous les agents ont la même préférence

66 Résultats de la simulation Nombre d’agents Incidence sur la vitesse de convergence Stratégie Incidence sur les gains des agents Incidence sur la vitesse de convergence Compétition Incidence sur les gains des agents Incidence sur la vitesse de convergence

67 Nombre de tours / Nombre d’agents Nombre de tours Nombre d’agents

68 Gain d’un agent face à une population uniforme Gains

69 Gain d’un agent face à une population uniforme Gain

70 Vitesse de convergence dans le cas d’une population uniforme Nombre de tours

71 Gain d’un agent / Nombre de sous-tâches par agent Gain Nombre de sous-tâches par agents

72 Nombre de tours / Nombre de sous-tâches par agent Nombre de tours Nombre de sous-tâches par agent

73 Conclusion - Formation de coalitions Protocoles pour l'atteinte de consensus rationalité, autonomie, distribution Un concept de consensus qui peut lui-même être sujet à consensus entente préalable sur les règles Difficulté d'appliquer les algorithmes de consensus (SD) ni la théorie des jeux Coalitions particulièrement utile pour simuler des systèmes économiques (ou autres) et paramétrer les stratégies.

Merci !