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

Fabrice Lauri, François Charpillet, Daniel Szer

Présentations similaires


Présentation au sujet: "Fabrice Lauri, François Charpillet, Daniel Szer"— Transcription de la présentation:

1 Fabrice Lauri, François Charpillet, Daniel Szer
Analyse théorique du problème de la patrouille multi-agent en utilisant le cadre des PDM Fabrice Lauri, François Charpillet, Daniel Szer Equipe MAIA – LORIA Nancy Timing = 20s Je vais vous présenter des travaux qui portent sur le PPMA. Dans cet exposé, je décrirais comment modéliser le PPMA à l’aide d’un PDM, afin d’obtenir des solutions exactes pour les instances les moins complexes de ce problème.

2 Plan Problématique générale Cadre de travail [Machado, 2002]
Domaines d’applications Etat de l’art Modélisation par un PDM Conclusions et Perspectives Timing = 30s Je commencerais par la problématique générale. Je définirais ensuite le cadre de travail qui est largement utilisé pour traiter ce problème. Il fut proposé par Machado et ses collègues. En 3ème et 4ème points, je donnerais quelques domaines d’applications qui peuvent être concernés par ce problème, ainsi qu’un état de l’art. Je décrirais ensuite comment modéliser ce problème à l’aide d’un PDM. Je conclurais enfin et donnerais quelques perspectives de recherche.

3 Plan Problématique générale Cadre de travail [Machado, 2002]
Domaines d’applications Etat de l’art Modélisation par un PDM Conclusions et Perspectives

4 Problématique générale
Patrouille = « mission impliquant une équipe de plusieurs agents dont le but consiste à visiter régulièrement les lieux stratégiques d’un environnement, afin de : le défendre le surveiller ou le contrôler. » Plusieurs questions : Comment représenter l’environnement ? Qu’entend t’on par « lieu stratégique » ? Quelle architecture d’agent utiliser ? Quel(s) critère(s) utiliser ? Timing = 40s On peut donner comme définition d’une patrouille, une mission […] Plusieurs questions doivent alors être adressées pour permettre à un groupe d’agents de patrouiller dans un environnement : Par exemple : Comment représenter l’environnement Qu’entend t’on par lieux stratégiques Quelle architecture d’agent peut permettre à un groupe de se coordonner afin d’exhiber un comportement de patrouille efficace Ou Quels critères utiliser pour évaluer une stratégie de patrouille ?

5 Un exemple Environnement 2D, 5 agents
Timing = 10s C’est typiquement ce type de questions auxquelles on devra répondre si l’on veut obtenir des agents capables de patrouiller, par exemple, dans un environnement 2D ou 3D constitués d’immeubles.

6 Plan Problématique générale Cadre de travail [Machado, 2002]
Domaines d’applications Etat de l’art Modélisation par un PDM Conclusions et Perspectives Timing = 10s Machado et ses collègues ont défini en 2002 un cadre de travail simplifié pour traiter le problème de la patrouille.

7 Cadre de travail Environnement graphique
Environnement à patrouiller graphe (de patrouille) Soit G = (V, E, c) un graphe de patrouille : V={1,2,…} : lieux pertinents de l’environnement, E={(i,j) ; i,j V} : ensemble des liaisons sûres entre ces lieux. Pour chaque arc (i,j) : c(i,j) : coût (temps) pour aller de i à j. C Timing = 30s Ils considèrent que l’environnement à patrouiller peut être réduit à un graphe de patrouille. Si l’on considère que ce graphe de patrouille, noté G, est défini par le triplet V, E et c, alors : V est l’ensemble des lieux stratégiques de l’environnement, E l’ensemble des liaisons sûres entre ces lieux Et pour chaque arc (i,j), on définit c(i,j) comme étant le coût pour aller du nœud i au nœud j.

8 Cadre de travail - Exemple Graphe de patrouille, 5 agents
50 nœuds 69 arcs degré 5 Timing = 20s Pour traiter le problème de patrouille de l’exemple précédent qui impliquait 5 agents, on considèrera alors l’existence d’un graphe de patrouille. Les agents sont placés initialement sur les nœuds de ce graphe et ils se déplaceront désormais de nœuds en nœuds.

