parity constrained graph separation
play

Parity Constrained Graph Separation M. S. Ramanujan Graph Cuts - PowerPoint PPT Presentation

Parity Constrained Graph Separation M. S. Ramanujan Graph Cuts Warsaw, 2013 April 9, 2013 (Warsaw) April 9, 2013 Outline of the Talk Important separator framework Generalizing the framework Application: Even Multiway Cut Application:


  1. Generalizing the framework Let us consider the set of X - Y separators of size at most k where the component containing X is bipartite. There is an algorithm which runs in time O ∗ (2 O ( k 2 ) ) and returns a well dominating set of size 2 O ( k 2 ) . (Warsaw) April 9, 2013

  2. Generalizing the framework Let us consider the set of X - Y separators of size at most k where the component containing X is bipartite. There is an algorithm which runs in time O ∗ (2 O ( k 2 ) ) and returns a well dominating set of size 2 O ( k 2 ) . (Warsaw) April 9, 2013

  3. Generalizing the framework X S 0 Compute the unique minimum X - Y separator closest to Y , S 0 . (Warsaw) April 9, 2013

  4. Generalizing the framework X S 1 S 0 Compute the unique minimum X - Y separator closest to S 0 , S 1 . (Warsaw) April 9, 2013

  5. Generalizing the framework X S 2 S 1 S 0 Compute the unique minimum X - Y separator closest to S 1 , S 2 . (Warsaw) April 9, 2013

  6. Generalizing the framework X S 3 S 2 S 1 S 0 Compute the unique minimum X - Y separator closest to S 2 , S 3 . Suppose the size of a minimum X - S 3 separator is strictly greater than size of S 3 (Warsaw) April 9, 2013

  7. Generalizing the framework X S 3 S 2 S 1 S 0 Observation: Connectivity inside each strip is high. There is no S i +1 - S i separator having the same size as the selected separators. (Warsaw) April 9, 2013

  8. Generalizing the framework X S 3 S 2 S 1 S 0 Observation: Connectivity inside each strip is high. There is no S i +1 - S i separator having the same size as the selected separators. (Warsaw) April 9, 2013

  9. Generalizing the framework X S 3 S 2 S 1 S 0 Observation: Connectivity inside each strip is high. There is no S i +1 - S i separator having the same size as the selected separators. (Warsaw) April 9, 2013

  10. Generalizing the framework X S 3 S 2 S 1 S 0 Observation: Connectivity inside each strip is high. There is no S i +1 - S i separator having the same size as the selected separators. (Warsaw) April 9, 2013

  11. Generalizing the framework X S 3 S 2 S 1 S 0 Observation: Connectivity inside each strip is high. There is no S i +1 - S i separator having the same size as the selected separators. (Warsaw) April 9, 2013

  12. Generalizing the framework X S 3 S 2 S 1 S 0 Observation: Connectivity inside each strip is high. There is no S i +1 - S i separator having the same size as the selected separators. (Warsaw) April 9, 2013

  13. Generalizing the framework X S 3 S 2 S 1 S 0 Observation: Connectivity inside each strip is high. There is no S i +1 - S i separator having the same size as the selected separators. (Warsaw) April 9, 2013

  14. Generalizing the framework X S 3 S 2 S 1 S 0 We now test if these selected minimum separators satisfy the required property. In this case, testing if a subgraph is bipartite, poly time. (Warsaw) April 9, 2013

  15. Generalizing the framework X S 3 S 2 S 1 S 0 We now test if these selected minimum separators satisfy the required property. In this case, testing if a subgraph is bipartite, poly time. (Warsaw) April 9, 2013

  16. Generalizing the framework X S 3 S 2 S 1 S 0 (Warsaw) April 9, 2013

  17. Generalizing the framework X S 3 S 2 S 1 S 0 Testing S 3 . (Warsaw) April 9, 2013

  18. Generalizing the framework X S 3 S 2 S 1 S 0 S 3 is found to be good, i.e. the component containing X in G \ S 3 is bipartite. (Warsaw) April 9, 2013

  19. Generalizing the framework X S 3 S 2 S 1 S 0 Testing S 2 (Warsaw) April 9, 2013

  20. Generalizing the framework X S 3 S 2 S 1 S 0 S 2 found to be good, i.e. the component containing X in G \ S 3 is bipartite. (Warsaw) April 9, 2013

  21. Generalizing the framework X S 3 S 2 S 1 S 0 Testing S 1 (Warsaw) April 9, 2013

  22. Generalizing the framework X S 3 S 2 S 0 S 1 S 1 found to be bad, i.e. the component containing X in G \ S 3 is non-bipartite. What can we say about S 0 then? (Warsaw) April 9, 2013

  23. Generalizing the framework X S 3 S 2 S 0 S 1 S 1 found to be bad, i.e. the component containing X in G \ S 3 is non-bipartite. What can we say about S 0 then? (Warsaw) April 9, 2013

  24. Generalizing the framework X S 3 S 2 S 1 S 0 S 0 is also bad. (Warsaw) April 9, 2013

  25. Generalizing the framework X S 3 S 2 S 1 S 0 We focus on the last good separator and the first bad separator. If all are good, then we set Y as the first bad separator and if all are bad, we set X as the last good separator. (Warsaw) April 9, 2013

  26. Generalizing the framework X S 2 S 1 Let us consider how the target separator J can interact with these separators. (Warsaw) April 9, 2013

  27. Generalizing the framework Y X S 2 S 1 Case 1: The target is dominated by S 2 . Then it is also well-dominated by S 2 . We take S 2 into our well-dominating set. (Warsaw) April 9, 2013

  28. Generalizing the framework Y X S 2 S 1 Case 1: The target is dominated by S 2 . Then it is also well-dominated by S 2 . We take S 2 into our well-dominating set. (Warsaw) April 9, 2013

  29. Generalizing the framework Y X S 2 S 1 Case 2: The target is dominated by S 1 but itself dominates S 2 . (Warsaw) April 9, 2013

  30. Generalizing the framework Y X S 2 S 1 Recurse on the middle strip, i.e. make all other vertices undeletable. Progress? Connectivity increases. (Warsaw) April 9, 2013

  31. Generalizing the framework Y X S 2 S 1 Recurse on the middle strip, i.e. make all other vertices undeletable. Progress? Connectivity increases. (Warsaw) April 9, 2013

  32. Generalizing the framework Y X S 2 S 1 Recurse on the middle strip, i.e. make all other vertices undeletable. Progress? Connectivity increases. (Warsaw) April 9, 2013

  33. Generalizing the framework J 1 Y X J 2 S 2 S 1 Case 3: The target J is incomparable with one of them, say S 2 . Let the first piece be J 1 and the second J 2 . Objective: Find a piece that ”locally” well-dominates J 1 and a piece that ”locally” well-dominates J 2 and put them together to get a separator well-dominating J . (Warsaw) April 9, 2013

  34. Generalizing the framework J 1 Y X J 2 S 2 S 1 Case 3: The target J is incomparable with one of them, say S 2 . Let the first piece be J 1 and the second J 2 . Objective: Find a piece that ”locally” well-dominates J 1 and a piece that ”locally” well-dominates J 2 and put them together to get a separator well-dominating J . (Warsaw) April 9, 2013

  35. Generalizing the framework J 1 Y X J 2 S 2 S 1 Case 3: The target J is incomparable with one of them, say S 2 . Let the first piece be J 1 and the second J 2 . Objective: Find a piece that ”locally” well-dominates J 1 and a piece that ”locally” well-dominates J 2 and put them together to get a separator well-dominating J . (Warsaw) April 9, 2013

  36. Generalizing the framework J 1 Y X J 2 S 2 Guess the vertices of S 2 not reachable from X in G \ J . They are the red vertices. (Warsaw) April 9, 2013

  37. Generalizing the framework J 1 Y X J 2 S 2 Guess the vertices of S 2 not reachable from X in G \ J . They are the red vertices. (Warsaw) April 9, 2013

  38. Generalizing the framework J 1 X Y S 2 J 1 intersects all paths from X to red vertices in this subgraph. Also the component containing X after removing J 1 is bipartite. We recurse on this sub-instance with J 1 as the new target. Progress? Size of the new target is sufficiently smaller. (Warsaw) April 9, 2013

  39. Generalizing the framework J 1 X Y S 2 J 1 intersects all paths from X to red vertices in this subgraph. Also the component containing X after removing J 1 is bipartite. We recurse on this sub-instance with J 1 as the new target. Progress? Size of the new target is sufficiently smaller. (Warsaw) April 9, 2013

  40. Generalizing the framework J 1 X Y S 2 J 1 intersects all paths from X to red vertices in this subgraph. Also the component containing X after removing J 1 is bipartite. We recurse on this sub-instance with J 1 as the new target. Progress? Size of the new target is sufficiently smaller. (Warsaw) April 9, 2013

  41. Generalizing the framework J 1 X Y S 2 J 1 intersects all paths from X to red vertices in this subgraph. Also the component containing X after removing J 1 is bipartite. We recurse on this sub-instance with J 1 as the new target. Progress? Size of the new target is sufficiently smaller. (Warsaw) April 9, 2013

  42. Generalizing the framework J 1 X Y S 2 J 1 intersects all paths from X to red vertices in this subgraph. Also the component containing X after removing J 1 is bipartite. We recurse on this sub-instance with J 1 as the new target. Progress? Size of the new target is sufficiently smaller. (Warsaw) April 9, 2013

  43. Generalizing the framework J 1 X Y S 2 But, before recursing, we need to know the interaction of this subgraph with the rest of the graph through the green vertices. Since green vertices are bounded, we can guess this interaction and continue. In this case, it suffices to guess a bipartition of the green vertices and add (subdivided) edges between vertices of (same) different partitions. (Warsaw) April 9, 2013

  44. Generalizing the framework J 1 X Y S 2 But, before recursing, we need to know the interaction of this subgraph with the rest of the graph through the green vertices. Since green vertices are bounded, we can guess this interaction and continue. In this case, it suffices to guess a bipartition of the green vertices and add (subdivided) edges between vertices of (same) different partitions. (Warsaw) April 9, 2013

  45. Generalizing the framework J 1 X Y S 2 But, before recursing, we need to know the interaction of this subgraph with the rest of the graph through the green vertices. Since green vertices are bounded, we can guess this interaction and continue. In this case, it suffices to guess a bipartition of the green vertices and add (subdivided) edges between vertices of (same) different partitions. (Warsaw) April 9, 2013

  46. Generalizing the framework J 1 Q 1 X Y S 2 Suppose we find a set Q 1 which well-dominates J 1 in the (correct) sub-instance. (Warsaw) April 9, 2013

  47. Generalizing the framework J 1 Q 1 Y X J 2 S 2 We can use Q 1 in the original instance to patch up J 2 . That is, we claim that J 2 ∪ Q 1 well-dominates J . Why? (Warsaw) April 9, 2013

  48. Generalizing the framework J 1 Q 1 Y X J 2 S 2 We can use Q 1 in the original instance to patch up J 2 . That is, we claim that J 2 ∪ Q 1 well-dominates J . Why? (Warsaw) April 9, 2013

  49. Generalizing the framework J 1 Q 1 Y X J 2 S 2 We can use Q 1 in the original instance to patch up J 2 . That is, we claim that J 2 ∪ Q 1 well-dominates J . Why? (Warsaw) April 9, 2013

  50. Generalizing the framework Y X S 2 Suppose there is an odd cycle in the component containing X after deleting Q 1 ∪ J 2 . Such an odd cycle must intersect the green vertices and contain subpaths which lie on the right side of S 2 . (Warsaw) April 9, 2013

  51. Generalizing the framework Y X S 2 Suppose there is an odd cycle in the component containing X after deleting Q 1 ∪ J 2 . Such an odd cycle must intersect the green vertices and contain subpaths which lie on the right side of S 2 . (Warsaw) April 9, 2013

  52. Generalizing the framework Y X S 2 These subpaths can be replaced with an edge or subdivided edge which we have guessed while constructing our sub instance. (Warsaw) April 9, 2013

  53. Generalizing the framework Y X S 2 Corresponds to an odd cycle in the sub instance disjoint from Q 1 – not possible. (Warsaw) April 9, 2013

  54. Generalizing the framework Q 1 Y X J 2 S 2 Now, we have a new X - Y separator which well-dominates J and we also know part of this separator. (Warsaw) April 9, 2013

  55. Generalizing the framework Y X J 2 S 2 Simply delete this part ( Q 1 ) and recurse on the resulting instance with J 2 as the target. Any Q 2 that well-dominates J 2 in G \ Q 1 can be patched up with Q 1 to well-dominate J . Progress? Size of the new target is sufficiently smaller. (Warsaw) April 9, 2013

  56. Generalizing the framework Y X J 2 S 2 Simply delete this part ( Q 1 ) and recurse on the resulting instance with J 2 as the target. Any Q 2 that well-dominates J 2 in G \ Q 1 can be patched up with Q 1 to well-dominate J . Progress? Size of the new target is sufficiently smaller. (Warsaw) April 9, 2013

  57. Generalizing the framework Y X J 2 S 2 Simply delete this part ( Q 1 ) and recurse on the resulting instance with J 2 as the target. Any Q 2 that well-dominates J 2 in G \ Q 1 can be patched up with Q 1 to well-dominate J . Progress? Size of the new target is sufficiently smaller. (Warsaw) April 9, 2013

  58. Summary of the framework X S 2 S 1 Find the last good separator and the first bad separator. Add the first good separator to the set. In one branch, recurse on the middle strip. (Warsaw) April 9, 2013

  59. Summary of the framework X S 2 S 1 Find the last good separator and the first bad separator. Add the first good separator to the set. In one branch, recurse on the middle strip. (Warsaw) April 9, 2013

  60. Summary of the framework X S 2 S 1 Find the last good separator and the first bad separator. Add the first good separator to the set. In one branch, recurse on the middle strip. (Warsaw) April 9, 2013

  61. Summary of the framework X S 2 S 1 In the next set of branches, build sub-instance(s) on the graph lying to the ”left” of the good separator and recurse. For each set computed in this branch, delete it and recurse on the resulting instance. Do the same with the first bad separator as well. In each branch, either budget drops or connectivity increases. In all, 2 O ( k ) branches = ⇒ 2 O ( k 2 ) bound. (Warsaw) April 9, 2013

  62. Summary of the framework X S 2 S 1 In the next set of branches, build sub-instance(s) on the graph lying to the ”left” of the good separator and recurse. For each set computed in this branch, delete it and recurse on the resulting instance. Do the same with the first bad separator as well. In each branch, either budget drops or connectivity increases. In all, 2 O ( k ) branches = ⇒ 2 O ( k 2 ) bound. (Warsaw) April 9, 2013

  63. Summary of the framework X S 2 S 1 In the next set of branches, build sub-instance(s) on the graph lying to the ”left” of the good separator and recurse. For each set computed in this branch, delete it and recurse on the resulting instance. Do the same with the first bad separator as well. In each branch, either budget drops or connectivity increases. In all, 2 O ( k ) branches = ⇒ 2 O ( k 2 ) bound. (Warsaw) April 9, 2013

  64. Summary of the framework X S 2 S 1 In the next set of branches, build sub-instance(s) on the graph lying to the ”left” of the good separator and recurse. For each set computed in this branch, delete it and recurse on the resulting instance. Do the same with the first bad separator as well. In each branch, either budget drops or connectivity increases. In all, 2 O ( k ) branches = ⇒ 2 O ( k 2 ) bound. (Warsaw) April 9, 2013

  65. Parity Multiway Cut Parity Multiway Cut Input: A Graph G = ( V , E ) , set T e of even terminals, set T o of odd terminals, a positive integer k. Parameter: k. Question: Does G have a vertex set S of size at most k intersecting every odd (even) path from t ∈ T o (t ∈ T e ) to T \ t? Even Multiway Cut if T o = ∅ , and Odd Multiway Cut if T e = ∅ and Multiway Cut if T e = T o . (Warsaw) April 9, 2013

  66. Parity Multiway Cut Special case Odd/Even Multiway Cut NP complete even for 2 terminals. (Warsaw) April 9, 2013

  67. Even Multiway Cut Let us apply the framework to solve the Even Multiway Cut problem. We may assume that number of terminals is at most 6 k . (Warsaw) April 9, 2013

  68. Even Multiway Cut Let us apply the framework to solve the Even Multiway Cut problem. We may assume that number of terminals is at most 6 k . (Warsaw) April 9, 2013

  69. Even Multiway Cut S Let S be a hypothetical solution. Observation: A component of G \ S contains at most 2 terminals. (Warsaw) April 9, 2013

  70. Even Multiway Cut S Let S be a hypothetical solution. Observation: A component of G \ S contains at most 2 terminals. (Warsaw) April 9, 2013

  71. Even Multiway Cut S Guess the partition of the terminals. (Warsaw) April 9, 2013

  72. Even Multiway Cut S Guess the partition of the terminals. Fix one set in the partition (the red terminals). (Warsaw) April 9, 2013

Recommend


More recommend