Download presentation
Presentation is loading. Please wait.
1
Approximate Distance Oracles
Mikkel Thorup AT&T Research Uri Zwick Tel Aviv University
2
Approximate distance oracle Compact data structure
Finite metric space Approximate distance oracle O(n2) time n by n distance matrix Compact data structure O(1) query time Exact answers (n2) space O(k) query time stretch 2k-1 O(kn1+1/k) space
3
Compact data structure
APSP algorithm n by n distance matrix Graph kmn1/k time kn1+1/k space Compact data structure
4
Approximate Distance Oracles
Reference Preproc. time Space Query time Stretch Awerbuch-Berger-Cowen-Peleg ‘93 kmn1/k kn1+1/k kn1/k 64k Cohen ‘93 2k+ Thorup- Zwick ‘01 k 2k-1 Constant query time! This tradeoff is essentially optimal !
5
Approximate Distance Oracles
Preproc. time Space Query time Stretch Ω(n2) 2.99 mn1/2 O(n3/2) 1 3 Ω(n3/2) 4.99 mn1/3 O(n4/3) 5 … m log n n log n log n
6
Stretch/space tradeoff
Let G=(V,E) be a graph with |V|=n and girth(G)≥2k+2. Any subgraph G’=(V,E’) of G must have a distinct data structure! If (u,v)E’, then G’(u,v)=1. Otherwise G’(u,v) ≥2k+1. As there are 2|E| different subgraphs of G, some subgraphs must have data structures of at least |E| bits. Conjecture: (Erdös ’65) For every k≥1, there are infinitely many n-vertex graphs with Ω(n1+1/k) edges that have girth≥2k+2.
7
Spanners H(u,v) t G(u,v) . Let G be a weighted undirected graph.
A subgraph H of G is a t-spanner of G iff u,vG, H(u,v) t G(u,v) . Awerbuch ’85 Peleg-Schäffer ‘89
8
Trivial example
9
Theorem For every k≥1, every weighted undirected graph on n vertices has a (2k-1)-spanner with at most m2k+1(n) ≤ n1+1/k edges. Tight for k=1,2,3,5. Conjectured to be tight for any k Maximal number of edges in an n-vertex graph with girth ≥ 2k+1
10
[Althöfer, Das, Dobkin, Joseph, Soares ‘93]
Proof/Algorithm: Consider the edges in non-decreasing order of weight. Add each edge to the spanner if it does not close a cycle of size at most 2k. The resulting graph is a (2k-1)-spanner and it does not contain a cycle of size at most 2k. Hence the number of edges is at most m2k+1(n) ≤ n1+1/k. [Althöfer, Das, Dobkin, Joseph, Soares ‘93]
11
If |cycle|2k, then red edge can be removed.
12
A0V ; Ak ; Ai sample(Ai-1,n-1/k) ;
A hierarchy of centers A0V ; Ak ; Ai sample(Ai-1,n-1/k) ;
13
A0= A1= A2= Clusters w
14
Bunches (inverse clusters)
15
Bunches A0= A1= A2= p2(v) v p1(v)
16
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).
17
Lemma: E[|B(v)|]≤kn1/k
Proof: |B(v)Ai| is stochastically dominated by a geometric random variable with parameter p=n-1/k.
18
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)
19
Query answering algorithm
w3=p3(v)A3 w2=p2(u)A2 w1=p1(v)A1 u v
20
Analysis wi=pi(u)Ai wi-1=pi-1(v)Ai-1 i (i+1) i (i-1) u v
21
Spanners / Tree covers w
In each cluster, construct a tree of shortest paths The union of all these trees in a (2k-1)-spanner with kn1+1/k edges. w Constructed in O(kmn1/k) time!
22
Each vertex contained in at most n1/k log n trees.
Tree Cover Each vertex contained in at most n1/k log n trees. For every u,v, there is a tree with a path of stretch at most 2k-1 between them.
23
Applications Routing Distance labels
Sub-quadratic approximation algorithms for metric space problems
24
Subsequent work Approximate distance oracles for planar networks (Thorup ’01) Roundtrip spanners for directed networks (Roditty-Thorup-Z ’02)
25
Open Problems Deterministic construction of (2k-1,n1+1/k,k)-distance oracles in o(mn) time? Constructing a (3,n3/2,1)-distance oracle in n2+o(1) time? Distance oracles with additive errors?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.