9 Cadre de travail Stratégie de patrouille
Objectif : Trouver une stratégie multi-agent de parcours du graphe qui minimise le temps entre deux visites d’un même nœud pour chacun des nœuds. = ( 1, 2, …, N), avec : i : stratégie individuelle de l’agent i i(t) : nœud visité par l’agent i à l’instant t s s s s s s s Timing = 30s En considérant un graphe de patrouille donné et une population d’agents disposés initialement sur les nœuds de ce graphe, résoudre le PPMA consiste alors à déterminer […] Soit sigma une telle stratégie impliquant N agents. Alors sigma_i représentera la stratégie individuelle de l’agent i et sigma_i(t) le nœud visité à l’instant i par l’agent i.

10 Cadre de travail Critères d’évaluation d’une stratégie
Soient : In(t) : oisiveté (ou Idleness) du nœud n à l’instant t AvgI(t) : oisiveté du graphe à l’instant t, avec : AvgI( t ) = moyenne des In(t) AvgI : oisiveté du graphe à l’issue de T pas de simulation (ou cycles) WI : pire oisiveté rencontrée au cours de la simulation Mesurer la qualité d’une stratégie S de patrouille = déterminer AvgI (ou WI) après T cycles de simulation de S. La stratégie minimisant WI = stratégie optimale. Timing = 40s Pour évaluer une stratégie de patrouille, Machado propose d’utiliser plusieurs critères basés sur le concept d’oisiveté d’un nœud. L’oisiveté In(t) d’un nœud est le délai pendant lequel ce nœud est resté non visité. Au départ, les oisivetés de tous les nœuds sont nulles. L’oisiveté d’un nœud augmente dès qu’un agent quitte le nœud. Lorsqu’un agent arrive sur un nœud, son oisiveté redevient nulle. Mesurer la qualité d’une stratégie S de patrouille consiste alors à déterminer l’oisiveté moyenne (notée AvgI) ou la pire oisiveté (WI) après T pas de simulation. La stratégie qui minimise WI est la stratégie optimale.

11 Cadre de travail – Exemple Stratégie de patrouille, 5 agents
Stratégie Agent #1 2,5,7,8,10,12 Stratégie Agent #2 1,3,4,9,12,15,20, 25,30 A l’issue de T pas de simulation WI = 1463 AvgI = 549.6 Timing = 40s Pour fixer les idées, voici un exemple d’une stratégie de patrouille multi-agent impliquant 5 agents. Sur l’image, plus un rond vert est grand, plus son oisiveté (le délai pendant lequel il est resté non visité) est grande. Chaque agent dispose d’une liste de nœuds (qui constitue sa stratégie) qu’il doit visiter continuellement. Une fois le dernier nœud de sa liste atteint, il visite alors les nœuds dans le sens inverse. A l’issue de T pas de simulation, la stratégie multi-agent résultant de la combinaison des stratégies individuelles peut être évaluée, en terme de « Pire oisiveté » ou d’ « oisiveté moyenne ».

12 Plan Problématique générale Cadre de travail [Machado, 2002]
Domaines d’applications Etat de l’art Modélisation par un PDM Conclusions et Perspectives Timing = 10s Formulé à partir du cadre de travail de Machado, le PPMA peut s’adresser à plusieurs domaines d’applications.

13 Domaines d’applications
Toutes les applications pour lesquelles un contrôle ou une surveillance distribué(e) dans un graphe est requis : Surveillance contre les intrusions dans un réseau informatique, Sauvetage par des robots de blessés ayant subi une catastrophe (RoboCup Rescue), Détection de menaces ennemis ou protection de territoires dans le domaine des jeux vidéos, etc. Timing = 25s Typiquement, il s’agit de toutes les applications pour lesquelles un contrôle ou une surveillance distribué(e) dans un graphe est requis, comme : Surveillance contre les intrusions dans un réseau informatique, Sauvetage par des robots de blessés ayant subi une catastrophe (problème du RoboCup Rescue), Détection de menaces ennemis ou protection de territoires dans le domaine des jeux vidéos, etc

