1 / 26

Approximate Distance Oracles

Approximate Distance Oracles. Mikkel Thorup and Uri Zwick Presented By Shiri Chechik. Approximate Distance Oracles. Consider a graph G=(V,E) .

senona
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 MikkelThorup and Uri Zwick Presented By ShiriChechik

  2. Approximate Distance Oracles • Consider a graph G=(V,E). • An approximate distance oracle with a stretch k for the graph G is a data-structure that can answer an approximate distance query for any two vertices with a stretch of at most k. • For every u,v in V the data structure returns in “short time” an approximate distance d’ such that:dG(u,v)  d’ k· dG(u,v) .

  3. Approximate Distance Oracles Constant query time! This tradeoff isessentially optimal ! Slide from Uri Zwick

  4. Spanners - Formal Definition Consider a graph G=(V,E) with positive edge weights. A subgraph H is a k-spanner of G if for every u,v in V:dH(u,v) k·dG(u,v) .

  5. Spanners - Example v

  6. Spanners - Equivalent Definition x y • A subgraph H is a k-spanner of G if for every edge (u,v) in E:dH(u,v) k· w(u,v) .

  7. Spanners for General graphs • Theorem • One can efficiently find a (2k-1)-spanner with at most n1+1/kedges.

  8. Spanners for General graphs • Girth Conjecture (Erdös and others): • There are n-vertex graphs with Ω(n1+1/k) edges that have girth > 2k. Known for k=1,2,3,5.

  9. Distance Oracles -Construction Preprocessing Phase • First build a hierarchy of centers, A0,…, Ak • A0 V, Ak  Ai sample(Ai-1, n-1/k)

  10. Distance Oracles -Construction Preprocessing Phase A0 = A1 = A2 = Ak =

  11. A hierarchy of centers A0V ; Ak  ;Ai sample(Ai-1,n-1/k) ; Slide from Uri Zwick

  12. Distance Oracles -Construction Preprocessing Phase Notations • pi(v) is the closest node to v in Ai • For each w Ai\Ai+1 • C(w) {v| δ(v,w) < δ(v,pi+1(v))}

  13. A0=A1=A2= Clusters w Slide from Uri Zwick

  14. Bunches (inverse clusters) Slide from Uri Zwick

  15. Distance Oracles - Example V P1(V)

  16. Distance Oracles - Example • A0 = {v1, v2, v3, v4} • A1 = {v2, v3} • A2 = {v3} • A3 = {} • C(v1)= {v1,v4}, C(v4)= {v4} • C(v2)= {v2, v1} • C(v3)= {v1, v2, v3, v4} V3 1 2 V2 V4 1 1.5 V1

  17. Distance Oracles -Construction Preprocessing Phase Data structures • For every v  V • p1(v),…,pk-1(v) and the distance from v to pi(v). • C(v) (hash table) and the distance from v to every u in C(v).

  18. Distance Oracles Lemma: E[|B(v)|]≤kn1/k |B(v)Ai| is stochastically dominated by a geometric random variable with parameter p=n-1/k. Slide from Uri Zwick

  19. Distance Oracles Lemma • For every two nodes u and v, there exists a node w such that • u,v C(w) • The distance from u to w and from v to w is at most k·d(u,v)

  20. Distance Oracles -Construction Query Phase

  21. Distance Oracles -Construction Query Phase P3(v) P2(u) <3 P1(v) 2> < v  u

  22. Distance Oracles - Example • What is δ(v4, v1)? • Is v1 C(v4)? • w = p1 (v1) = v2 • Is v4 C(v2)? • w = p2(v4) = v3 • Is v1 C(v3)? – Yes • C(v1)= {v1,v4}, C(v4)= {v4} • C(v2)= {v2, v1} • C(v3)= {v1, v2, v3, v4} V3 1 2 V2 V4 1 1.5 V1

  23. Distance Oracles -Properties Thorup and Zwick (2005) x  Ai+1 v y w Consider a node v  C(w), every node on a shortest path from v to w also belongs to C(w).

  24. Distance Oracles -Properties Thorup and Zwick (2005) v belongs to C(pi(v)) for every 0≤ i ≤k-1.

  25. Distance Oracles From each cluster, construct a tree T(w) containing shortest path. v u w

  26. Distance Oracles The union of all these trees is a (2k-1)-spanner with O(kn1+1/k) edges.

More Related