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.
Próximos SlideShares
Carregando em…5
×

# Steiner Tree Parameterized by Treewidth

970 visualizações

• Full Name
Comment goes here.

Are you sure you want to Yes No
• 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 ﬁnd 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