14 Plan Problématique générale Cadre de travail [Machado, 2002]
Domaines d’applications Etat de l’art Modélisation par un PDM Conclusions et Perspectives Timing = 5s Je vais vous présenter maintenant l’ensemble des travaux de l’état de l’art.

15 Etat de l’art (1/2) [Machado et al., 2002a; Machado et al., 2002b] : travaux pionniers. [Almeida et al., 2004] : techniques de négociation [Chevaleyre, 2003] : PPMA = problème d’optimisation combinatoire : Avec 1 agent = Graphical-TSP, > 1 agent : proposition de stratégies proches de l’optimum (stratégies à cycle unique) Timing = 50s Dans les travaux pionniers de Machado, plusieurs architectures multi-agents sont proposées, en jouant sur la communication inter-agent, la perception des agents, l’heuristique pour le choix du prochain nœud… Almeida propose d’utiliser des agents capables de négocier au sujet des nœuds à visiter par chacun selon un système d’enchères. Chevaleyre considère le PPMA comme un problème d’optimisation combinatoire. Il montre que le PPMA avec un seul agent se réduit à une variante du problème du voyageur de commerce, si bien que les techniques utilisé pour résoudre cette variante peuvent également s’appliquer au PPMA. Dans le cas où plusieurs agents patrouille, il a proposé et démontré l’efficacité de plusieurs stratégies proches de l’optimum, notamment les stratégies à cycle unique, où tous les agents parcourent le même cycle dans le même sens en partant de nœud différent.

16 Etat de l’art (2/2) [Santana et al., 2004] : apprentissage par renforcement de PDM. [Almeida et al., 2004] : comparaison des techniques de l’état de l’art : Travaux pionniers : les moins bons résultats Stratégie à cycle unique : les meilleurs résultats Autres techniques : résultats équivalents Timing = 30s Santana formule le problème de la patrouille comme un problème d’apprentissage par renforcement en utilisant des Processus Décisionnels de Markov. Almeida fournit une comparaison des techniques de l’état de l’art, en utilisant 6 topologies de graphes avec 5 et 15 agents. Il montre expérimentalement que les travaux pionniers sont les moins bons pour le benchmark considéré. Les stratégies à cycle unique de Chevaleyre donnent les meilleurs résultats, tandis que les autres techniques fournissent des résultats équivalents.

17 Plan Problématique générale Cadre de travail [Machado, 2002]
Domaines d’applications Etat de l’art Modélisation par un PDM Conclusions et Perspectives Timing = 10s Je vais maintenant vous présenter comment caractériser le PPMA dans sa globalité à l’aide d’un PDM.

18 Définition du PDM pour un graphe unitaire
S = { (<positions des agents>, <oisivetés des nœuds>, <pire oisiveté rencontrée>) } Timing = 30s Tout d’abord, on suppose que le graphe à patrouiller est un graphe unitaire, c’est-à-dire qu’un agent mettra toujours le même laps de temps pour aller d’un nœud à un autre du graphe. Dans ce cas, on peut alors définir le PDM qui représente le PPMA sur un graphe unitaire de la manière suivante : S, l’ensemble des états du PDM, incorpore les positions de tous les agents impliqués, les oisivetés de tous les nœuds, ainsi que la pire oisiveté rencontrée jusqu’à présent.

19 Définition du PDM pour un graphe unitaire
S = { (<positions des agents>, <oisivetés des nœuds>, <pire oisiveté rencontrée>) } Optimisation sur le critère WI Timing = 20s Les deux premières informations (positions et oisivetés) suffiraient pour décrire entièrement toute configuration possible d’une instance du PPMA. Néanmoins, le cadre des PDM nous oblige à ajouter l’information de « pire oisiveté rencontrée » jusqu’à présent afin de pouvoir définir ultérieurement une fonction de récompense R qui ne prend en compte que les informations de l’état courant, pour satisfaire la propriété de Markov.

