330 likes | 463 Views
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. Plan. Problématique générale Cadre de travail [Machado, 2002] Domaines d’applications Etat de l’art Modélisation par un PDM
E N D
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
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
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
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 ? • …
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
C C Cadre de travailEnvironnement 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.
Cadre de travail - ExempleGraphe de patrouille, 5 agents • Graphe de : • 50 nœuds • 69 arcs • degré 5
Cadre de travailStraté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
Cadre de travailCritè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.
Cadre de travail – ExempleStraté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
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
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.
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
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)
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
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
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 Définition du PDM pour un graphe unitaire • S = { (<positions des agents>, <oisivetés des nœuds>, <pire oisiveté rencontrée>) }
0 si pire oisiveté de l’état courant < pire oisiveté de l’état précédent -1 sinon Définition du PDMpour 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
N E{ Σt rt } avec [0,1] t=0 C C Résolution du PPMApour 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 g g $
2 1 Exemple d’une patrouilleavec 2 agents Séquence d’états représentant la meilleure stratégie de patrouille Configuration initiale s0 = (<5, 2>, <0,0,0,0,0>, 0) 2 3 1 5 4
2 1 Exemple d’une patrouilleavec 2 agents Séquence d’états représentant la meilleure stratégie de patrouille Configuration initiale s0 = (<5, 2>, <0,0,0,0,0>, 0) s1 = (<1, 1>, <0,1,1,1,1>, 1) 2 3 1 5 4
2 1 Exemple d’une patrouilleavec 2 agents Séquence d’états représentant la meilleure stratégie de patrouille Configuration initiale 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) 2 3 1 5 4
2 1 Exemple d’une patrouilleavec 2 agents Séquence d’états représentant la meilleure stratégie de patrouille Configuration initiale 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) 2 3 1 5 4
2 1 Exemple d’une patrouilleavec 2 agents Séquence d’états représentant la meilleure stratégie de patrouille Configuration initiale 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) 2 3 1 5 4
2 1 Exemple d’une patrouilleavec 2 agents Séquence d’états représentant la meilleure stratégie de patrouille Configuration initiale 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) 2 3 1 5 4
2 1 Exemple d’une patrouilleavec 2 agents Séquence d’états représentant la meilleure stratégie de patrouille Configuration initiale 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) 2 3 1 5 4
2 1 s s 1 2 Exemple d’une patrouilleavec 2 agents Séquence d’états représentant la meilleure stratégie de patrouille Configuration initiale 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) 2 3 1 5 = 4 Stratégie Agent #1 5, 1, 3, 1, { 5, 1, 3, 1 }* Stratégie Agent #2 2, 1, 4, 1, { 2, 1, 4, 1 }*
cij c C C 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 = ( - 1) nœuds. • Si mij = 0, ajouter les arcs (i,j) et (j,i) • Sinon, ajouter les arcs (i, n1), (n1, n2), …, (n , j). mij
4 2 2 1 0 3 5 Transformation d’un graphe non unitaire en graphe unitaire (2/2) 2 4 5 1 0 6 7 9 8 3 Graphe non unitaire Graphe unitaire correspondant
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
Conclusions • 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