1 / 24

Approximate Distance Oracles

Approximate Distance Oracles. Mikkel Thorup AT&T Research Uri Zwick Tel Aviv University. Approximate distance oracle. Finite metric space. O(n 2 ) time. n by n distance matrix. Compact data structure. O(1) query time Exact answers (n 2 ) space.

aquila
Download Presentation

Approximate Distance Oracles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Approximate Distance Oracles Mikkel Thorup AT&T Research Uri Zwick Tel Aviv University

  2. Approximate distance oracle Finite metric space O(n2) time n by ndistancematrix Compact datastructure O(1) query timeExact answers(n2) space O(k)query timestretch2k-1O(kn1+1/k)space

  3. APSPalgorithm n by ndistancematrix Graph kmn1/ktimekn1+1/k space Compact datastructure

  4. Approximate Distance Oracles Constant query time! This tradeoff isessentially optimal !

  5. Approximate Distance Oracles

  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 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. 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. 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. A0=A1=A2= Bunches 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 v u

  20. Analysis wi=pi(u)Ai wi-1=pi-1(v)Ai-1 i (i+1) i (i-1) v u 

  21. Spanners / Tree covers 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. Tree Cover Each vertex contained in at most n1/klogn 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. 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 withadditive errors?

More Related