Download presentation
Presentation is loading. Please wait.
Published byIra Reynard French Modified over 6 years ago
1
Improved Randomized Algorithms for Path Problems in Graphs
Surender Baswana Postdoctoral Researcher Max Planck Institute for Computer Science
2
Path Problems in Graph Given a graph, report a path with certain characteristics
3
Path Problems in Graph Given a graph, report a path with certain characteristics Transitive closure
4
Path Problems in Graph Given a graph, report a path with certain characteristics Transitive closure All-pairs shortest paths
5
Query paradigm of a path problem
Given a graph G=(V,E)
6
Query paradigm of a path problem
Given a graph G=(V,E) A sequence of path queries
7
Query paradigm of a path problem
Given a graph G=(V,E) A sequence of path queries Answer each path query online
8
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.
9
Path Problems in dynamic settings
A graph G=(V,E) ,
10
Path Problems in dynamic settings
A graph G=(V,E) , q, q, u , u , q , u , u , u , u , q , q , u , …
11
Path Problems in dynamic settings
AIM : Maintain a data-structure
12
Path Problems in dynamic settings
AIM : Maintain a data-structure Answer each query in optimal time
13
Path Problems in dynamic settings
AIM : Maintain a data-structure Answer each query in optimal time Requires less update time
14
Organization of the talk
Static algorithms All-pairs approximate shortest paths Graph Spanners Dynamic algorithms Transitive closure All-pairs shortest paths Open Problems
15
Organization of the talk
Static algorithms All-pairs approximate shortest paths Graph Spanners Dynamic algorithms Transitive closure All-pairs shortest paths Open Problems
16
All-pairs approximate shortest paths
17
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
18
Existing algorithms for APSP
Floyd and Warshal O(n3) Pettie [ICALP 2002, TCS 2004] O(mn+n2 log log n) Zwick [ISAAC 2004] O(n3 (log log n)1/2/log n)
19
Sub-cubic algorithms for APSP
G=(V,E) Distance matrix Fast Matrix Multiplication Subroutine
20
Are there simple and efficient algorithms for APSP with
sub-cubic preprocessing time ? sub-quadratic space data-structure ?
21
At the cost of approximation
Are there simple and efficient algorithms for APSP with sub-cubic preprocessing time ? sub-quadratic space data-structure ? At the cost of approximation
22
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)
23
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]
24
Approximate Distance Oracle [Thorup & Zwick, STOC 2001]
Given a positive integer k Preprocessing time O(kmn1/k) Data-structure of size O(kn1+1/k) Answer any approximate distance query in O(k) time δ(u,v) ≤ δ*(u,v) ≤ (2k-1) δ(u,v)
25
Approximate Distance Oracle [Thorup & Zwick, STOC 2001]
Given a positive integer k Preprocessing time O(kmn1/k) Data-structure of size O(kn1+1/k) Answer any approximate distance query in O(k) time δ(u,v) ≤ δ*(u,v) ≤ (2k-1) δ(u,v) (2k-1)-approx. distance oracle
26
Approximate Distance Oracle [Thorup & Zwick, STOC 2001]
Given a positive integer k Preprocessing time O(kmn1/k) Data-structure of size O(kn1+1/k) : Optimal Answer any approximate distance query in O(k) time δ(u,v) ≤ δ*(u,v) ≤ (2k-1) δ(u,v) (2k-1)-approx. distance oracle
27
Approximate distance oracles for un-weighted graphs
Stretch Size Preprocessing time B, Sen SODA 2004 2k-1 O(kn1+1/k) min(mn1/k, n2 log n)
28
All-pairs t-approximate shortest paths, for t<3
29
All-pairs 2-approx. shortest path
A : algorithm for (2-ε)-approximate shortest paths B,C : two nΧn boolean matrices
30
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
31
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
32
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)
33
All-pairs 2-approx. shortest paths
2.5 Upper bound ω 2.376 2.0 Lower bound
34
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
35
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
36
Graph Spanners
37
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.
38
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)
39
δ(u,v) ≤ δs(u,v) ≤ δ(u,v) + t
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
40
Applications of Graph Spanner
Distributed Computing Design of Synchronizers Compact routing tables Computational Biology Reconstruction of Phylogenetic trees All-pairs Approximate Shortest Paths
41
Multiplicative Spanners
42
Multiplicative Spanner size versus approximation
43
Multiplicative Spanner size versus approximation
44
Multiplicative Spanner size versus approximation
girth = t stretch ≥ t-1
45
Multiplicative Spanner size versus approximation
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
46
Multiplicative Spanner size versus approximation
For k ≥1, a (2k-1)-spanner may have Ω(n1+1/k) edges
47
Multiplicative Spanner : Results
Stretch ConstructionTime Size Althofer, Das, Dobkin,Joseph, Soares DCG,1993 2k-1 O(mn1+1/k) O(n1+1/k) Thorup, Zwick STOC,2001 O(mn1/k) O(kn1+1/k)
48
Multiplicative Spanner : Results
Stretch ConstructionTime Size Althofer, Das, Dobkin,Joseph, Soares DCG,1993 2k-1 O(mn1+1/k) O(n1+1/k) Thorup, Zwick STOC,2001 O(mn1/k) O(kn1+1/k) Can we Compute (2k-1)-spanners in linear time ?
49
Multiplicative Spanner : Results
Stretch ConstructionTime Size Althofer, Das, Dobkin,Joseph, Soares DCG,1993 2k-1 O(mn1+1/k) O(n1+1/k) Thorup, Zwick STOC,2001 O(mn1/k) O(kn1+1/k) B, Sen ICALP,2003 O(m)
50
Local approach u v Edge in Spanner Edge not in Spanner
51
Local approach 2 ≤w ≤w 1 i-1 ≤w ≤w w u v Pi : For each edge not in Es , there is a path connecting its endpoints with at-most i edges none heavier than the edge
52
New Algorithms for (2k-1)-spanner
External-memory : Integer sorting Parallel algorithm O(t) for t > log*n Distributed Algorithm O(1) rounds, linear communication complexity
53
Algorithm for 3-spanner
54
Algorithm for 3-spanner Easy case : fewer than n½ edges
55
Algorithm for 3-spanner Difficult case : much more than n½ edges
56
Algorithm for 3-spanner Difficult case : much more than n½ edges
Which n½ edges to select ?
57
Algorithm for 3-spanner
Phase 1 : Clustering Phase 2 : Adding edges between vertices and clusters
58
Algorithm for 3-spanner
Phase 1 : Clustering Phase 2 : Adding edges between vertices and clusters center
59
Algorithm for 3-spanner Phase 1 : Clustering
Select each vertex r.i. with probability p to be a cluster center
60
Algorithm for 3-spanner Phase 1 : Clustering
Select each vertex r.i. with probability p to be a cluster center Process each v Є V \S as follows
61
Algorithm for 3-spanner Phase 1 : Clustering
Select each vertex r.i. with probability p to be a cluster center Process each v Є V \S as follows If v is not adjacent to any sampled vertex
62
Algorithm for 3-spanner Phase 1 : Clustering
Select each vertex r.i. with probability p to be a cluster center Process each v Є V \S as follows If v is not adjacent to any sampled vertex. v
63
Algorithm for 3-spanner Phase 1 : Clustering
Select each vertex r.i. with probability p to be a cluster center Process each v Є V \S as follows If v is not adjacent to any sampled vertex. v
64
Algorithm for 3-spanner Phase 1 : Clustering
Select each vertex r.i. with probability p to be a cluster center Process each v Є V \S as follows If v is adjacent to some sampled vertex
65
Algorithm for 3-spanner Phase 1 : Clustering
Select each vertex r.i. with probability p to be a cluster center Process each v Є V \S as follows If v is adjacent to some sampled vertex. v x weights
66
Algorithm for 3-spanner Phase 1 : Clustering
Select each vertex r.i. with probability p to be a cluster center Process each v Є V \S as follows If v is adjacent to some sampled vertex. v x weights
67
Algorithm for 3-spanner Phase 1 : Clustering
Select each vertex r.i. with probability p to be a cluster center Process each v Є V \S as follows If v is adjacent to some sampled vertex. v x weights
68
Algorithm for 3-spanner Phase 1 : Clustering
Select each vertex r.i. with probability p to be a cluster center Process each v Є V \S as follows If v is adjacent to some sampled vertex. v x weights
69
Algorithm for 3-spanner Phase 1 : Clustering
G=(V,E) G=(V1,E1) Phase 1
70
Algorithm for 3-spanner Phase 1 : Clustering
G=(V,E) G=(V1,E1) Every v Є V1 is clustered Phase 1 v o
71
Algorithm for 3-spanner Phase 1 : Clustering
G=(V,E) G=(V1,E1) Every v Є V1 is clustered For each w-v Є E1 Phase 1 w v o
72
Algorithm for 3-spanner Difficult case : much more than n½ edges
Which n½ edges to select ?
73
Algorithm for 3-spanner Difficult case : much more than n½ edges
v
74
Algorithm for 3-spanner Phase 2 : adding edges between vertices and clusters
75
Analysis of the algorithm
Correctness ?? Size of the spanner Running time
76
Analysis of the algorithm
Correctness ?? Size of the spanner Edges added during Phase 1 + Edges added during Phase 2 Running time
77
Analysis of the algorithm
Correctness ?? Size of the spanner n/p Edges added during Phase 2 Running time
78
Analysis of the algorithm
Correctness ?? Size of the spanner n/p n2p Running time
79
Analysis of the algorithm
Correctness ?? Size of the spanner n3/2 Running time
80
Analysis of the algorithm
Correctness ?? Size of the spanner n3/2 Running time Modified Radix sort on the label of the edges
81
Spanner has stretch 3 x y
82
Both x and y are clustered
Spanner has stretch 3 x y Both x and y are clustered
83
Spanner has stretch 3 x y x y
84
Spanner has stretch 3 x y x y
85
Spanner has stretch 3 x y o x y x y
86
Spanner has stretch 3 x y z α o x ß y x y
87
Spanner has stretch 3 x y z α o x ß y x y
88
Algorithm for (2k-1)-spanner
89
Reviewing 3-spanner algorithm [To build 5-spanner]
90
Reviewing 3-spanner algorithm [To build 5-spanner]
#Vertices #Clusters V0 n
91
Reviewing 3-spanner algorithm [To build 5-spanner]
#Vertices #Clusters n1/2 V1 V0 n
92
Reviewing 3-spanner algorithm [To build 5-spanner]
#Vertices #Clusters Must increase the sampling probability n1/2 V1 V0 n
93
Reviewing 3-spanner algorithm [To build 5-spanner]
#Vertices #Clusters n2/3 V1 V0 n
94
Computing 5-Spanner #Vertices #Clusters V2 n1/3 n2/3 V1 V0 n
95
Computing 5-Spanner #Vertices #Clusters V2 n1/3 n2/3 V1 V0 n
96
Algorithm for (2k-1)-spanner
Vk-1 n1/k V1 n1-1/k V0 n
97
Additive Spanners (un-weighted graphs)
98
Algorithms for Additive Spanners
Aingworth et al. [SODA 1996], Elkin & Peleg [STOC 2001] Additive 2-spanner of size O(n3/2)
99
Algorithms for Additive Spanners
Aingworth et al. [SODA 1996], Elkin & Peleg [STOC 2001] Additive 2-spanner of size O(n3/2) B, Kavitha, Mehlhorn, Pettie [SODA 2005] Additive 6-spanner of size O(n4/3)
100
(α,β)-Spanner (un-weighted graphs)
101
Algorithms for (α,β)-spanner
δ(u,v) ≤ δs(u,v) ≤ α δ(u,v) + β Elkin & Peleg [STOC 2001] (1+ε, β)-spanner of size O(n1+γ)
102
Algorithms for (α,β)-spanner
δ(u,v) ≤ δs(u,v) ≤ α δ(u,v) + β Elkin & Peleg [STOC 2001] (1+ε, β)-spanner of size O(n1+γ) β depends inverse exponentially on γ super polynomially on ε-1
103
Algorithms for (α,β)-spanner
δ(u,v) ≤ δs(u,v) ≤ α δ(u,v) + β Elkin & Peleg [STOC 2001] (1+ε, β)-spanner of size O(n1+γ) B, Kavitha, Mehlhorn, Pettie [SODA 2005] Linear time algorithm for (k,k-1)-spanner of size O(n1+1/k)
104
Dynamic Algorithms
105
Dynamic Algorithms Transitive Closure
Query time Update time per edge-del. Leeuwen & Poutre TCS 1991 O(1) O(m) Demetrescu & Italiano FOCS 2000 O(n3/m)
106
Dynamic Algorithms Transitive Closure
Query time Update time per edge-del. Leeuwen & Poutre TCS 1991 O(1) O(m) Demetrescu & Italiano FOCS 2000 O(n3/m) B. & Sen STOC 2002 O(n2/√m)
107
Dynamic Algorithms Transitive Closure
Query time Update time per edge-del. Leeuwen & Poutre TCS 1991 O(1) O(m) Demetrescu & Italiano FOCS 2000 O(n3/m) B. & Sen STOC 2002 O(n2/√m) Roditty & Zwick FOCS 2002 O(n)
108
Dynamic Algorithms All-pairs approximate shortest paths
Stretch Query time Update time per edge-del. B. & Sen SODA 2003 3 O(1) O(n3/2)
109
Dynamic Algorithms All-pairs approximate shortest paths
Stretch Query time Update time per edge-del. B. & Sen SODA 2003 3 O(1) O(n3/2) Roditty & Zwick FOCS 2004 1+ε O(n)
110
Open Problems
111
Open Problems Graph spanners
Additive spanners of size o(n4/3) ?
112
Open Problems Graph spanners
Additive spanners of size o(n4/3) ? O(n1+1/k) size (2k-1)-spanner for weighted graph inO(m) time?
113
Open Problems All-pairs approximate shortest paths
O(n2+ε) lower bound O(n2 polylog n) time algorithm without additive error
114
Open Problems All-pairs approximate shortest paths
O(n2+ε) lower bound O(n2 polylog n) time algorithm without additive error Approximate Distance Oracles for weighted graphs in (n2) time
115
Open Problems Dynamic algorithms
Fully dynamic all-pairs shortest paths Update time Query time Demetrescu, Italiano STOC 2003 Õ(n2) O(1)
116
Open Problems Dynamic algorithms
Fully dynamic all-pairs shortest paths Update time Query time Demetrescu, Italiano STOC 2003 Õ(n2) O(1) Sub-quadratic update time & O(1) query time at the cost of approximation
117
Open Problems Dynamic algorithms
Fully Dynamic algorithm for (2k-1)-spanner ?
118
Thank you
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.