Presentation is loading. Please wait.

Presentation is loading. Please wait.

Improved Randomized Algorithms for Path Problems in Graphs

Similar presentations


Presentation on theme: "Improved Randomized Algorithms for Path Problems in Graphs"— Presentation transcript:

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


Download ppt "Improved Randomized Algorithms for Path Problems in Graphs"

Similar presentations


Ads by Google