20 Définition du PDM pour un graphe unitaire
S = { (<positions des agents>, <oisivetés des nœuds>, <pire oisiveté rencontrée>) } A = { <actions jointes des agents> } T : S x A x S { 0, 1 } (déterministe) R : S x A x S { -1, 0 } R = g g Timing = 30s Ceci dit, on définit ensuite A comme étant l’ensemble des actions jointes possibles des agents. T est la matrice de transitions déterministe. On suppose donc qu’un agent atteint toujours le même état s’ lorsqu’il réalise une action a dans un état s. R, la fonction de récompense, renvoie la valeur 0 si la pire oisiveté calculée à partir des oisivetés de l’état courant est inférieure ou égale à la pire oisiveté rencontrée à l’état précédent. Elle renvoie -1 sinon. En d’autres termes, l’agent reçoit une pénalité uniquement s’il atteint un état qui fait augmenter la pire oisiveté. 0 si pire oisiveté de l’état courant < pire oisiveté de l’état précédent -1 sinon

21 Résolution du PPMA pour un graphe unitaire
Déterminer la politique qui minimise le critère gamma pondéré : et telle que la suite d’états s0, …, si, …, sk constitue un cycle, c’est-à-dire que i avec si = sk. Stratégie obtenue est optimale (démonstration dans l’article) p t=0 N E{ Σ t rt } avec [0,1] g g C $ Timing = 50s Résoudre le PPMA revient alors à résoudre le PDM défini précédemment, c’est-à-dire à déterminer la politique PI qui minimise le critère gamma pondéré. Cette politique doit amener à constituer une séquence cyclique d’états s_0, s_1, …, s_i, …, s_k, telle qu’il existe un entier i avec s_i = s_k. La politique calculée suggère donc que les agents suivent tout d’abord une politique d’initialisation, puis une politique qu’il répète indéfiniment. Les stratégies individuelles peuvent être obtenues à partir des états effectivement visités en suivant cette politique PI à partir de l’état initial s_0. L’état initial est construit à partir des positions de départ des agents, en considérant que toutes les oisivetés des nœuds sont nulles et que la pire oisiveté est égale à 0. Nous avons démontré dans l’article que la stratégie obtenue est optimale.

22 Exemple d’une patrouille avec 2 agents
Séquence d’états représentant la meilleure stratégie de patrouille s0 = (<5, 2>, <0,0,0,0,0>, 0) Configuration initiale 2 2 1 3 1 5 4 Timing = 30s Voici un exemple très simple d’une patrouille impliquant 2 agents sur un graphe unitaire de 5 nœuds. A gauche, on observera le parcours des agents sur les nœuds du graphe. A droite, la séquence d’états représentant l’une des meilleures stratégies de patrouille de ces 2 agents. On suppose ici qu’au départ, l’agent 1 est sur le nœud 5 et l’agent 2 sur le nœud 2. Intuitivement, on déduit rapidement quelle est la meilleure façon pour ces agents de parcourir efficacement ce graphe : pour l’agent 1, il s’agira par exemple de visiter indéfiniment les nœuds 5, 1 et 3 par exemple, et pour l’agent 2 les nœuds 2, 1 et 4.

23 Exemple d’une patrouille avec 2 agents
Séquence d’états représentant la meilleure stratégie de patrouille s0 = (<5, 2>, <0,0,0,0,0>, 0) s1 = (<1, 1>, <0,1,1,1,1>, 1) Configuration initiale 2 2 1 3 1 5 4 Timing = 20s En supposant que l’on dispose d’un algorithme efficace pour obtenir une politique PI valide, on obtiendrait alors, en déroulant cette politique, l’état s_1 au premier pas de temps, cet état faisant passer les deux agents sur le nœud 1, avec une pire oisiveté de 1.

24 Exemple d’une patrouille avec 2 agents
Séquence d’états représentant la meilleure stratégie de patrouille s0 = (<5, 2>, <0,0,0,0,0>, 0) s1 = (<1, 1>, <0,1,1,1,1>, 1) s2 = (<3, 4>, <1,2,0,0,2>, 2) Configuration initiale 2 1 3 1 5 2 4 Timing = 15s Au deuxième pas de temps, on pourrait obtenir l’état s_2 qui ferait visiter le nœud 3 à l’agent 1 et le nœud 4 à l’agent 2. Bien sûr, on aurait pu avoir l’inverse…

