A Polynomial-time Tree Decomposition for Minimizing Congestion

Slides:



Advertisements
Similar presentations
Approximate Max-integral-flow/min-cut Theorems Kenji Obata UC Berkeley June 15, 2004.
Advertisements

Routing in Undirected Graphs with Constant Congestion Julia Chuzhoy Toyota Technological Institute at Chicago.
Cuts, Trees, and Electrical Flows Aleksander Mądry.
Routing and Congestion Problems in General Networks Presented by Jun Zou CAS 744.
Graph Partitioning Problems Lecture 18: March 14 s1 s3 s4 s2 T1 T4 T2 T3 s1 s4 s2 s3 t3 t1 t2 t4 A region R1 R2 C1 C2.
Approximation Algoirthms: Graph Partitioning Problems Lecture 17: March 16 s1 s3 s4 s2 T1 T4 T2 T3.
Max Flow Problem Given network N=(V,A), two nodes s,t of V, and capacities on the arcs: uij is the capacity on arc (i,j). Find non-negative flow fij for.
A sublinear Time Approximation Scheme for Clustering in Metric Spaces Author: Piotr Indyk IEEE FOCS 1999.
Online Social Networks and Media. Graph partitioning The general problem – Input: a graph G=(V,E) edge (u,v) denotes similarity between u and v weighted.
© The McGraw-Hill Companies, Inc., Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
A polylogarithmic approximation of the minimum bisection Robert Krauthgamer The Hebrew University Joint work with Uri Feige.
Hierarchical Decompositions for Congestion Minimization in Networks Harald Räcke 1.
All Rights Reserved © Alcatel-Lucent 2006, ##### Matthew Andrews, Alcatel-Lucent Bell Labs Princeton Approximation Workshop June 15, 2011 Edge-Disjoint.
Approximation Algorithms for Non-Uniform Buy-at-Bulk Network Design Problems Mohammad R. Salavatipour Department of Computing Science University of Alberta.
Tirgul 5 AVL trees.
2 -1 Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
Network Design Adam Meyerson Carnegie-Mellon University.
Online Algorithms for Network Design Adam Meyerson UCLA.
Robust Network Design with Exponential Scenarios By: Rohit Khandekar Guy Kortsarz Vahab Mirrokni Mohammad Salavatipour.
EDA (CS286.5b) Day 6 Partitioning: Spectral + MinCut.
Online Oblivious Routing Nikhil Bansal, Avrim Blum, Shuchi Chawla & Adam Meyerson Carnegie Mellon University 6/7/2003.
A General Approach to Online Network Optimization Problems Seffi Naor Computer Science Dept. Technion Haifa, Israel Joint work: Noga Alon, Yossi Azar,
Primal-Dual Meets Local Search: Approximating MST’s with Non-uniform Degree Bounds Author: Jochen Könemann R. Ravi From CMU CS 3150 Presentation by Dan.
Online Oblivious Routing Nikhil Bansal, Avrim Blum, Shuchi Chawla & Adam Meyerson Carnegie Mellon University 6/7/2003.
June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.
All Rights Reserved © Alcatel-Lucent 2006, ##### Matthew Andrews Show-and-Tell April 20, 2010 Edge Disjoint Paths via Räcke Decompositions.
Yossi Azar Tel Aviv University Joint work with Ilan Cohen Serving in the Dark 1.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Computer Algorithms Submitted by: Rishi Jethwa Suvarna Angal.
File Organization and Processing Week Tree Tree.
Multicommodity flow, well-linked terminals and routing problems Chandra Chekuri Lucent Bell Labs Joint work with Sanjeev Khanna and Bruce Shepherd Mostly.
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
Approximating the k Steiner Forest and Capacitated non preemptive dial a ride problems, with almost uniform weights Guy Kortsarz Joint work with Dinitz.
New algorithms for Disjoint Paths and Routing Problems
and 6.855J March 6, 2003 Maximum Flows 2. 2 Network Reliability u Communication Network u What is the maximum number of arc disjoint paths from.
1 Binary Search Trees  Average case and worst case Big O for –insertion –deletion –access  Balance is important. Unbalanced trees give worse than log.
New Algorithms for Disjoint Paths Problems Sanjeev Khanna University of Pennsylvania Joint work with Chandra Chekuri Bruce Shepherd.
More NP-Complete and NP-hard Problems
Decision Trees DEFINITION: DECISION TREE A decision tree is a tree in which the internal nodes represent actions, the arcs represent outcomes of an action,
COMP261 Lecture 23 B Trees.
Balanced Binary Search Trees
Approximating k-route cuts
Randomized Min-Cut Algorithm
BackTracking CS255.
Efficient methods for finding low-stretch spanning trees
The minimum cost flow problem
Haim Kaplan and Uri Zwick
Algorithms for Routing Node-Disjoint Paths in Grids
Approximating k-route cuts
NP-Completeness Yin Tat Lee
Localizing the Delaunay Triangulation and its Parallel Implementation
i206: Lecture 14: Heaps, Graphs intro.
Bart M. P. Jansen June 3rd 2016, Algorithms for Optimization Problems
Coping With NP-Completeness
Graph Partitioning Problems
Topic 23 Red Black Trees "People in every direction No words exchanged No time to exchange And all the little ants are marching Red and Black.
CS202 - Fundamental Structures of Computer Science II
NP-Completeness Yin Tat Lee
Successive Shortest Path Algorithm
and 6.855J March 6, 2003 Maximum Flows 2
Compact routing schemes with improved stretch
On Clusterings: Good, Bad, and Spectral
Clustering.
More NP-Complete Problems
Directional consistency Chapter 4
Coping With NP-Completeness
A Variation of Minimum Latency Problem on Path, Tree and DAG
Presentation transcript:

