Approximate Distance Oracles Mikkel Thorup and Uri Zwick Presented By Shiri Chechik.

Slides:



Advertisements
Similar presentations
Lower Bounds for Additive Spanners, Emulators, and More David P. Woodruff MIT and Tsinghua University To appear in FOCS, 2006.
Advertisements

all-pairs shortest paths in undirected graphs
Lower Bound for Sparse Euclidean Spanners Presented by- Deepak Kumar Gupta(Y6154), Nandan Kumar Dubey(Y6279), Vishal Agrawal(Y6541)
Approximate Distance Oracles and Spanners with sublinear surplus Mikkel Thorup AT&T Research Uri Zwick Tel Aviv University.
Competitive fault tolerant Distance Oracles and Routing Schemes Weizmann Open U Weizmann Bar Ilan Shiri Chechik Michael Langberg David Peleg Liam Roditty.
Compact and Low Delay Routing Labeling Scheme for Unit Disk Graphs Chenyu Yan, Yang Xiang, and Feodor F. Dragan (WADS 2009) Kent State University, Kent,
Minimum Spanning Trees Definition Two properties of MST’s Prim and Kruskal’s Algorithm –Proofs of correctness Boruvka’s algorithm Verifying an MST Randomized.
CS138A Single Source Shortest Paths Peter Schröder.
Everything you always wanted to know about spanners * *But were afraid to ask Seth Pettie University of Michigan, Ann Arbor.
Approximating Distances in Graphs Uri Zwick Tel Aviv University Otwarte wykłady dla doktorantów informatyki Instytut Informatyki Uniwersytetu Warszawskiego.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
Data Structures, Spring 2004 © L. Joskowicz 1 Data Structures – LECTURE 13 Minumum spanning trees Motivation Properties of minimum spanning trees Kruskal’s.
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
CSE 421 Algorithms Richard Anderson Dijkstra’s algorithm.
1 On Dynamic Shortest Paths Problems Liam Roditty Uri Zwick Tel Aviv University ESA 2004.
1 Approximate Distance Oracles Mikkel Thorup AT&T Research Uri Zwick Tel Aviv University.
Compact Routing Schemes Mikkel Thorup Uri Zwick AT&T Labs – Research Tel Aviv University.
On the Price of Stability for Designing Undirected Networks with Fair Cost Allocations M.Sc. Thesis Defense Svetlana Olonetsky.
Collective Additive Tree Spanners of Homogeneously Orderable Graphs
Shortest Path Algorithm By Weston Vu CS 146. What is Shortest Paths? Shortest Paths is a part of the graph algorithm. It is used to calculate the shortest.
Collective Tree Spanners of Graphs with Bounded Parameters F.F. Dragan and C. Yan Kent State University, USA.
Collective Tree Spanners and Routing in AT-free Related Graphs F.F. Dragan, C. Yan, D. Corneil Kent State University University of Toronto.
1 Exact and Approximate Distances in Graphs – A Survey Uri Zwick Tel Aviv University.
Approximate Distance Oracles for Geometric Spanner Networks Joachim Gudmundsson TUE, Netherlands Christos Levcopoulos Lund U., Sweden Giri Narasimhan Florida.
Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Distance Approximating Trees in Graphs
Improved Randomized Algorithms for Path Problems in Graphs PhD Thesis Surender Baswana Department of Computer Science & Engineering, I.I.T. Delhi Research.
1 Finding Sparser Directed Spanners Piotr Berman, Sofya Raskhodnikova, Ge Ruan Pennsylvania State University.
GRAPH SPANNERS by S.Nithya. Spanner Definition- Informal A geometric spanner network for a set of points is a graph G in which each pair of vertices is.
Near Optimal Streaming algorithms for Graph Spanners Surender Baswana IIT Kanpur.
Expanders via Random Spanning Trees R 許榮財 R 黃佳婷 R 黃怡嘉.
Distance sensitivity oracles in weighted directed graphs Raphael Yuster University of Haifa Joint work with Oren Weimann Weizmann inst.
Lower Bound for Sparse Euclidean Spanners Presented by- Deepak Kumar Gupta(Y6154), Nandan Kumar Dubey(Y6279), Vishal Agrawal(Y6541)
Graphs and MSTs Sections 1.4 and 9.1. Partial-Order Relations Everybody is not related to everybody. Examples? Direct road connections between locations.
A randomized linear time algorithm for graph spanners Surender Baswana Postdoctoral Researcher Max Planck Institute for Computer Science Saarbruecken,
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
Spanning Tree Definition:A tree T is a spanning tree of a graph G if T is a subgraph of G that contains all of the vertices of G. A graph may have more.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Christian Schindelhauer Algorithms for Radio Networks Winter Term 2005/2006.
Approximate Distance Oracles with Improved Bounds Shiri Chechik Shiri Chechik Tel-Aviv University.
Forbidden-Set Distance Labels for Graphs of Bounded Doubling Dimension
Improved Randomized Algorithms for Path Problems in Graphs
Local Connection Game.
Spanners and emulators with sublinear distance errors
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Clustered representations: Clusters, covers, and partitions
Randomized Algorithms CS648
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Near-Optimal (Euclidean) Metric Compression
Presented By: Raquel S. Whittlesey-Harris
Approximate Distance Oracles and Spanners with sublinear surplus
Mike Paterson Yuval Peres Mikkel Thorup Peter Winkler Uri Zwick
Data Structures – LECTURE 13 Minumum spanning trees
CS 583 Analysis of Algorithms
Introduction Wireless Ad-Hoc Network
Autumn 2015 Lecture 10 Minimum Spanning Trees
Approximating Distances in Graphs
Minimum Spanning Tree Algorithms
Compact Routing Schemes
Approximate Distance Oracles
Richard Anderson Lecture 10 Minimum Spanning Trees
Exact and Approximate Distances in Graphs – A Survey
Compact routing schemes with improved stretch
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Routing in Networks with Low Doubling Dimension
Forbidden-set labelling in graphs
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Approximate Distance Oracles Mikkel Thorup and Uri Zwick Presented By Shiri Chechik

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: d G (u,v)  d’  k· d G (u,v).

