Décomposition arborescente connexe 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. 2/30 Encerclement dans un graphe Stratégie d’encerclement (Parson. [GTC,1978]). 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. 3/30 Graphes simples Chemin 4/30 Graphes simples Chemin s(Pn) = 1 Anneau 5/30 Graphes simples Chemin s(Pn) = 1 Anneau s(An) = 2 6/30 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). 7/30 Exemple 8/30 Lien avec l’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, tw(G) ≤ pw(G) ≤ s(G) ≤ pw(G) + 2 ≤ tw(G).log n +2 9/30 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. Communications non sécurisées 10/30 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. 11/30 Historique (1) 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 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) ; 12/30 Historique (2) 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)|). 13/30 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). 14/30 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. 15/30 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) 16/30 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 17/30 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 18/30 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 19/30 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 Y2 w3 Y3 w4 w5 20/30 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 Y2 w3 Y3 w4 v2 w5 21/30 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 Y2 w3 Y3 w4 v2 w5 22/30 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é ; 23/30 Algorithme (3) Phase 2 : descente de la racine aux feuilles Rotation de la décomposition ; 24/30 Algorithme (3) Phase 2 : descente de la racine aux feuilles Application de la sous procedure. 25/30 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. 26/30 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 T1 Ti Ti+1 Tr 27/30 Idée de la démonstration (2) Décomposition arborescente connexe Empécher la recontamination ≤ tw (G) agents ≤ tw(G) log n/2 agents 28/30 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 29/30 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 existe t-il une fonction f telle que pour tout graphe f(q)-connexe G, il existe une décomposition arborescente q-connexe de largeur tw(G) ? 30/30