A Polynomial-time Tree Decomposition for Minimizing Congestion Chris Harrelson Kirsten (Kris) Hildrum Satish Rao

Multicommodity flow T2 T1 S1 T3 Congestion = 2 S3 S2 Cloud is a graph. (Undirected graph) Sources, Sinks. Route flow from source to sink. Show paths. Notice two paths use same edge. Define congestion. NP-hard to compute minimum congestion paths, but can get a log n approximation (Leighton Rao). Transition: We want something harder – oblivious routing.

Oblivious Routing T2 T1 S1 T3 S3 S2 Show paths for flows. Measure of success is comparison to optimal. S3 S2

Problem Description Given A weighted graph Find oblivious routing scheme That is, a set of paths for each Si Ti pair Competitive Analysis  For any set of demands, bound ratio of our congestion to congestion of optimal flow

Some results Leiserson ’85 – Fat trees implies O(log n) on grids Räcke ’02 – Ratio of O(log3 n), but construction not polytime Bienkowski, Korzeniowski, and Räcke ‘03 – O(log4 n) construction and simpler O(log3 n) existence Harrelson,H,Rao ‘03 O(log2 n log log n) construction Azar, Cohen, Fiat, Kaplan and Räcke ‘03 – Linear program to find optimal oblivious scheme, not hierarchical Azar – No new bound, but give optimal scheme, and appeal to Raecke to for bound on ratio. Remember to say that at time of submission, ours was essentially the same as theirs.

Algorithm Outline Edge weights are size of cut

Tree provides lower bound Each node of the tree is a group of nodes in graph Congestion on tree is lower bound for congestion on graph Need to mimic tree on graph with low congestion Best tree has smallest cuts

Example decomposition and tree V S1 S2 S3 S4 3 2 1 4 5 6 7 S3 6 7 1 S4 2 4 5 S2 3 S1 Next slide: Using the tree

Ti If I had a title, this slide would be “using the tree” Si

