La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

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

11 Coordination par planification multi-agents

12 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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}.

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

41 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 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 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 44 Exercice TD 1/4 Considérons le monde suivant: ABCDEF ZONE 1 agent 1 agent 2 ZONE 2 agent 1

45 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 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 (aller_@) ou charger (transport)? Pour cela deux actions élémentaire “avancer” et “reculer”

47 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 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 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]

50 Coordination par formation de coalitions

51 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 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 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 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 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 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 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 58 Calcul des préférences Préférences initiales Préférences dépendantes Fléxible:   0 ; Rigide:   1

59 59 Diffusion parallèle Ack

60 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 61 Tour n°01234 Echange de préférences

62 62 Tour n°01234 Formation d’alliances

63 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 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 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 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 67 Nombre de tours / Nombre d’agents Nombre de tours Nombre d’agents

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

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

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

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

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

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

74 Merci !


Télécharger ppt "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."

Présentations similaires


Annonces Google