vertex sparsification and oblivious reductions
play

Vertex Sparsification and Oblivious Reductions Ankur Moitra, MIT - PowerPoint PPT Presentation

Vertex Sparsification and Oblivious Reductions Ankur Moitra, MIT September 14, 2010 Ankur Moitra (MIT) Sparsification September 14, 2010 Background The Minimum Bisection Problem Goal: Minimize cost of bisection Ankur Moitra (MIT)


  1. Background Highlights 1 Approximation Guarantees Independent of the Graph Size: We give the first poly (log k ) approximation algorithms (or competitive ratios) for: Steiner minimum bisection, requirement cut, l -multicut, oblivious 0-extension, and Steiner generalizations of oblivious routing, min-cut linear arrangement, Ankur Moitra (MIT) Sparsification September 14, 2010

  2. Background Highlights 1 Approximation Guarantees Independent of the Graph Size: We give the first poly (log k ) approximation algorithms (or competitive ratios) for: Steiner minimum bisection, requirement cut, l -multicut, oblivious 0-extension, and Steiner generalizations of oblivious routing, min-cut linear arrangement, and minimum linear arrangement Ankur Moitra (MIT) Sparsification September 14, 2010

  3. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c Ankur Moitra (MIT) Sparsification September 14, 2010

  4. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c Ankur Moitra (MIT) Sparsification September 14, 2010

  5. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c Ankur Moitra (MIT) Sparsification September 14, 2010

  6. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c h (a) = 5 K Ankur Moitra (MIT) Sparsification September 14, 2010

  7. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c h (a) = 5 K Ankur Moitra (MIT) Sparsification September 14, 2010

  8. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c h (a) = 5 K Ankur Moitra (MIT) Sparsification September 14, 2010

  9. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c Ankur Moitra (MIT) Sparsification September 14, 2010

  10. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c Ankur Moitra (MIT) Sparsification September 14, 2010

  11. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c Ankur Moitra (MIT) Sparsification September 14, 2010

  12. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c h (b) = 2 K Ankur Moitra (MIT) Sparsification September 14, 2010

  13. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c h (b) = 2 K Ankur Moitra (MIT) Sparsification September 14, 2010

  14. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c h (b) = 2 K Ankur Moitra (MIT) Sparsification September 14, 2010

  15. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c Ankur Moitra (MIT) Sparsification September 14, 2010

  16. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c Ankur Moitra (MIT) Sparsification September 14, 2010

  17. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c Ankur Moitra (MIT) Sparsification September 14, 2010

  18. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c h (ac) = 4 K Ankur Moitra (MIT) Sparsification September 14, 2010

  19. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c h (ac) = 4 K Ankur Moitra (MIT) Sparsification September 14, 2010

  20. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) a a b b c d d c h (ac) = 4 K Ankur Moitra (MIT) Sparsification September 14, 2010

  21. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c Ankur Moitra (MIT) Sparsification September 14, 2010

  22. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 K Ankur Moitra (MIT) Sparsification September 14, 2010

  23. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h’(a) = 6 K Ankur Moitra (MIT) Sparsification September 14, 2010

  24. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h’(a) = 6 K Ankur Moitra (MIT) Sparsification September 14, 2010

  25. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h’(a) = 6 K h (b) = 2 K Ankur Moitra (MIT) Sparsification September 14, 2010

  26. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h’(a) = 6 K h (b) = 2 h’(b) = 2.5 K Ankur Moitra (MIT) Sparsification September 14, 2010

  27. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h’(a) = 6 K h (b) = 2 h’(b) = 2.5 K Ankur Moitra (MIT) Sparsification September 14, 2010

  28. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h’(a) = 6 K h (b) = 2 h’(b) = 2.5 K h (ac) = 4 K Ankur Moitra (MIT) Sparsification September 14, 2010

  29. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h’(a) = 6 K h (b) = 2 h’(b) = 2.5 K h’(ac) = 4.5 h (ac) = 4 K Ankur Moitra (MIT) Sparsification September 14, 2010

  30. Vertex Sparsifiers General Approach: Cut Sparsifiers Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h (d) = 4 h (ad) = 5 h’(a) = 6 h’(d) = 5 h’(ad) = 5 K K K h (b) = 2 h (ab) = 7 h’(b) = 2.5 h’(ab) = 7.5 K K h’(c) = 3.5 h’(ac) = 4.5 h (c) = 3 h (ac) = 4 K K Ankur Moitra (MIT) Sparsification September 14, 2010

  31. Vertex Sparsifiers General Approach: Cut Sparsifiers Quality = ___ 5 4 __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h (d) = 4 h (ad) = 5 h’(a) = 6 h’(d) = 5 h’(ad) = 5 K K K h (b) = 2 h (ab) = 7 h’(b) = 2.5 h’(ab) = 7.5 K K h’(c) = 3.5 h’(ac) = 4.5 h (c) = 3 h (ac) = 4 K K Ankur Moitra (MIT) Sparsification September 14, 2010

  32. Vertex Sparsifiers Cut Sparsifiers, Informally Definition G ′ = ( K , E ′ ) is a Cut Sparsifier for G = ( V , E ) if all cuts in G ′ are at least as large as the corresponding min-cut in G . Ankur Moitra (MIT) Sparsification September 14, 2010

  33. Vertex Sparsifiers Cut Sparsifiers, Informally Definition G ′ = ( K , E ′ ) is a Cut Sparsifier for G = ( V , E ) if all cuts in G ′ are at least as large as the corresponding min-cut in G . Definition The Quality of a Cut Sparsifier is the maximum ratio of a cut in G ′ to the corresponding min-cut in G . Ankur Moitra (MIT) Sparsification September 14, 2010

  34. Vertex Sparsifiers Cut Sparsifiers Good quality Cut Sparsifiers exist! Ankur Moitra (MIT) Sparsification September 14, 2010

  35. Vertex Sparsifiers Cut Sparsifiers Good quality Cut Sparsifiers exist! And such graphs can be computed efficiently! Ankur Moitra (MIT) Sparsification September 14, 2010

  36. Vertex Sparsifiers Cut Sparsifiers Good quality Cut Sparsifiers exist! And such graphs can be computed efficiently! Theorem (Moitra, FOCS 2009) For all (undirected) weighted graphs G = ( V , E ) , and all K ⊂ V there is an (undirected) weighted graph G ′ = ( K , E ′ ) such that G ′ is a O (log k / log log k ) -quality Cut Sparsifier. Ankur Moitra (MIT) Sparsification September 14, 2010

  37. Vertex Sparsifiers Cut Sparsifiers Good quality Cut Sparsifiers exist! And such graphs can be computed efficiently! Theorem (Moitra, FOCS 2009) For all (undirected) weighted graphs G = ( V , E ) , and all K ⊂ V there is an (undirected) weighted graph G ′ = ( K , E ′ ) such that G ′ is a O (log k / log log k ) -quality Cut Sparsifier. This bound improves to O (1) if G is planar, or if G excludes any fixed minor! Ankur Moitra (MIT) Sparsification September 14, 2010

  38. Vertex Sparsifiers An Application to Steiner Minimum Bisection Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h (d) = 4 h (ad) = 5 h’(a) = 6 h’(d) = 5 h’(ad) = 5 K K K h (b) = 2 h (ab) = 7 h’(b) = 2.5 h’(ab) = 7.5 K K h’(c) = 3.5 h’(ac) = 4.5 h (c) = 3 h (ac) = 4 K K Ankur Moitra (MIT) Sparsification September 14, 2010

  39. Vertex Sparsifiers An Application to Steiner Minimum Bisection Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h (d) = 4 h (ad) = 5 h’(a) = 6 h’(d) = 5 h’(ad) = 5 K K K h (b) = 2 h (ab) = 7 h’(b) = 2.5 h’(ab) = 7.5 K K h’(c) = 3.5 h’(ac) = 4.5 h (c) = 3 h (ac) = 4 K K Ankur Moitra (MIT) Sparsification September 14, 2010

  40. Vertex Sparsifiers An Application to Steiner Minimum Bisection Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h (d) = 4 h (ad) = 5 h’(a) = 6 h’(d) = 5 h’(ad) = 5 K K K h (b) = 2 h (ab) = 7 h’(b) = 2.5 h’(ab) = 7.5 K K h’(c) = 3.5 h’(ac) = 4.5 h (c) = 3 h (ac) = 4 K K Ankur Moitra (MIT) Sparsification September 14, 2010

  41. Vertex Sparsifiers An Application to Steiner Minimum Bisection Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h (d) = 4 h (ad) = 5 h’(a) = 6 h’(d) = 5 h’(ad) = 5 K K K h (b) = 2 h (ab) = 7 h’(b) = 2.5 h’(ab) = 7.5 K K h’(c) = 3.5 h’(ac) = 4.5 h (c) = 3 h (ac) = 4 K K Ankur Moitra (MIT) Sparsification September 14, 2010

  42. Vertex Sparsifiers An Application to Steiner Minimum Bisection Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h (d) = 4 h (ad) = 5 h’(a) = 6 h’(d) = 5 h’(ad) = 5 K K K h (b) = 2 h (ab) = 7 h’(b) = 2.5 h’(ab) = 7.5 K K h’(c) = 3.5 h’(ac) = 4.5 h (c) = 3 h (ac) = 4 K K Ankur Moitra (MIT) Sparsification September 14, 2010

  43. Vertex Sparsifiers An Application to Steiner Minimum Bisection Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h (d) = 4 h (ad) = 5 h’(a) = 6 h’(d) = 5 h’(ad) = 5 K K K h (b) = 2 h (ab) = 7 h’(b) = 2.5 h’(ab) = 7.5 K K h’(c) = 3.5 h’(ac) = 4.5 h (c) = 3 h (ac) = 4 K K Ankur Moitra (MIT) Sparsification September 14, 2010

  44. Vertex Sparsifiers An Application to Steiner Minimum Bisection Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h (d) = 4 h (ad) = 5 h’(a) = 6 h’(d) = 5 h’(ad) = 5 K K K h (b) = 2 h (ab) = 7 h’(b) = 2.5 h’(ab) = 7.5 K K h’(c) = 3.5 h’(ac) = 4.5 h (c) = 3 h (ac) = 4 K K Ankur Moitra (MIT) Sparsification September 14, 2010

  45. Vertex Sparsifiers An Application to Steiner Minimum Bisection Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h (d) = 4 h (ad) = 5 h’(a) = 6 h’(d) = 5 h’(ad) = 5 K K K h (b) = 2 h (ab) = 7 h’(b) = 2.5 h’(ab) = 7.5 K K h’(c) = 3.5 h’(ac) = 4.5 h (c) = 3 h (ac) = 4 K K Ankur Moitra (MIT) Sparsification September 14, 2010

  46. Vertex Sparsifiers An Application to Steiner Minimum Bisection Graph G=(V,E) Sparsifier G’=(K,E’) __ 1 a 2 a b __ 1 __ 5 3 __ 3 2 2 2 b __ 1 2 c d d c h (a) = 5 h (d) = 4 h (ad) = 5 h’(a) = 6 h’(d) = 5 h’(ad) = 5 K K K h (b) = 2 h (ab) = 7 h’(b) = 2.5 h’(ab) = 7.5 K K h’(c) = 3.5 h’(ac) = 4.5 h (c) = 3 h (ac) = 4 K K Ankur Moitra (MIT) Sparsification September 14, 2010

  47. Vertex Sparsifiers This is a general strategy! Ankur Moitra (MIT) Sparsification September 14, 2010

  48. Vertex Sparsifiers This is a general strategy! For any problem characterized by cuts or flows: Ankur Moitra (MIT) Sparsification September 14, 2010

  49. Vertex Sparsifiers This is a general strategy! For any problem characterized by cuts or flows: 1 Construct G ′ so OPT ′ ≤ poly (log k ) OPT Ankur Moitra (MIT) Sparsification September 14, 2010

  50. Vertex Sparsifiers This is a general strategy! For any problem characterized by cuts or flows: 1 Construct G ′ so OPT ′ ≤ poly (log k ) OPT 2 Run approximation algorithm on G ′ Ankur Moitra (MIT) Sparsification September 14, 2010

  51. Vertex Sparsifiers This is a general strategy! For any problem characterized by cuts or flows: 1 Construct G ′ so OPT ′ ≤ poly (log k ) OPT 2 Run approximation algorithm on G ′ 3 Map solution back to G Ankur Moitra (MIT) Sparsification September 14, 2010

  52. Vertex Sparsifiers This is a general strategy! For any problem characterized by cuts or flows: 1 Construct G ′ so OPT ′ ≤ poly (log k ) OPT 2 Run approximation algorithm on G ′ 3 Map solution back to G This will bootstrap a poly (log k ) guarantee from a poly (log n ) guarantee Ankur Moitra (MIT) Sparsification September 14, 2010

  53. Vertex Sparsifiers Oblivious Reductions Ankur Moitra (MIT) Sparsification September 14, 2010

  54. Vertex Sparsifiers Oblivious Reductions This approach is useful even for efficiently solvable problems! Ankur Moitra (MIT) Sparsification September 14, 2010

  55. Vertex Sparsifiers Oblivious Reductions This approach is useful even for efficiently solvable problems! Question What if we are asked to solve a routing problem on K, but we don’t yet know the demands? Ankur Moitra (MIT) Sparsification September 14, 2010

  56. Vertex Sparsifiers Oblivious Reductions This approach is useful even for efficiently solvable problems! Question What if we are asked to solve a routing problem on K, but we don’t yet know the demands? 1 Construct G ′ Ankur Moitra (MIT) Sparsification September 14, 2010

  57. Vertex Sparsifiers Oblivious Reductions This approach is useful even for efficiently solvable problems! Question What if we are asked to solve a routing problem on K, but we don’t yet know the demands? 1 Construct G ′ Given G ′ , there will be a canonical way to map flows in G ′ back to G Ankur Moitra (MIT) Sparsification September 14, 2010

  58. Vertex Sparsifiers Oblivious Reductions This approach is useful even for efficiently solvable problems! Question What if we are asked to solve a routing problem on K, but we don’t yet know the demands? 1 Construct G ′ Given G ′ , there will be a canonical way to map flows in G ′ back to G 2 Given demands, optimally solve on G ′ Ankur Moitra (MIT) Sparsification September 14, 2010

  59. Vertex Sparsifiers Oblivious Reductions This approach is useful even for efficiently solvable problems! Question What if we are asked to solve a routing problem on K, but we don’t yet know the demands? 1 Construct G ′ Given G ′ , there will be a canonical way to map flows in G ′ back to G 2 Given demands, optimally solve on G ′ 3 Map solution back to G Ankur Moitra (MIT) Sparsification September 14, 2010

  60. Vertex Sparsifiers Highlights 1 Approximation Guarantees Independent of the Graph Size: We give the first poly (log k ) approximation algorithms (or competitive ratios) for: Steiner minimum bisection, requirement cut, l -multicut, oblivious 0-extension, and Steiner generalizations of oblivious routing, min-cut linear arrangement, and minimum linear arrangement Ankur Moitra (MIT) Sparsification September 14, 2010

  61. Vertex Sparsifiers Highlights 1 Approximation Guarantees Independent of the Graph Size: We give the first poly (log k ) approximation algorithms (or competitive ratios) for: Steiner minimum bisection, requirement cut, l -multicut, oblivious 0-extension, and Steiner generalizations of oblivious routing, min-cut linear arrangement, and minimum linear arrangement 2 Oblivious Reductions: All you need to know about the underlying communication network is its vertex sparsifier Ankur Moitra (MIT) Sparsification September 14, 2010

  62. Vertex Sparsifiers Definition G=(V,E) Ankur Moitra (MIT) Sparsification September 14, 2010

  63. Vertex Sparsifiers Definition G=(V,E) Ankur Moitra (MIT) Sparsification September 14, 2010

  64. Vertex Sparsifiers Definition G =(K,E ) f f Ankur Moitra (MIT) Sparsification September 14, 2010

  65. Vertex Sparsifiers Definition Let f : V → K , is a 0-extension if for all a ∈ K , f ( a ) = a . G =(K,E ) f f Ankur Moitra (MIT) Sparsification September 14, 2010

  66. Vertex Sparsifiers Lemma G f is a Cut Sparsifier G =(K,E ) f f Ankur Moitra (MIT) Sparsification September 14, 2010

  67. Vertex Sparsifiers Lemma G f is a Cut Sparsifier G =(K,E ) f f K−A A Ankur Moitra (MIT) Sparsification September 14, 2010

  68. Vertex Sparsifiers Lemma G f is a Cut Sparsifier G =(K,E ) f f K−A A Ankur Moitra (MIT) Sparsification September 14, 2010

  69. Vertex Sparsifiers Lemma G f is a Cut Sparsifier G=(V,E) K−A A Ankur Moitra (MIT) Sparsification September 14, 2010

Recommend


More recommend