1.19k likes | 1.32k Views
Improved Randomized Algorithms for Path Problems in Graphs. Surender Baswana Postdoctoral Researcher Max Planck Institute for Computer Science. Path Problems in Graph. Given a graph, report a path with certain characteristics. Path Problems in Graph.
E N D
Improved Randomized Algorithms for Path Problems in Graphs Surender Baswana Postdoctoral Researcher Max Planck Institute for Computer Science
Path Problems in Graph Given a graph, report a path with certain characteristics
Path Problems in Graph Given a graph, report a path with certain characteristics Transitive closure
Path Problems in Graph Given a graph, report a path with certain characteristics Transitive closure All-pairs shortest paths
Query paradigm of a path problem Given a graph G=(V,E)
Query paradigm of a path problem Given a graph G=(V,E) • A sequence of path queries
Query paradigm of a path problem Given a graph G=(V,E) • A sequence of path queries • Answer each path query online
Path Problems in static settings • Preprocess a given graph G=(V,E) to form a data-structure that can answer a path query in optimal time.
Path Problems in dynamic settings A graph G=(V,E) ,
Path Problems in dynamic settings A graph G=(V,E) , q, q,u ,u , q ,u,u,u,u , q , q ,u, …
Path Problems in dynamic settings AIM : Maintain a data-structure
Path Problems in dynamic settings AIM : Maintain a data-structure • Answer each query in optimal time
Path Problems in dynamic settings AIM : Maintain a data-structure • Answer each query in optimal time • Requires less update time
Organization of the talk • Static algorithms • All-pairs approximate shortest paths • Graph Spanners • Dynamic algorithms • Transitive closure • All-pairs shortest paths • Open Problems
Organization of the talk • Static algorithms • All-pairs approximate shortest paths • Graph Spanners • Dynamic algorithms • Transitive closure • All-pairs shortest paths • Open Problems
All-Pairs Shortest Paths • Given a graph G=(V,E), preprocess it to compute shortest-path for every pair of vertices u,vЄV. |V|=n, |E|=m δ(u,v) : distance from u to v One of the most fundamental algorithmic graph problem
Existing algorithms for APSP • Floyd and Warshal O(n3) • Pettie [ICALP 2002, TCS 2004] O(mn+n2log logn) • Zwick [ISAAC 2004] O(n3 (log log n)1/2/log n)
Sub-cubic algorithms for APSP Distance matrix G=(V,E) Fast Matrix Multiplication Subroutine
Are there simple and efficient algorithms for APSP with • sub-cubic preprocessing time ? • sub-quadratic space data-structure ?
Are there simple and efficient algorithms for APSP with • sub-cubic preprocessing time ? • sub-quadratic space data-structure ? At the cost of approximation
All-pairs approximate shortest Paths • Some error ε in the distance δ* • Additive errorε= k δ(u,v) ≤ δ*(u,v) ≤ δ(u,v) + k • Multiplicative errorε= t δ(u,v) ≤ δ*(u,v) ≤ t δ(u,v)
Existing algorithms for APASP in undirected graph • Algorithms with additive error • Aingworth et al. [SODA 1996, SICOMP 1999] • Dor et al. [FOCS 1996, SICOMP 1999] • Algorithms with multiplicative error • Cohen [SICOMP 1998] • Cohen & Zwick [SODA 1997, J. Algo. 2001] • Thorup & Zwick [STOC 2001] • Algorithms with additive and multiplicative error • Elkin [PODC 2001]
Approximate Distance Oracle[Thorup & Zwick, STOC 2001] Given a positive integer k • Preprocessing timeO(kmn1/k) • Data-structure of sizeO(kn1+1/k) • Answer any approximate distance query inO(k)time δ(u,v) ≤ δ*(u,v) ≤ (2k-1) δ(u,v)
Approximate Distance Oracle[Thorup & Zwick, STOC 2001] Given a positive integer k • Preprocessing timeO(kmn1/k) • Data-structure of sizeO(kn1+1/k) • Answer any approximate distance query inO(k)time δ(u,v) ≤ δ*(u,v) ≤ (2k-1) δ(u,v) (2k-1)-approx. distance oracle
Approximate Distance Oracle[Thorup & Zwick, STOC 2001] Given a positive integer k • Preprocessing timeO(kmn1/k) • Data-structure of sizeO(kn1+1/k): Optimal • Answer any approximate distance query inO(k)time δ(u,v) ≤ δ*(u,v) ≤ (2k-1) δ(u,v) (2k-1)-approx. distance oracle
All-pairs 2-approx. shortest path • A : algorithm for (2-ε)-approximate shortest paths • B,C : two nΧn boolean matrices
All-pairs 2-approx. shortest path • A : algorithm for (2-ε)-approximate shortest paths • B,C : two nΧn boolean matrices BΧC GB,C B,C Linear time A
All-pairs 2-approx. shortest path • A : algorithm for (2-ε)-approximate shortest paths • B,C : two nΧn boolean matrices BΧC GB,C B,C Linear time A All-pairs (2- ε)-approx. paths is as difficult as Boolean matrix multiplication
All-pairs 2-approx. shortest path [Cohen & Zwick, SICOMP 2000] G=(V,E) : Undirected weighted graph • Preprocessing time : O(m1/2n3/2) • Space : O(n2)
All-pairs 2-approx. shortest paths 2.5 Upper bound ω 2.376 2.0 Lower bound
All-pairs 2-approx. shortest paths 2.5 Upper bound ω 2.376 Algorithm 1 Õ(m2/3n + n2) δ(u,v) ≤δ*(u,v) ≤ 2δ(u,v) + 1 2.0 Lower bound
All-pairs 2-approx. shortest paths 2.5 Upper bound ω 2.376 Algorithm 1 Õ(m2/3n + n2) δ(u,v) ≤δ*(u,v) ≤ 2δ(u,v) + 1 2.0 Algorithm 2 Õ(n2) δ(u,v) ≤δ*(u,v) ≤ 2δ(u,v) + 3 Lower bound
Graph Spanners Definition : Given a graph G=(V,E), a sub-graph G=(V,Es) that is sparse and yet preserves approximate distances pair-wise.
Graph Spanners Definition : Given a graph G=(V,E), a sub-graph G=(V,Es) that is sparse and yet preserves approximate distances pair-wise. Multiplicative t-spanner : δ(u,v) ≤ δs(u,v) ≤ t δ(u,v)
Graph Spanners Definition : Given a graph G=(V,E), a sub-graph G=(V,Es) that is sparse and yet preserves approximate distances pair-wise. Multiplicative t-spanner : δ(u,v) ≤ δs(u,v) ≤ t δ(u,v) Additive t-spanner : δ(u,v) ≤ δs(u,v) ≤ δ(u,v) + t
Applications of Graph Spanner • Distributed Computing • Design of Synchronizers • Compact routing tables • Computational Biology • Reconstruction of Phylogenetic trees • All-pairs Approximate Shortest Paths
Multiplicative Spannersize versus approximation v u girth = t stretch ≥ t-1
Multiplicative Spannersize versus approximation v u girth = t stretch ≥ t-1 Erdös[1960], Bondy & Simonovits [1974], Bollobas [1978] : For all k≥1, there are graphs with Ω(n1+1/k) edges and girth >2k
Multiplicative Spannersize versus approximation For k ≥1, a (2k-1)-spanner may have Ω(n1+1/k) edges
Multiplicative Spanner : Results Can we Compute (2k-1)-spanners in linear time ?
Local approach u v Edge in Spanner Edge not in Spanner