Stratégie d’encerclement connexe dans les graphes Pierre Fraigniaud, Nicolas Nisse LRI Orsay Encerclement dans les graphes But Un groupe d’agents mobiles doit : - capturer un intrus dans un réseau ; - nettoyer un réseau contaminé ; Utiliser le moins de ressources possibles. Motivations Sécurité dans les réseaux informatiques ; Maintenance de réseaux de pipelines ; Opération de secours dans des souterrains. Réunion FRAGILE, Aussois, 23 mars 2005 2/49 Plan Stratégie d’encerclement Connexité Décomposition arborescente connexe Rapport cs(G)/s(G) Réunion FRAGILE, Aussois, 23 mars 2005 3/49 Encerclement dans un graphe Stratégie d’encerclement (Parson. [GTC,1976]). Suite de 3 opérations élémentaires 1. 2. 3. Placer un agent sur un sommet du graphe ; Déplacer un agent le long d’une arête ; Supprimer un agent d’un sommet du graphe. Résultant en le nettoyage du graphe Un agent nettoie une arête quand il la traverse ; Une arête reste propre si ses deux extrémités sont protégées. On veut minimiser le nombre d’agents s(G), plus petit nombre d’agents nécessaire à une stratégie d’encerclement dans le graphe G. Réunion FRAGILE, Aussois, 23 mars 2005 4/49 Graphes simples Chemin Réunion FRAGILE, Aussois, 23 mars 2005 5/49 Graphes simples Chemin s(Pn) = 1 Anneau Réunion FRAGILE, Aussois, 23 mars 2005 6/49 Graphes simples Chemin s(Pn) = 1 Anneau s(An) = 2 Réunion FRAGILE, Aussois, 23 mars 2005 7/49 Stratégie d’encerclement monotone Définition Une stratégie d’encerclement est monotone s’il n’y a pas de recontamination Encerclement monotone ms(G), plus petit nombre d’agents nécessaire à une stratégie d’encerclement monotone dans le graphe G. Réunion FRAGILE, Aussois, 23 mars 2005 8/49 La recontamination n’aide pas Pour tout graphe G, ms(G) = s(G). LaPaugh. Recontamination does not help to search a graph. [JACM,1993] Bienstock et Seymour. Monotonicity in graph searching. [JoA,1991] s(G) ≤ k est un problème NP-complet Réunion FRAGILE, Aussois, 23 mars 2005 9/49 Décomposition arborescente (T, (Xv)vV(T) ) un arbre et une famille de sommets de G ; 3 propriétés. Largeur de (T,X) = max{| Xv |-1 / v V(T)} Largeur d’arborescence de G, tw(G), est la largeur minimale parmi toutes les décompositions arborescentes de G. Décomposition linéaire (P, (Xv)vV(T) ), avec P un chemin Largeur linéaire de G, pw(G). Réunion FRAGILE, Aussois, 23 mars 2005 10/49 Exemple Réunion FRAGILE, Aussois, 23 mars 2005 11/49 Relations avec des paramètres “classiques” Le fugitif est : Omniscient; Arbitrairement rapide. Selon les variantes, le fugitif peut être : Visible => tw(G) ≤ s(G) ≤ tw(G)+1; Invisible => pw(G) ≤ s(G) ≤ pw(G)+1. Réunion FRAGILE, Aussois, 23 mars 2005 12/49 s(G) ≤ pw(G) + 2 Soit (X1, X2,…, Xi, Xi+1,…, Xr) une décomposition linéaire d’un graphe G de largeur pw(G). A l’étape i, le graphe induit par Uk<i Xk est nettoyé ; 1. Placer pw(G)+1 agents sur les sommets de Xi 2. Un agent supplémentaire nettoie les arêtes de Xi 3. Supprimer les agents des sommets de Xi/Xi+1 X1 Xi Xi+1 Réunion FRAGILE, Aussois, 23 mars 2005 Xr 13/49 pw(G) ≤ s(G) Si (s1,s2,…,sr) est une stratégie d’encerclement monotone d’un graphe G, on construit une décomposition linéaire (X1, X2,…, Xi,…, Xr) telle que : Xi contient les sommets occupés, ainsi que l’arête éventuellement nettoyée lors de l’étape i. Réunion FRAGILE, Aussois, 23 mars 2005 14/49 Largeur linéaire ≈ encerclement J.A. Ellis, I.H. Sudborough et J.S. Turner. The Vertex Separation and Search Number of a Graph. Inf. Comput. 1994. N.G. Kinnersley. The Vertex Separation number of a graph equals its path-width. IPL. 1992. Pour tout graphe G de n sommets, pw(G) ≤ s(G) ≤ pw(G) + 1 Réunion FRAGILE, Aussois, 23 mars 2005 15/49 Plan Stratégie d’encerclement Connexité Décomposition arborescente connexe Rapport cs(G)/s(G) Réunion FRAGILE, Aussois, 23 mars 2005 16/49 Introduction de la connexité dans le modèle Limites du modèle Impossibilité de se déplacer à volonté dans la réalité ; Il est préférable que agents restent groupés. Communications non sécurisées Réunion FRAGILE, Aussois, 23 mars 2005 17/49 Introduction de la connexité dans le modèle Limites du modèle Impossibilité de se déplacer à volonté dans la réallité ; Il est préférable que agents restent groupés. stratégie d’encerclement connexe, cs(G) A chaque étape, la partie nettoyée doit être connexe. Réunion FRAGILE, Aussois, 23 mars 2005 18/49 Exemple Réunion FRAGILE, Aussois, 23 mars 2005 19/49 Exemple Réunion FRAGILE, Aussois, 23 mars 2005 20/49 Exemple Réunion FRAGILE, Aussois, 23 mars 2005 21/49 Exemple Réunion FRAGILE, Aussois, 23 mars 2005 22/49 Exemple s(T) = 3 Réunion FRAGILE, Aussois, 23 mars 2005 23/49 Exemple s(T) = 3 Réunion FRAGILE, Aussois, 23 mars 2005 24/49 Exemple s(T) = 3 cs(T) = 4 = 2s(T) - 2 Réunion FRAGILE, Aussois, 23 mars 2005 25/49 Connexe vs non connexe L. Barriere, P. Fraigniaud, N. Santoro et D. Thilikos. Connected and Internal Graph Searching. WG, 2003. L’encerclement connexe cs(G) n’est pas invariant par mineur. Daniel Dyer. Sweeping Graphs and Digraphs. [Thesis, 2004]. Dans le cas connexe, la recontamination aide. Réunion FRAGILE, Aussois, 23 mars 2005 26/49 Cas des arbres L. Barriere, P. Flocchini, P. Fraigniaud et N. Santoro. Capture of an Intruder by Mobile Agents. SPAA, 2002. Algorithme linéaire calculant une stratégie d’encerclement connexe optimale et monotone dans le cas des arbres. L. Barriere, P. Fraigniaud, N. Santoro et D. Thilikos. Connected and Internal Graph Searching. WG, 2003. Pour tout arbre T, s(T) ≤ cs(T) ≤ 2 s(T)-2 ; Réunion FRAGILE, Aussois, 23 mars 2005 27/49 Cas des graphes arbitraires P.D. Seymour et R. Thomas. Call Routing and the Ratcatcher. Combinatorica, 14(2):217-241, 1994. F. Fomin, P. Fraigniaud et D. Thilikos [rapport technique, 2004] Carving connexe ; Décomposition en branche connexe ; Algorithme polynomial constructif. F. Fomin, P. Fraigniaud et D. Thilikos [rapport technique, 2004] Pour tout graphe connexe G, cs(G) ≤ s(G) (2+log2 |E(G)|). Réunion FRAGILE, Aussois, 23 mars 2005 28/49 Plan Stratégie d’encerclement Connexité Décomposition arborescente connexe Rapport cs(G)/s(G) Réunion FRAGILE, Aussois, 23 mars 2005 29/49 Définitions : Arête connexe e est dite connexe si G[T1(e)] et G[T2(e)] sont des sous graphes connexes de G. e T1(e) T2(e) Décomposition arborescente connexe (T,X) Toute arête de E(T) est connexe. Largeur arborescente connexe, ctw(G). Réunion FRAGILE, Aussois, 23 mars 2005 30/49 Résultat (1) M. Golumbic, Algorithmic graph theory and perfect graphs. Triangulation minimale tw(G) = min {w(H)/ H triangulation minimale de G} Arbre de cliques A. Parra and P. Scheffler, Characterizations and algorithmic applications of chordal graphs embedding. Réunion FRAGILE, Aussois, 23 mars 2005 31/49 Résultat (1) Théorème : Pour tout graphe connexe G, ctw(G) = tw(G). Preuve constructive : Algorithme polynomial qui, étant donnée une décomposition arborescente de largeur k de G, retourne une décomposition arborescente connexe de largeur ≤ k de G. Réunion FRAGILE, Aussois, 23 mars 2005 32/49 Définition Décomposition arborescente enraciné en un sommet u. Arête sous-connexe Une arête e = (w,v) où w est le père de v, est sous-connexe si : G[T(v)] est un sous graphe connexe de G. u w v e (T,X) sous connexe en vV(T) - G[T(v)] est un sous graphe connexe de G ; toute arête de T(v) est sous connexe. T(v) Réunion FRAGILE, Aussois, 23 mars 2005 33/49 Algorithme (1) Entrée : (Tu,X) une décomposition arborescente de largeur k de G. 2 phases Montée : rend la décomposition sous-connexe Descente : rend la décomposition connexe Réunion FRAGILE, Aussois, 23 mars 2005 34/49 Algorithme (2) Sous-procédure appliquée à un sommet v V(T) tel que T est sous connexe en w1,…,ws les fils de s : V’ v w1 w2 w3 w4 w5 Réunion FRAGILE, Aussois, 23 mars 2005 35/49 Algorithme (2) Sous-procédure appliquée à un sommet v V(T) tel que T est sous connexe en w1,…,ws les fils de s : - détermine les composantes connexes de Xv : Y1 ,…,Yr; V’ Y1 Y2 Y3 w1 w2 w3 w4 w5 Réunion FRAGILE, Aussois, 23 mars 2005 36/49 Algorithme (2) Sous-procédure appliquée à un sommet v V(T) tel que T est sous connexe en w1,…,ws les fils de s : - crée un graphe bipartie dont une partition est formée de r sommets Y1 ,…,Yr et l’autre des s sommets w1,…,ws. Il y a une arête entre Yi et wj ssi Yi Xwj V’ Y1 Y1 Y2 Y3 w1 w2 w3 w4 w5 w1 w2 Réunion FRAGILE, Aussois, 23 mars 2005 Y2 w3 Y3 w4 w5 37/49 Algorithme (2) Sous-procédure appliquée à un sommet v V(T) tel que T est sous connexe en w1,…,ws les fils de s : - modifie la décomposition arborescente en fonction des composantes connexes du graphe bipartie V’ V’ v1 Y1 Y2 Y3 w1 w2 w3 w4 w5 w1 Y1 w2 Réunion FRAGILE, Aussois, 23 mars 2005 Y2 w3 Y3 w4 v2 w5 38/49 Algorithme (2) La décomposition arborescente résultante est sous connexe en les nouveaux descendants de v’ V’ V’ v1 Y1 Y2 Y3 w1 w2 w3 w4 w5 w1 Y1 w2 Réunion FRAGILE, Aussois, 23 mars 2005 Y2 w3 Y3 w4 v2 w5 39/49 Algorithme (3) Phase 2 : descente de la racine aux feuilles Entrée : décomposition arborescente sous-connexe ; Il reste des arêtes qui font défaut à la connexité ; Réunion FRAGILE, Aussois, 23 mars 2005 40/49 Algorithme (3) Phase 2 : descente de la racine aux feuilles Rotation de la décomposition ; Réunion FRAGILE, Aussois, 23 mars 2005 41/49 Algorithme (3) Phase 2 : descente de la racine aux feuilles Application de la sous procedure. Réunion FRAGILE, Aussois, 23 mars 2005 42/49 Complexité Algorithme en O(N.k3) avec N=|V(G)| et k la largeur de la décomposition arborescente en entrée V.Bouchitté, D.Kratsch, H.Muller and I.Todinca. On treewidth approximations. Il existe un algorithme polynomial qui calcule une décomposition arborescente de largeur au plus tw(G).log tw(G). Réunion FRAGILE, Aussois, 23 mars 2005 43/49 Plan Stratégie d’encerclement Connexité Décomposition arborescente connexe Rapport cs(G)/s(G) Réunion FRAGILE, Aussois, 23 mars 2005 44/49 Résultat (2) Théorème : Pour tout graphe connexe G, cs(G) ≤ s(G) (2+log2 |V(G)|). Preuve constructive : Algorithme construisant une stratégie d’encerclement connexe de G utilisant au plus tw(G).log |V(G)| agents. Réunion FRAGILE, Aussois, 23 mars 2005 45/49 Idée de la démonstration (1) T1 Démonstration par induction sur |V(G)|. N. Robertson et P.D. Seymour. Graph Minors II. Algorithmic Aspects of Tree-Width. J. of Alg 7, 1986. 2 cas : pour toute décomposition arborescente d’un graphe G de n sommets, il existe 1 ou 2 sommets tels que : Pour tout 1 ≤ j ≤ r, |G[Tj]| ≤ n/2 Ti Tr T T T 1 Réunion FRAGILE, Aussois, i23 mars 2005i+1 Tr 46/49 Idée de la démonstration (2) Décomposition arborescente connexe Empécher la recontamination ≤ tw (G) agents ≤ tw(G) log n/2 agents Réunion FRAGILE, Aussois, 23 mars 2005 47/49 Idée de la démonstration (2) Décomposition arborescente connexe Empécher la recontamination ≤ tw (G) agents cs(G) ≤ tw(G). log2 n cs(G) ≤ s(G). (log2 n + 2) ≤ tw(G) log n/2 agents Réunion FRAGILE, Aussois, 23 mars 2005 48/49 Conclusions Résultats connexité inhérente à la décomposition arborescente ; nouvelle borne supérieure pour cs(G)/s(G) ; Perspectives Amélioration de la borne cs/s ; généralisation aux graphes q-connexes ; algorithmes répartis ; algorithmes paramétrés. Réunion FRAGILE, Aussois, 23 mars 2005 49/49