Reference Preproc. time Space Query time Stretch Awerbuch- Berger- Cowen-Peleg ‘93 kmn 1/k kn 1+1/k kn 1/k 64k Cohen ‘93kn 1/k 2k+  Thorup- Zwick ‘01 k 2k-1 Constant query time! This tradeoff is essentially optimal ! Approximate Distance Oracles 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: d H (u,v)  k·d G (u,v).

Spanners - Example v

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

Spanners for General graphs Theorem One can efficiently find a (2k-1)-spanner with at most n 1+1/k edges.

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

Spanners - Equivalent Definition A subgraph H is a k-spanner of G if for every edge (u,v) in E: x y

Greedy Algorithm

Greedy Algorithm - Properties H is a k-spanner of G (trivial). The girth of H is greater than k+1. ◦ Assume c is a cycle of size at most k+1 ◦ Let e=(u,v) be the last edge added to cycle c. ◦ Let w(e) be the weight of edge e. ◦ All other edges of cycle c are of weight less than w(e). ◦ We found a path between u and v of length less than k ∙ w(e). ◦ e was not supposed to be added to H.

Greedy Algorithm - Example

Lemma Let G=(V,E) be a graph with girth 2k+1. This is also conjectured to be the lower bound of the number of edges in a (2k-1)-spanner (Erdös ’65).

Theorem One can efficiently find a (2k-1)- spanner with edges.

Distance Oracles - Construction Preprocessing Phase First build a hierarchy of centers, A 0,…, A k A 0  V, A k  A i  sample(A i-1, n -1/k )

A 0 = A 1 = A 2 = A k = Distance Oracles - Construction Preprocessing Phase

A hierarchy of centers A 0  V ; A k  ; A i  sample(A i-1,n -1/k ) ; Slide from Uri Zwick

Notations p i (v) is the closest node to v in A i For each w  A i \A i+1 ◦ C(w)  {v| δ(v,w) < δ(v,p i+1 (v))} Distance Oracles - Construction Preprocessing Phase

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

Bunches (inverse clusters) Slide from Uri Zwick

Distance Oracles - Example V P 1 (V)

A 0 = {v 1, v 2, v 3, v 4 } A 1 = {v 2, v 3 } A 2 = {v 3 } A 3 = {} C(v 1 )= {v 1, v 4 }, C(v 4 )= {v 4 } C(v 2 )= {v 2, v 1 } C(v 3 )= {v 1, v 2, v 3, v 4 } Distance Oracles - Example V2V2 V1V1 V3V3 V4V4

Data structures For every v  V ◦ p 1 (v),…,p k-1 (v) and the distance from v to p i (v). ◦ C(v) (hash table) and the distance from v to every u in C(v). Distance Oracles - Construction Preprocessing Phase

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

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

Distance Oracles - Construction Query Phase

u v P 1 (v) P 2 (u) P 3 (v)  << 2>2> <3  Distance Oracles - Construction Query Phase

What is δ(v 4, v 1 )? Is v 1  C( v 4 )? w = p 1 (v 1 ) = v 2 Is v 4  C( v 2 )? w = p 2 (v 4 ) = v 3 Is v 1  C( v 3 )? – Yes C(v 1 )= {v 1, v 4 }, C(v 4 )= {v 4 } C(v 2 )= {v 2, v 1 } C(v 3 )= {v 1, v 2, v 3, v 4 } Distance Oracles - Example V2V2 V1V1 V3V3 V4V4

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) vw x  A i+1 y

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

Short Summary 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·  Distance Oracles - Construction Thorup and Zwick (2005)

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

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