280 likes | 423 Vues
This presentation delves into approximate distance oracles, specifically focusing on the optimal data structure for answering distance queries within graphs. The oracles provide approximate distances with controlled stretch factors, ensuring constant query times. Key concepts include the construction and preprocessing phases, where a hierarchy of centers is built, along with the role of k-spanners in graph theory. The presentation also highlights important properties, lemmas, and examples involving data structures that facilitate efficient querying of distances, making it essential for researchers and practitioners in graph algorithms.
E N D
Approximate Distance Oracles MikkelThorup and Uri Zwick Presented By ShiriChechik
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) .
Approximate Distance Oracles Constant query time! This tradeoff isessentially optimal ! Slide from Uri Zwick
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) .
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) .
Spanners for General graphs • Theorem • One can efficiently find a (2k-1)-spanner with at most n1+1/kedges.
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.
Distance Oracles -Construction Preprocessing Phase • First build a hierarchy of centers, A0,…, Ak • A0 V, Ak Ai sample(Ai-1, n-1/k)
Distance Oracles -Construction Preprocessing Phase A0 = A1 = A2 = Ak =
A hierarchy of centers A0V ; Ak ;Ai sample(Ai-1,n-1/k) ; Slide from Uri Zwick
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))}
A0=A1=A2= Clusters w Slide from Uri Zwick
Bunches (inverse clusters) Slide from Uri Zwick
Distance Oracles - Example V P1(V)
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
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).
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
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)
Distance Oracles -Construction Query Phase P3(v) P2(u) <3 P1(v) 2> < v u
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
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).
Distance Oracles -Properties Thorup and Zwick (2005) v belongs to C(pi(v)) for every 0≤ i ≤k-1.
Distance Oracles From each cluster, construct a tree T(w) containing shortest path. v u w
Distance Oracles The union of all these trees is a (2k-1)-spanner with O(kn1+1/k) edges.