approximate distance oracles
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
1
Approximate Approximate Distance OraclesDistance Oracles
Mikkel Thorup Mikkel Thorup AT&T ResearchAT&T ResearchUri Zwick Uri Zwick Tel Aviv UniversityTel Aviv University
2
Finite metric space
n by ndistancematrix
O(1) query time
Exact answers(n2) space
Approximate distance oracle
Compact datastructure
O(k) query time
stretch 2k-1O(kn1+1/k)
space
O(n2) time
3
Graph
n by ndistancematrix
Compact datastructure
APSPalgorith
m
kmn1/k timekn1+1/k space
4
Approximate Distance Oracles
StretchQuer
y time
SpacePreproc
. time
Reference
64kkn1/k
kn1+1/kkmn1/k
Awerbuch-Berger-
Cowen-Peleg ‘93
2k+kn1/kCohen ‘93
2k-1kThorup-Zwick ‘01
Constant query time!This tradeoff is
essentially optimal !
5
Approximate Distance Oracles
StretchQuery timeSpacePreproc.
time2.99Ω(n2)
31O(n3/2)mn1/2
4.99Ω(n3/2)51O(n4/3)mn1/3
…………log nlog nn log nm log n
6
Stretch/space tradeoffLet 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,vG, H(u,v) t G(u,v) .
Awerbuch ’85Peleg-Schäffer ‘89
8
Trivial example
9
TheoremFor 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.
Maximal number of edges in an n-vertex graph with girth ≥
2k+1
Tight for k=1,2,3,5. Conjectured to be
tight for any k
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 A hierarchy of centerscenters
A0V ; Ak ; Ai sample(Ai-1,n-1/k) ;
13
ClustersClusters A0=A1=A2=
1 1( ) | ( , ) ( , ) ,i i iC w v V w v A v w A A
w
14
BunchesBunches (inverse (inverse clusters)clusters)
1
1
1
1
( ) | ( , ) ( , ) ,
( ) | ( , ) (
( ) (
,
)
)i i
i
ii
i i
C w v V w v A vif w
w
B v w A A w v A
B
A A
v v C w
v
15
BunchesBunches
1 1( ) | ( , ) ( , )i i ii
B v w A A w v A v
A0=A1=A2=
v
p1(v)
p2(v)
16
The data structureFor every vertex vV:• The centers p1(v), p2(v),…, pk-
1(v)• A hash table holding B(v)
For every wV, we can check, in constant time, whether wB(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) wu , i0 while wB(v) i i+1 (u,v) (v,u) w pi(u) return (w,u)+ (w,v)
19
Query answering algorithm
u v
w1=p1(v)A1
w2=p2(u)A2
w3=p3(v)A3
20
u v
wi-1=pi-1(v)Ai-1
wi=pi(u)Ai
Analysis
(i-1)ii
(i+1)
21
Spanners / Tree coversSpanners / Tree covers
w
In each cluster,
construct a tree of
shortest pathsThe union of all these trees
in a (2k-1)-spanner with kn1+1/k edges.
Constructed in O(kmn1/k) time!
22
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
ApplicationsApplications
• Routing• Distance labels• Sub-quadratic approximation
algorithms for metric space problems
24
Open ProblemsOpen Problems
1. Deterministic construction of(2k-1,n1+1/k,k)-distance oracles in o(mn) time?
2. Constructing a (3,n3/2,1)-distance oracle in n2+o(1) time?
3. Distance oracles withadditive errors?