O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Steiner Tree parameterized by Treewidth
Saket Saurabh
The Institute of Mathematical Sciences, India

Saket Saurabh (The In...
The Steiner Tree Problem
Steiner Tree
Input: A gonnected graph G of treewidth t, a set of Terminal vertices
K ⊆ V (G ).
Qu...
The Steiner Tree Problem
Steiner Tree
Input: A gonnected graph G of treewidth t, a set of Terminal vertices
K ⊆ V (G ).
Qu...
Tree Decomposition
We are given a Tree Decomposition T = (T , χ) of the graph G , where T
is rooted at a vertex r .
For a ...
Dynamic Programming
Let S be an optimum steiner
tree.
Let Xi be a bag in T and G [Vi ]
be the graph “below” Xi .
Correspon...
Dynamic Programming
Let F = S ∩ G [Vi ]. So F
contains all terminals in K ∩ Vi .
F is a forest of G [Vi ] and let
F1 , F2 ...
Dynamic Programming
Let F = S ∩ G [Vi ]. So F
contains all terminals in K ∩ Vi .
F is a forest of G [Vi ] and let
F1 , F2 ...
Dynamic Programming
Let F = S ∩ G [Vi ]. So F
contains all terminals in K ∩ Vi .
F is a forest of G [Vi ] and let
F1 , F2 ...
Dynamic Programming
Let F = S ∩ G [Vi ]. So F
contains all terminals in K ∩ Vi .
F is a forest of G [Vi ] and let
F1 , F2 ...
Dynamic Programming
Let F = S ∩ G [Vi ]. So F
contains all terminals in K ∩ Vi .
F is a forest of G [Vi ] and let
F1 , F2 ...
Dynamic Programming
Suppose forests F1 and F2
which correspond to the same
tuple (X , H, P).
Then (S  F1 ) ∪ F2 is also a
...
Dynamic Programming
Suppose forests F1 and F2
which correspond to the same
tuple (X , H, P).
Then (S  F1 ) ∪ F2 is also a
...
Dynamic Programming

We build the dynamic
programming table in a bottom
up fashion.
Finally, we output the minimum
sized F...
Leaf Nodes
For a leaf node Xi of T , |G [Vi ]| ≤ t + 1.
Thus we can compute the table entries in time t O(t) using a
brute...
Forget Node
Let Xi be a forget node with child node Xj .
For each tuple of Xi we store the minimum of the Xj which are
con...
Introduce Node
Let Xi be an introduce node with child node Xj .
Xi = Xj ∪ {v }

Saket Saurabh (The Institute of Mathematic...
Introduce Node
Let Xi be an introduce node with child node Xj .
Xi = Xj ∪ {v }
Suppose v ∈ X .
If v is a terminal then, th...
Introduce Node
Let Xi be an introduce node with child node Xj .
Xi = Xj ∪ {v }
Suppose v ∈ X .
If v is a terminal then, th...
Introduce Node
Let Xi be an introduce node with child node Xj .
Xi = Xj ∪ {v }
Suppose v ∈ X .
If v is a terminal then, th...
Introduce Node
Let Xi be an introduce node with child node Xj .
Xi = Xj ∪ {v }
Suppose v ∈ X .
If v is a terminal then, th...
Introduce Node
Let Xi be an introduce node with child node Xj .
Xi = Xj ∪ {v }
Suppose v ∈ X .
If v is a terminal then, th...
Introduce Node
Let Xi be an introduce node with child node Xj .
Xi = Xj ∪ {v }
Suppose v ∈ X .
If v is a terminal then, th...
Join Node
Let Xi be a join-node with children Xj and Xk .
We merge the solution of Xj and Xk , but we must
carefully avoid...
Join Node
Let Xi be a join-node with children Xj and Xk .
We merge the solution of Xj and Xk , but we must
carefully avoid...
Join Node
Let Xi be a join-node with children Xj and Xk .
We merge the solution of Xj and Xk , but we must
carefully avoid...
Join Node
Let Xi be a join-node with children Xj and Xk .
We merge the solution of Xj and Xk , but we must
carefully avoid...
Running Time
Clearly, the leaf, forget and introduce nodes take time t O(t) .
For the join operation, we need to go over a...
Thank you. Questions ?

Saket Saurabh (The Institute of Mathematical Sciences, India)
Steiner Tree parameterized by Treewi...
Próximos SlideShares
Carregando em…5
×

Steiner Tree Parameterized by Treewidth

970 visualizações

Publicada em

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Steiner Tree Parameterized by Treewidth

  1. 1. Steiner Tree parameterized by Treewidth Saket Saurabh The Institute of Mathematical Sciences, India Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 1 / 10
  2. 2. The Steiner Tree Problem Steiner Tree Input: A gonnected graph G of treewidth t, a set of Terminal vertices K ⊆ V (G ). Question: Find a minimum size sub-tree S of G such that K is connected in S. Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 2 / 10
  3. 3. The Steiner Tree Problem Steiner Tree Input: A gonnected graph G of treewidth t, a set of Terminal vertices K ⊆ V (G ). Question: Find a minimum size sub-tree S of G such that K is connected in S. Theorem Steiner Tree parameterized by treewidth is solvable in time t O(t) poly (n). Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 2 / 10
  4. 4. Tree Decomposition We are given a Tree Decomposition T = (T , χ) of the graph G , where T is rooted at a vertex r . For a node i ∈ T , Xi is the corresponding bag of vertices of G . Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 3 / 10
  5. 5. Dynamic Programming Let S be an optimum steiner tree. Let Xi be a bag in T and G [Vi ] be the graph “below” Xi . Corresponding to Xi we need to store a table of partial solutions. Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 4 / 10
  6. 6. Dynamic Programming Let F = S ∩ G [Vi ]. So F contains all terminals in K ∩ Vi . F is a forest of G [Vi ] and let F1 , F2 , . . . , Fl be it’s connected components. Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 4 / 10
  7. 7. Dynamic Programming Let F = S ∩ G [Vi ]. So F contains all terminals in K ∩ Vi . F is a forest of G [Vi ] and let F1 , F2 , . . . , Fl be it’s connected components. H = F ∩ Xi and X = Xi F . Let E (H) be the edges in G [H] Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 4 / 10
  8. 8. Dynamic Programming Let F = S ∩ G [Vi ]. So F contains all terminals in K ∩ Vi . F is a forest of G [Vi ] and let F1 , F2 , . . . , Fl be it’s connected components. H = F ∩ Xi and X = Xi F . Let E (H) be the edges in G [H] Pq = Fq ∩ Xi where q ∈ {1, 2 . . . l}. Let P = {Pq |q ∈ {1, 2 . . . l}} Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 4 / 10
  9. 9. Dynamic Programming Let F = S ∩ G [Vi ]. So F contains all terminals in K ∩ Vi . F is a forest of G [Vi ] and let F1 , F2 , . . . , Fl be it’s connected components. H = F ∩ Xi and X = Xi F . Let E (H) be the edges in G [H] Pq = Fq ∩ Xi where q ∈ {1, 2 . . . l}. Let P = {Pq |q ∈ {1, 2 . . . l}} P is a partition of H, where Pq is the set of vertices of H which are connected in the tree Fq Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 4 / 10
  10. 10. Dynamic Programming Let F = S ∩ G [Vi ]. So F contains all terminals in K ∩ Vi . F is a forest of G [Vi ] and let F1 , F2 , . . . , Fl be it’s connected components. H = F ∩ Xi and X = Xi F . Let E (H) be the edges in G [H] Pq = Fq ∩ Xi where q ∈ {1, 2 . . . l}. Let P = {Pq |q ∈ {1, 2 . . . l}} P is a partition of H, where Pq is the set of vertices of H which are connected in the tree Fq Therefore corresponding to F we have a tuple (X , H, P). Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 4 / 10
  11. 11. Dynamic Programming Suppose forests F1 and F2 which correspond to the same tuple (X , H, P). Then (S F1 ) ∪ F2 is also a solution. Thus we only need to keep only a minimum F corresponding to each choice of (X , H, P) in Xi . The dynamic programming table stores the following, c[X , H, P, i] = |F | Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 4 / 10
  12. 12. Dynamic Programming Suppose forests F1 and F2 which correspond to the same tuple (X , H, P). Then (S F1 ) ∪ F2 is also a solution. Thus we only need to keep only a minimum F corresponding to each choice of (X , H, P) in Xi . The dynamic programming table stores the following, c[X , H, P, i] = |F | Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 4 / 10
  13. 13. Dynamic Programming We build the dynamic programming table in a bottom up fashion. Finally, we output the minimum sized F corresponding to the root-bag of T . Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 4 / 10
  14. 14. Leaf Nodes For a leaf node Xi of T , |G [Vi ]| ≤ t + 1. Thus we can compute the table entries in time t O(t) using a bruteforce algorithm. Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 5 / 10
  15. 15. Forget Node Let Xi be a forget node with child node Xj . For each tuple of Xi we store the minimum of the Xj which are consistent with it. Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 6 / 10
  16. 16. Introduce Node Let Xi be an introduce node with child node Xj . Xi = Xj ∪ {v } Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 7 / 10
  17. 17. Introduce Node Let Xi be an introduce node with child node Xj . Xi = Xj ∪ {v } Suppose v ∈ X . If v is a terminal then, the table entries will be φ. Else, c[X , H, P, i] = c[X v , H, P]. Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 7 / 10
  18. 18. Introduce Node Let Xi be an introduce node with child node Xj . Xi = Xj ∪ {v } Suppose v ∈ X . If v is a terminal then, the table entries will be φ. Else, c[X , H, P, i] = c[X v , H, P]. Otherwise, v ∈ X . / Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 7 / 10
  19. 19. Introduce Node Let Xi be an introduce node with child node Xj . Xi = Xj ∪ {v } Suppose v ∈ X . If v is a terminal then, the table entries will be φ. Else, c[X , H, P, i] = c[X v , H, P]. Otherwise, v ∈ X . / Assume that v ∈ P1 where P1 ∈ P. Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 7 / 10
  20. 20. Introduce Node Let Xi be an introduce node with child node Xj . Xi = Xj ∪ {v } Suppose v ∈ X . If v is a terminal then, the table entries will be φ. Else, c[X , H, P, i] = c[X v , H, P]. Otherwise, v ∈ X . / Assume that v ∈ P1 where P1 ∈ P. Let F1 be the tree corresponding to P1 . Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 7 / 10
  21. 21. Introduce Node Let Xi be an introduce node with child node Xj . Xi = Xj ∪ {v } Suppose v ∈ X . If v is a terminal then, the table entries will be φ. Else, c[X , H, P, i] = c[X v , H, P]. Otherwise, v ∈ X . / Assume that v ∈ P1 where P1 ∈ P. Let F1 be the tree corresponding to P1 . Deleting v fro P1 results in subtrees p 1 2 F1 , F1 , . . . , F1 . This gives us a tuple (X , H v , P ) of Xj where p 1 P = {P1 , . . . P1 } ∪ (P {P1 }) Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 7 / 10
  22. 22. Introduce Node Let Xi be an introduce node with child node Xj . Xi = Xj ∪ {v } Suppose v ∈ X . If v is a terminal then, the table entries will be φ. Else, c[X , H, P, i] = c[X v , H, P]. Otherwise, v ∈ X . / Assume that v ∈ P1 where P1 ∈ P. Let F1 be the tree corresponding to P1 . Deleting v fro P1 results in subtrees p 1 2 F1 , F1 , . . . , F1 . This gives us a tuple (X , H v , P ) of Xj where p 1 P = {P1 , . . . P1 } ∪ (P {P1 }) Therefore, c(X , H, P, i) = minP c(X , H v , P , j) Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 7 / 10
  23. 23. Join Node Let Xi be a join-node with children Xj and Xk . We merge the solution of Xj and Xk , but we must carefully avoid cycles. Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 8 / 10
  24. 24. Join Node Let Xi be a join-node with children Xj and Xk . We merge the solution of Xj and Xk , but we must carefully avoid cycles. Consider a tree F in G [Vi ], q 1 2 F = (Fj1 ∪ Fj2 . . . Fjp ) (Fk ∪ Fk . . . Fk ) p q 1 (Fj1 , . . . , Fj ) correspond to Xj and (Fk , . . . , Fk ) correspond to Xk Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 8 / 10
  25. 25. Join Node Let Xi be a join-node with children Xj and Xk . We merge the solution of Xj and Xk , but we must carefully avoid cycles. Consider a tree F in G [Vi ], q 1 2 F = (Fj1 ∪ Fj2 . . . Fjp ) (Fk ∪ Fk . . . Fk ) p q 1 (Fj1 , . . . , Fj ) correspond to Xj and (Fk , . . . , Fk ) correspond to Xk Therefore we have a corresponding (X , H, P) for Xi (X , Hj , Pj ) for Xj and (X , Hk , Pk ) for Xk . (H, P) is obtained by tree-merge of (Hj , Pj ) and (Hk , Pk ). Given (Hj , Pj ) and (Hk , Pk ) we can build an auxillary graph and test if they can be tree-merged. Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 8 / 10
  26. 26. Join Node Let Xi be a join-node with children Xj and Xk . We merge the solution of Xj and Xk , but we must carefully avoid cycles. Consider a tree F in G [Vi ], q 1 2 F = (Fj1 ∪ Fj2 . . . Fjp ) (Fk ∪ Fk . . . Fk ) p q 1 (Fj1 , . . . , Fj ) correspond to Xj and (Fk , . . . , Fk ) correspond to Xk Therefore we have a corresponding (X , H, P) for Xi (X , Hj , Pj ) for Xj and (X , Hk , Pk ) for Xk . (H, P) is obtained by tree-merge of (Hj , Pj ) and (Hk , Pk ). Given (Hj , Pj ) and (Hk , Pk ) we can build an auxillary graph and test if they can be tree-merged. Thus for H, P of Xi , we find the minimum partial solutions in Xj and Xk which can be tree-merged. c[X , H, P, i] = min(Pj ,Hj ,Pk ,Hk ) c[X , Hj , Pj , j] + c[X , Hk , Pk , k] − |E (Hj ) ∩ E (Hk )| Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 8 / 10
  27. 27. Running Time Clearly, the leaf, forget and introduce nodes take time t O(t) . For the join operation, we need to go over all entries for Xi and Xk which could be tree-merged. This can be done in time t O(t) . Thus the algorithm runs in time t O(t) . Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 9 / 10
  28. 28. Thank you. Questions ? Saket Saurabh (The Institute of Mathematical Sciences, India) Steiner Tree parameterized by Treewidth 10 / 10

×