1 / 28

Cuts, Trees, and Electrical Flows

Cuts, Trees, and Electrical Flows. (In case you just got here by mistake…). Graphs are everywhere !. They got HUGE. Algorithmic Graph Theory: Developing algorithmic ideas and tools to allow us to analyze and understand graphs.

Télécharger la présentation

Cuts, Trees, and Electrical Flows

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cuts, Trees, and Electrical Flows

  2. (In case you just got here by mistake…) Graphs are everywhere! They got HUGE

  3. Algorithmic Graph Theory: Developing algorithmic ideas and tools to allow us to analyze and understand graphs (Could allow directed edges, but will focus on undirected today)

  4. Graph Partitioning (clustering, community detection, div & conq) Example Tasks of Interest Connectivity Analysis (congestion estimation, analyzing resiliance to link failures) Network Design (supporting most efficent commun. infrastructure, routing schemes)

  5. Algorithmic Graph Theory: Developing algorithmic ideas and tools to allow us to analyze and understand graphs (Could allow directed edges, but will focus on undirected today) Big Data = Big Problem We need our algorithms to be really fast (theory paradise: asymptotic complexity does matter here, O(n2) or even O(n3/2) does not cut it) Also, parallelization/distributed aspects play role Classic approaches that we used so far are often too slow and hard to parallelize/decentralize

  6. Fundamental question: What graph problems can we solve in nearly-linear time?

  7. The setup 11 9 8 Undirected graph G with integer capacities u(∙) 5 1 3 15 1 4 10 6 6 8 7 20 We want to solve minimization cut-based problems on G

  8. Cut-basedmin problem C u(C) = capacity of the cut C f(C) = arbitrary positive function independent of edges/capacities Examples: f(C) = 1 → minimum cut problem f(C) = 1 if C separates s and t; f(C)=∞ otherwise → minimum s-t cut problem f(C) = 1/min {|C|, |V\C|} → sparsest cut problem

  9. Other important examples: • generalized sparsest cut problem • minimum conductance cut problem • balanced separator problem • minimum bisection problem • minimum multi-cut problem • minimum multiway-cut problem • … Can we solve these problems in poly time? Yes, in case of minimum (s-t) cut, but the remaining ones are NP-hard Good news: Can get a O(log n) (or better) approx.!

  10. What about nearly-linear time computations? Good news: Possible for minimum cut problem![Karger ’00] Bad news: Known alg. for min s-t cut need Ω(n3/2) time Same is true for (almost) all the best approx. algorithms for the other problems How about trading approx. for efficiency? (We already did this to cope with NP-hardness) Lots of progress in the context of sparsest cut and minimum conductance cut [Arora Hazan Kale ‘04 Khandekar Rao Vazirani ’06 Arora Kale ‘07 Orecchia Schulman Vazirani Vishnoi ‘08 Sherman ‘09 Spielman Teng ’04 Andersen Chung Lang ’06 Andersen Peres ‘09 Orecchia Vishnoi ’11 Orecchia Sachdeva Vishnoi ‘12]

  11. Still-unanswered question: Can we design nearly-linear time approx. algorithms for all these problems? [M. ’10]: Yes, if we can compute such a fast approx. on trees More precisely: Fix any cut-based minimization problem Good and fast β-approx. alg. working only on trees ↓ A O(β polylog)-approx. for general graphs that runs in Õ(n1+δ) time (The poly-log grows mildly with 1/δ) Moral: When shooting for a fast polylog-approx. algorithm for a cut-based minimization problem, just focus on trees

  12. How to prove such a theorem? C C (T1 ,λ1) λ1 C λi G (Ti ,λi) [Räcke ‘08] (simplified): For any graph G=(V,E,u), we can find a convex combination {(λi,Ti)}iof trees* such that for any cut C: (cut lower-bounding) ui(C) ≥ u(C) for all i (cut upper-bounding) Eλ[u(C)]:=∑i λi ui(C) ≤ O(log n) u(C)

  13. How to use this decomposition? Idea for lifting: 1) Find {(λi,Ti)}ias described 2) Sample a tree T being Tiwith prob. λi 3) Output a β-optimal solution C for instance P on T Why should it work? Let C* be the optimal solution With prob. ≥ 1/2: uT(C*)≤ O(log n) u(C*) But u(C) fP(C) ≤ uT(C) fP(C) ≤ β uT(C*)fP(C*) ≤ O(β log n) u(C*) fP(C*)=O(β log n) OPT Note: Choice of T is oblivious to the problem we want to solve

  14. Lifting works great! How about running time? F R H Räcke’s algorithm runs in Õ(n3) time What to do now? Prohibitive from our point of view! Idea: Decompose G into objects that are more complicated than trees, but still simpler than general graphs H is a j-tree if it is a union of: → a forest F (envelope) → an arbitrary graph R (core) and: 1) |V(R)|≤ j 2) for each connected component F’ of F, |V(F’)∩V(R)|=1 Note: 1-tree is just a tree

  15. Decomposing graphs into j-trees Theorem (simplified): For any graph G=(V,E,u) and j≥1, we can find in Õ(m+n2/j) time a convex comb. {(λi,Ti)}iof j-treess.t. for any cut C: (cut lower-bounding) ui(C) ≥ u(C) for all i (cut upper-bounding) Eλ[u(C)]:=∑i λi ui(C) ≤ Õ(log n) u(C) j=1 yields Räcke’s result with faster running time but has slightly worse quality The real benefit comes from the ability to vary j!

  16. Speeding up min s-t cut computation: C* C* s s R T t t G Õ(m+n2/j) time + sampling With prob. 1/2, cut C* is Õ(log n)-preserved If we run the min s-t cut alg. on T instead of G then appropriate choice of j gives a speed up! (i.e. if j is such that we minimize the total running time: Õ(m+n2/j) + Õ(m+j(1+c))<< Õ(m+n1+c))

  17. C* C* s s R T t t G Õ(m+n2/j) time + sampling There is even better way of leveraging this flexibility! Instead of reducing G to T in one big step… …we do it in a series of small recursive steps We get a running time arbitrarily close to nearly-linear …but at a price of approx. ratiogrowing accordingly

  18. Success? We get a good generic „baseline” solution for a large family of problems But… The approx. ratio could be better Algorithms „seem” not really practical yet (Can we use some of the insight to speed up the existing heuristics?) Still… The approx ratio should be improvable Was recently used to get (1+ε)-approx. to undirected max flow in close-to-linear time [Kelner Lee Orecchia Sidford ‘13] [Sherman ‘13]

  19. Spectral Graph Theory Beyond λ2

  20. The Laplacian matrix of a graph G = L D - A D = diagonal vertex degree matrix A = adjacency matrix Spectral graph theory: Connecting combinatorial structure of G to linear-algebraic properties of L Key quantity: λ2 = second-smallest eigenvalue of L

  21. Classic success story: λ2 connection Lots of connections to spectral properties of the graph (e.g., understanding of random walks) Spectral (and local) partitioning: Works great on well-connected graphs (i.e., graphs with large λ2) But has well-known limitations Can we take spectral graph theory ‘beyond’ λ2 ?

  22. Promising example: O(k2 λ2 (λk)-1/2)-approx. to uniform sparsest cut [Kwok Lau Lee Oveis-Gharan Trevisan ’13] (If λk fairly large for some small k  a very good approx.) Upshot: λk fairly large  G = union of k-1 expander-like graphs Still: Can we access the whole spectrum of L in more principled manner?

  23. Object of interest: Electrical flows t s resistances given by {re}e Given a graph G with resistances{re}e source s and sink t Recipe for elec. flow: 1) Treat edges as resistors 2) Connect a battery to s and t

  24. Object of interest: Electrical flows Given a graph G with resistances{re}e source s and sink t induced current (flow conservation constraints hold) t s Recipe for elec. flow: 1) Treat edges as resistors 2) Connect a battery to s and t

  25. What does it have to do with Laplacians? Computing an electrical flow = solving aLaplacianlinear system x = L b Furthermore: [Spielman Teng ’04, Koutis Miller Peng ’10 ‘11] We can (essentially) solve such systems in nearly-linear time Result: Electrical flowis a nearly-linear timeprimitive

  26. How can we employ this primitive? Fast maximum/multi-commodity flow approximation [Christano Kelner M. Spielman Teng ‘11] [Kelner Miller Peng ‘12] Faster random walk simulations [Kelner M. ‘09] Where else will electrical flow be a useful primitive?

  27. Conclusion Power of tree-like decompositions: Approx. vs. running time trade-off for undirected cut-based minimization problems Spectral graph theory beyond λ2: Electrical flows primitive Outstanding challenge: Directed graphs

  28. Thank you Questions?

More Related