Presentation is loading. Please wait.

Presentation is loading. Please wait.

Approximate Distance Oracles

Similar presentations


Presentation on theme: "Approximate Distance Oracles"— Presentation transcript:

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,vG, 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 A0V ; Ak  ; Ai sample(Ai-1,n-1/k) ;
A hierarchy of centers A0V ; 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 vV:
The centers p1(v), p2(v),…, pk-1(v) A hash table holding B(v) For every wV, we can check, in constant time, whether wB(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) wu , i0 while wB(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?


Download ppt "Approximate Distance Oracles"

Similar presentations


Ads by Google