1 / 17

All-Pairs Bottleneck Paths in Vertex Weighted graphs

All-Pairs Bottleneck Paths in Vertex Weighted graphs. Asaf Shapira Microsoft Research Raphael Yuster University of Haifa Uri Zwick Tel-Aviv University. Background. All Pairs Shortest Paths: Given a weighted directed graph,

Download Presentation

All-Pairs Bottleneck Paths in Vertex Weighted graphs

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. All-Pairs Bottleneck Paths in Vertex Weighted graphs Asaf Shapira Microsoft Research Raphael Yuster University of Haifa Uri Zwick Tel-Aviv University

  2. Background All Pairs Shortest Paths: Given a weighted directed graph, find for all pairs uv, the shortest path connecting u to v. [Seidel 95, Alon Galil Margalit 97, Zwick 98] :Subcubic (that is O(n3-)) algorithms for directed/undirected graphs, with small integer edge weights.

  3. What is a Bottleneck 4 2 3 8 u v 3 8 2 4 1 6 u v 6 9 Bottleneck of a path= heaviest vertex on path (inc. endpoints). Bottleneck between u and v= minimum bottleneck of all paths connecting u and v. b(u,v) = Bottleneck from u to v.

  4. Previous Results [Polack 60]: O(n3) algorithm for all pairs bottleneck paths in edge weighted directed graphs. [Hu 61]: O(n2) algorithm for all pairs bottleneck paths in edge weighted undirected graphs. [Dijkstra 59 + Fredman-Tarjan 87]: O(m+n log n) algorithm for single source bottleneck paths in edge weighted directed graphs.

  5. Main Results Theorem:Given a vertex weighted directed graph G=(V,E) it is possible to compute b(u,v) for all pairs u,v in time O(n2.575). d(u,v) = length of shortest path from u to v. db(u,v) = minimum bottleneck over all paths of length d(u,v). Theorem:Given a vertex weighted graph G=(V,E) it is possible to compute db(u,v) for all pairs u,v in time O(n2.86).

  6. Bollean Matrix Multiplication [Coppersmith-Winograd 90]:The boolean product of two n by n matrices can be computed using n algebraic operations (additions, subtractions, multiplications), where  < 2.376. Wittnesses for boolean matrix multiplication: a matrix W st: • If cij=1 then Wij = k for somek st aik=bkj=1. • If cij=0 then Wij = 0. [Alon-Naor 92, Galil Margalit 92]: The witness matrix W can be computed in time O(n+o(1)).

  7. Min Witnesses for Bool Mat Multip Wittnesses for boolean matrix multiplication: a matrix W st: • If cij=1 then Wij = k for somek st aik=bkj=1. • If cij=0 then Wij = 0. Minimum wittnesses for boolean matrix multip: a matrix W st: • If cij=1 then Wij = k for the smallestk st aik=bkj=1. • If cij=0 then Wij = 0. [Czumaj, Kowaluk, Lingas 06]: The minimum witnesses matrix can be computed in time O(n2.575).

  8. Additional Results Theorem:Computing All-Pairs Bottleneck paths is (up to constant factors) equivalent to finding minimum witnesses. Definition:An LCA (lowest common ancestor) of vertices u, v in a DAG is a vertex w that a has a path to u and a path to v, such that no other vertex reachable from w has a path to u, and a path to v. Proposition:Computing All Pairs LCAs in a DAG is not harder than computing All-Pairs Bottleneck Paths.

  9. Finding Short Bottlenecks 3 8 6 2 4 u v Bottleneck of a path= heaviest vertex on the path. Pt(u,v) = 1if and only if there is a path from u to v, of length at most t, such that v has maximum weight. Patch together two paths that meet at the bottleneck Qt(u,v) = 1if and only if there is a path from u to v, of length at most t, such that u has maximum weight. How can we compute bottlenecks of paths of length k ? bk(u,v) = Min (Min-Witness(Pr·Qk-r))u,v 0 ≤ r ≤ k

  10. Finding Short Bottlenecks Lemma:Bottlenecks of length O(1) are computable in O(n2.575). bk(u,v) = Min (Min-Witness(Pk·Qk-r))u,v 0 ≤ r ≤ k Pt(u,v) = 1if and only if there is a path from u to v, of length at most t, such that v has maximum weight. We need to compute Pt in O(n2.575) ? A: adjacency matrix of G with 1’s on diagonal. B: Bij=1 iff w(u) ≤ w(v). Pt = (A · Pt-1)  B

  11. The General Case B = n/2 heaviest vertices A = n/2 lightest vertices 1 8 n 2 Solve recursively the problem on A T(n/2)

  12. The General Case A = n/2 lightest vertices B = n/2 heaviest vertices 8 9 Reachability + Solve recursively on B: T(n/2)+O(n)

  13. The General Case A = n/2 lightest vertices 4 9 1 5 Solve short bottlenecks: O(n2.575) Bottleneck

  14. Running Time Running time is give by T(n) = 2T(n/2) + O(n2.575) = O(n2.575) In fact: Algorithms shows that finding bottlenecks is as easy finding minimum witnesses. We also prove the converse. Implies O(n2.575) algorithm for finding maximum vertex weighted triangle. First proved by [Vassilevska Williams Yuster 06]. Improved by [Czumaj Lingas 06].

  15. Finding Short Bottleneck Paths d(u,v) = length of shortest path from u to v. db(u,v) = minimum bottleneck over all paths of length d(u,v). Theorem:Given a vertex weighted graph G=(V,E) it is possible to compute db(u,v) for all pairs u,v in time O(n2.86). Main Idea:Handle the case of short paths using previous alg. Handle long paths using “bridging sets”: select a small set of vertices B, and solve the single-source problem for all v  B. whp, we hit all the “long” shortest-paths.

  16. Concluding Remarks 1) [Vassilevska Williams uster 06]:O(n2.792) algorithm for bottlenecks paths in edge weighted graphs. • Find an O(nw) algorithm for min-witnesses of boollean matrix-multiplication. • Resolve complexity of Least Common Ancestors in DAGs: Is LCA in DAGs as hard as min-witnesses for boolean matrix multiplication? Is LCA in DAGs as easy as boolean matrix multiplication?

  17. Thank You

More Related