Download presentation
1
all-pairs shortest paths in undirected graphs
Dynamic approximate all-pairs shortest paths in undirected graphs Liam Roditty Uri Zwick Tel Aviv University
2
Dynamic Graph Problems
A graph Initialize Insert Delete Query n - number of vertices m - number of edges
3
Shortest Paths Problems
Single-Source Shortest Paths (SSSP) All-Pairs Shortest Paths (APSP) “Distance Oracles”
4
Approximate Distance Oracles (TZ’01)
n by n distance matrix APSP algorithm Compact data structure mn1/k time n1+1/k space O(1) query time stretch 2k-1 Stretch-Space tradeoff is essentially optimal!
5
Dynamic Shortest Paths Algorithms
Problem Total update time Amortized* update time Query time Authors Decremental SSSP O(mn) O(n) O(1) Even-Shiloach ’81 Decremental (1+)-approximate APSP O*(mn) O*(n) O(1) This talk Problem Amortized update time Query time Authors Fully-dynamic APSP O*(n2) O(1) Demetrescu-Italiano ’03 (Thorup ’04) Fully-dynamic (1+)- approximate APSP O*(m1/2n) O(m1/2) This talk
6
Decremental Approximate Distance Oracles
Compact data structure mn1/k time n1+1/k space O(1) query time stretch 2k-1 Static mn time m+n1+1/k space Decremental Decremental (up to distance d) dmn1/k time m+n1+1/k space
7
Thorup-Zwick ’01 Static approximate distance oracles.
Three ingredients Even-Shiloach ’81 A decremental algorithm for maintaining a single-source shortest path tree of depth d with a total running time of O(dm). Random Sampling Let P be a set of vertices of size k. Let S be a random subset of vertices of size (cn ln n)/k. Then with high probability PS . Thorup-Zwick ’01 Static approximate distance oracles.
8
Decremental SSSP [Even-Shiloach ’81]
Every edge is only examined once per level! Total complexity is O(dm).
9
Random Sampling n k Select each element independently with probability
The probability that a given set of k elements is not hit is
10
Let pi(v) be the vertex of Si closest to v
A sequence of Samples Let Si be a subset obtained by selecting each vertex with probability (c ln n)/(2i) Let pi(v) be the vertex of Si closest to v If v is contained in a connected component with at least 2i vertices, then: δ(v,pi(v)) ≤ 2i 2i pi(v)
11
Maintaining the closest centers
To compute pi(v) for every v: Add a new source vertex si. Connect it to all vertices of Si. Maintain a SSSP tree from si.
12
Maintaining distances from centers
From each center of Si maintain a SSSP tree of depth 2i+2 Complexity:
13
Answering a distance query
pi(u) u v Suppose: Return: ≤ ≤
14
Answering a distance query
pi(u) u v Return: where i is smallest such that v is in the tree of pi(u), i.e., This value of i can be found using binary search. Query time: O(log log n) Stretch:
15
Reporting long distances in O(1) time
pr(u) pr(v) u v Suppose: Let: Return: Maintain a table of all Sr to Sr distances. Size of table is O(n).
16
Reporting short distances in O(1) time
Suppose: Develop a decremental version of the static approximate distance oracles of TZ. dmn1/k time m+n1+1/k space stretch 2k-1 Take d=n1/2 k=2 For distances up to d The 3-approximation can be refined into a (1+)-approximation in O(1) time.
17
Approximate Distance Oracles [TZ’01] A hierarchy of centers
A0V ; Ak ; Ai sample(Ai-1,n-1/k) ;
18
A0= A1= A2= Clusters w
19
Bunches (inverse clusters)
20
Bunches A0= A1= A2= p2(v) v p1(v)
21
Approximate Distance Oracles [TZ’01] The data structure
For every vertex vV: The centers p1(v), p2(v),…, pk-1(v) A hash table holding B(v) For every wV, we can check, in constant time, whether wB(v), and if so, what is (v,w).
22
Lemma: E[|B(v)|] ≤ kn1/k
Proof: |B(v)Ai| is stochastically dominated by a geometric random variable with parameter p=n-1/k.
23
Query answering algorithm
Algorithm distk(u,v) wu , i0 while wB(v) { i i+1 (u,v) (v,u) w pi(u) } return (w,u)+ (w,v)
24
Query answering algorithm
w3=p3(v)A3 w2=p2(u)A2 w1=p1(v)A1 u v
25
Analysis wi=pi(u)Ai wi-1=pi-1(v)Ai-1 i (i+1) i (i-1) u v
26
Open problems Faster dynamic SSSP algorithm?
Exact dynamic APSP algorithm? Weighted graphs? Directed graphs?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.