Algorithm Decompose graph into clusters A step moves flow from border of one cluster to border of parent cluster First to border of sibling clusters Then to border of parent The rest of this talk: creating clusters that allow for this flow with low-congestion Result for O(log3 n) Better accounting for O(log2n log log n)

Need Uniform border flow Let w(u) be the border weight of u. Then the flow from u to v is: Border nodes can all communicate. If k border nodes, each sends flow of 1/k to every border node. Getting rid of border nodes makes the problem easier. Decompose, and check if we can route the flow, if not fix decomposition.

Main Tool: Flow or Cut Given a set of demands we can find either A way of routing the demands with congestion O(log2 n), or A cut such that (Follows from eg. Leighton-Rao) No flow exists with congestion, Red = demand, black = graph

Merging Need Uniform flow between border nodes Start with nodes in sets of their own Is there a uniform border flow with congestion O(log2 n) ? Yes, done No, find cut Merge smaller side, repeat Number of border nodes decreases Start with a set and we are going to refine it. One level partition. Very optimistic. Everyone is a border node. Previous talk enforced an additional condition on After merge, this is a good cut; only want to sent one unit of flow out, and have one edge to do so.

But What If… Border nodes from higher levels still border nodes after merge Make no progress! Called: Bad Child Event Child said “No Way” to parent.

Bandwidth sets Child can’t do anything Give up and send offending cut back to parent Solves child’s problem, but creates problem for higher level decomposition Could happen repeatedly! Cut, flow gap. Gave our children freedom, and they disobeyed. Need other colors. Green node will be border node will be upper level one, now extra blue nodes need to talk. The red nodes could talk, but new blue node, We fail, so make cut at upper level, cloud of clouds, with new blue nodes. My advisor calls this a bad child event, but maybe “bad parent event” would be better, since the parent has given the child an impossible task. P

Border Nodes from Bad Children Bad Child Event creates new border nodes By construction, red nodes can talk to red nodes in other pieces Use max flow on smaller side to connect light blue to red Number of new border nodes is factor of log n smaller than number of old If max flow doesn’t work, we can find a cut where it does. Move border in picture? Mention pileup. Number of new nodes is *much smaller*

Bounding Pileup from Bad Child Events extra load for every bad child event Only log n bad child events Total pileup: Lots more red nodes than black nodes because of the way we set our congestion bounds.

Total congestion Max flow: O(log n) 2 each time edge in max flow In max flow at most log n times Each child is at most ½ of parent, so O(log n) depth One multicommodity flow per level, each with congestion O(log2 n) Total: O(log3 n) + O(log n) = O(log3 n) Can get O(log2 n log log n) by charging based on piece size

Observations Bottom partition has done a lot more work! allow more congestion in this case Better accounting Worst case no better So sum congestion over all levels

Getting down to (log2n log log n) Need Uniform flow between border nodes Start with nodes in sets of their own Is there a uniform border flow with congestion O(log2 n) ? Yes, done No, find cut Merge smaller side, repeat Number of border nodes decreases δ(S)log n Start with a set and we are going to refine it. One level partition. Very optimistic. Everyone is a border node. Previous talk enforced an additional condition on After merge, this is a good cut; only want to sent one unit of flow out, and have one edge to do so. S

New edge congestion If P is parent, and S is current set, allow congestion If an edge is in sets S0 to Sm, then total congestion is

Overload from bad child events O(log3 n) O(log2 log log n) On a bad child event, new border nodes route via original border nodes Number of new nodes was 1/log n, so to bound overload: Same scheme, but number of new border nodes is With each division, |P|/|S| increases Total of log n possible divisions  Overload still bounded

Conclusions/Future Work Applications to preconditioners Maggs, Miller, Parekh, Ravi and Wu Notes Decomposition that makes internal connections approximately equal to external connections Use for finding communities in graphs? “That’s nice, but the answer should be log n.” (Edith Cohen) Mention R. We sent this paper to Cohen, and this is what she said…

The End