25 Exemple d’une patrouille avec 2 agents
Séquence d’états représentant la meilleure stratégie de patrouille s0 = (<5, 2>, <0,0,0,0,0>, 0) s1 = (<1, 1>, <0,1,1,1,1>, 1) s2 = (<3, 4>, <1,2,0,0,2>, 2) s3 = (<1, 1>, <0,3,1,1,3>, 3) Configuration initiale 2 2 1 3 1 5 4 Timing = 20s Et etc. La politique trouvée permet de déterminer les états visités par les agents à chaque pas de temps, ce qui permet de construire au final les politiques individuelles sigma. Pour l’instant, on aurait ainsi sigma_1 (politique individuelle de l’agent 1) constitué des nœuds 5, 1, 3 et 1 et sigma_2 = { 2, 1, 4, 1 }.

26 Exemple d’une patrouille avec 2 agents
Séquence d’états représentant la meilleure stratégie de patrouille s0 = (<5, 2>, <0,0,0,0,0>, 0) s1 = (<1, 1>, <0,1,1,1,1>, 1) s2 = (<3, 4>, <1,2,0,0,2>, 2) s3 = (<1, 1>, <0,3,1,1,3>, 3) s4 = (<5, 2>, <1,0,2,2,0>, 3) Configuration initiale 2 2 1 3 1 5 4 Timing = 5s

27 Exemple d’une patrouille avec 2 agents
Séquence d’états représentant la meilleure stratégie de patrouille s0 = (<5, 2>, <0,0,0,0,0>, 0) s1 = (<1, 1>, <0,1,1,1,1>, 1) s2 = (<3, 4>, <1,2,0,0,2>, 2) s3 = (<1, 1>, <0,3,1,1,3>, 3) s4 = (<5, 2>, <1,0,2,2,0>, 3) s5 = (<1, 1>, <0,1,3,3,1>, 3) Configuration initiale 2 2 1 3 1 5 4 Timing = 5s

28 Exemple d’une patrouille avec 2 agents
Séquence d’états représentant la meilleure stratégie de patrouille s0 = (<5, 2>, <0,0,0,0,0>, 0) s1 = (<1, 1>, <0,1,1,1,1>, 1) s2 = (<3, 4>, <1,2,0,0,2>, 2) s3 = (<1, 1>, <0,3,1,1,3>, 3) s4 = (<5, 2>, <1,0,2,2,0>, 3) s5 = (<1, 1>, <0,1,3,3,1>, 3) s6 = (<3, 4>, <1,2,0,0,2>, 3) Configuration initiale 2 1 3 1 5 2 4 Timing = 5s

29 Exemple d’une patrouille avec 2 agents
Séquence d’états représentant la meilleure stratégie de patrouille s0 = (<5, 2>, <0,0,0,0,0>, 0) s1 = (<1, 1>, <0,1,1,1,1>, 1) s2 = (<3, 4>, <1,2,0,0,2>, 2) s3 = (<1, 1>, <0,3,1,1,3>, 3) s4 = (<5, 2>, <1,0,2,2,0>, 3) s5 = (<1, 1>, <0,1,3,3,1>, 3) s6 = (<3, 4>, <1,2,0,0,2>, 3) s7 = (<1, 1>, <0,3,1,1,3>, 3) Configuration initiale 2 2 1 3 1 5 = 4 Timing = 30s On voit ici que l’état s_7, retenu comme étant l’un des meilleurs possibles à atteindre au 7ème pas de temps, est égale à s_3. Un cycle est alors constitué, si bien que l’on peut déterminer les stratégies individuelles finales des agents : sigma_1 = { 5, 1, 3, 1 { 5, 1, 3, 1 } * }, et sigma_2 = { 2, 1, 4, 1 { 2, 1, 4, 1 } * }. L’étoile placée après les accolades signifie que les nœuds entre accolades sont visités indéfiniment par les agents. Stratégie Agent #1 5, 1, 3, 1, { 5, 1, 3, 1 }* s 1 Stratégie Agent #2 2, 1, 4, 1, { 2, 1, 4, 1 }* s 2

30 Transformation d’un graphe non unitaire en graphe unitaire (1/2)
Soit G = (V, E) un graphe non unitaire. G’ = (V’, E’ ) est le graphe unitaire à construire. Soit c : coût minimal du graphe G. Pour chaque paire i, j V, ajouter mij = ( ) nœuds. Si mij = 0, ajouter les arcs (i,j) et (j,i) Sinon, ajouter les arcs (i, n1), (n1, n2), …, (n , j). cij c C Timing = 60s L’approche exposée pour traiter le PPMA suppose que le graphe à patrouiller est unitaire. Si les agents doivent patrouiller un graphe non unitaire, voici une méthode permettant de transformer un graphe non unitaire G en son équivalent unitaire G’. Tout d’abord, on récupère le coût c minimal du graphe G. Ce coût c représentera en fait le coût nécessaire pour traverser un arc du graphe unitaire G’. Le graphe G’ est construit en ajoutant des nœuds et des arcs orientés, de la manière suivante. Pour chaque paire de nœuds i, j appartenant à V, on ajoutera alors m_ij = (c_ij/c –1 ) nœuds dans G’. Deux cas peuvent se présenter. Si m_ij = 0, alors seulement deux arcs seront ajoutés dans G’ : les arcs reliant i et j dans les deux sens. Sinon, si n_1, n_2, …, n_{m_ij} sont les nœuds récemment ajoutés dans G’, alors on reliera par des arcs orientés les nœuds i à n_1, n_1 à n_2, et finalement n_{m_ij} à j. mij

31 Transformation d’un graphe non unitaire en graphe unitaire (2/2)
4 1 2 3 4 5 5 1 6 7 9 8 3 Timing = 20s Avec la méthode exposée précédemment, on obtiendrait alors, à partir du graphe G non unitaire à gauche, son graphe unitaire correspondant G’ à droite. Les arcs orientés contraignent les agents à atteindre nécessairement un des nœuds de G lorsqu’ils empruntent les arcs ajoutés dans G’. Ceci évite ainsi d’obtenir des politiques invalides, où les agents pourraient aller et venir d’un nœud de G vers un nœud de G’. Graphe non unitaire Graphe unitaire correspondant

32 Plan Problématique générale Cadre de travail [Machado, 2002]
Domaines d’applications Etat de l’art Modélisation par un PDM Conclusions et Perspectives Pour conclure…

33 Conclusions Perspectives
Première analyse formelle du PPMA à l’aide d’un PDM Solutions exactes sur les instances les moins complexes du problème Proposer un algorithme pour résoudre efficacement le PDM du PPMA Tester cette approche sur des instances du PPMA Déterminer la complexité des graphes qui peuvent être traités par cette approche Evaluer le biais de la transformation d’un graphe non unitaire en graphe unitaire Proposer un autre cadre de travail prenant en compte : la perception des agents la superficie effectivement surveillée Perspectives Timing = 60s Je viens de vous présenter la première analyse formelle réalisée pour obtenir des solutions exactes au PPMA, selon le cadre de travail proposé par Machado. Cette analyse s’appuie sur les PDM. Reste à proposer un algorithme de programmation dynamique capable de résoudre efficacement un tel PDM. Il permettra alors de comparer cette approche avec certaines techniques de la littérature pour des instances pas trop complexes du PPMA. Pour rendre compte des limites de cette approche, nous envisageons d’une part de déterminer quelle est la complexité maximum des graphes qui peuvent être traités par cette approche, d’autre part d’évaluer le biais introduit par la méthode permettant de transformer un graphe non unitaire en graphe unitaire. Enfin, nous envisageons également de proposer un autre cadre de travail prenant en compte la perception des agents, afin d’obtenir des stratégies multi-agents plus réalistes. Les agents seraient ainsi capables de faire une rotation sur eux-mêmes pour vérifier par exemple qu’ils ont bien surveillé la plus grande superficie possible dans une pièce.


Télécharger ppt "Fabrice Lauri, François Charpillet, Daniel Szer"

Présentations similaires


Annonces Google