1 approximation algorithms for low- distortion embeddings into low- dimensional spaces badoiu et...
DESCRIPTION
3 Metric Spaces Set of points Distance function Non-negative Triangle Inequality Metric Graph weighted graph shortest path distanceTRANSCRIPT
1
Approximation Algorithms for Low-Distortion Embeddings into Low-Dimensional Spaces
Badoiu et al. (SODA 2005)Presented by: Ethan Phelps-Goodman Atri Rudra
2
Moving from Seattle to NY
Looks like a 2hr drive Contraction is bad
Looks like a 10hr plane ride Expansion is bad
“Faithful” representation
3
Metric Spaces Set of points Distance function
Non-negative Triangle Inequality
Metric Graph weighted graph shortest path distance
2
1
3
5
56
4
Embeddings
Mapping : X! Y Exp()=maxa,b2 X d2((a),(b))/d1(a,b) Contr()=Exp(-1) Dist()=Exp() with Contr()¸ 1
(X,d1(¢,¢))
(Y,d2(¢,¢))
5
Edge property
Mapping from a unwt graph G=(V,E) Exp()=max(x,y)2 E d2(x’,y’)
Exp()=maxx2 V,y2 V d2(x’,y’)/d1(x,y) ¸ is obvious x=v1,v2,,vL=y be the shortest path in G
maxi d2(v’i,v’i+1)¸ 1/L¢ i d2(v’i,v’i+1) The sum ¸ d2(x’,y’) by triangle inequality
6
Embedding into a class of metrics
Pick an embedding Non-contractive Minimum distortion
Embedding into specific Metric [KRS04],[PS05]
7
Previous work Start with a problem in some metric space Embed inputs into another “nice” metric
Problem is easy to solve in the nice metric For e.g., embed graphs into trees
Combinatorial in nature Try to upper bound the distortion
Survey by Indyk
D
8
Algorithmic Task
Find embedding with min possible distortion Don’t care about the value of distortion Recall the map example
Embed unweighted graph into R (line) as well as possible
9
What is in store for you ?
Embed unwt graph ! Line Hardness of the algorithmic Q Approx Algo for general unwt graph Approx Algo for unwt tree What else is there in the paper ? Open problems
10
Hardness of Approximation
NP-Hard to a-approximate for some a>1 Reduction from TSP on (1,2)-metric
All distances are in {1,2} NP-Hard to a-approximate for any a <5381/5380
(X,D) ) G=(X,E) D(u,v)=1 (u,v)2 E
11
Hardness of Approximation TSP on (1,2)-metric
Input M:- (V,D(¢,¢)) Output:- Permutation of V which is a tour M G=(V,E)
G
x y D(x,y)=1 (x,y)2 E
12
The Construction
Given metric M G Make a copy of G called G’=(V’,E’) Add a special node o connected to V[ V’ The constrcuted graph H has diameter=2
G
13
Showing that it works
M has a tour of len t) H embeds into R with distr · t Let the tour be v1,v2,,vn,v1
Start with v1
Lay out v2,,vn according to their distances Put in o Lay out G’ in the same way as G
Rv1
0
v2vi vi+1 vn
D(vi,vi+1)
o
1
v’1 v’n
1
Non-contractive
Expansion=t
14
The other direction
f embeds H into R w/ distr s ) 9 tour in M of len ·s+1 Let u1,,u2n be the ordering of V[ V’ by f
Assume “nice” ordering |f(u2n)-f(u1)|· 2s (Wlog) blue box · (2s-2)/2=s-1 Blue box gives a tour of length · (s-1)+2=s+1
R
f(u1)f(u2n)
¸ 1
15
Getting a nice ordering
Total ‘span’ still · 2s “Boundary” nodes are at distance ¸ 2 Swap blue and green boxes
Total Span still · 2s Still non-contractive
Keep on swapping till nice ordering is reached
R¸ 2
16
What is in store for you ?
Embed unwt graph ! Line Hardness of the algorithmic Q Approx Algo for general unwt graph Approx Algo for unwt tree What else is there in the paper ? Open problems
17
Embedding a tree into R Create an Eulerian tour Embed according to tour
preserve order preserve distances
No contraction Distortion · 2n-1
18
Embedding general graphs
Every graph embeds into R w/ O(n) distortion Use any spanning tree
Coming Soon: c-approx algo c is the value of the optimal distortion
Combining both gives O(n1/2)-approx If c· n1/2, c-approx algo works If c> n1/2, spanning tree algo works
19
c-approx algorithm
Embed G=(V,E) into R Let f* be the optimal embedding Let t1,t2 be the ‘end-points’ of f*
t1=v1,v2,,vL=t2 shortest path V=V1[ V2 [ VL
x closest to vi ) x2 Vi
20
c-approx algo (contd.)
Embed Vi (i=1, L) by the spanning tree algo Layout vi first Recall that the max span is · 2|Vi|
Leave a gap of |Vi| on each side Run for all possible values of t1 and t2
V1 VLV2VL-1Vi
R
|Vi| |Vi|2|Vi|
21
Notations
f* is the optimal embedding c is the optimal distortion f is the computed embedding D(¢,¢) shortest path in G
22
Analysis
Clm1: D(vi,x)· c/2 Clm2: |Vi|+|Vi+1|++|Vi+c-1|· 2c2
Clm3: Embedding is non-contracting Will now show |f(x)-f(y)|· 16c2
|i-j|· 2c Span= 4¢[ (|Vi|++|Vi+c-1|) + (|Vi+c|++|Vj|) ]
The constructed embedding has distortion O(c2)
V1 VLV2VL-1
Vi
R|Vi| |Vi|2|Vi|
x
Vj
y
4|Vi|
as D(vi,vj)· D(x,vi)+D(x,y)+D(y,v+j)· c/2+1+c/2
f* has distortion c
23
Non-contractive embedding
x,y2 Vi
x2 Vi, y2 Vj |f(x)-f(y)|¸ |Vi| + 2(|Vi+1|+ |Vj-1|) +|Vj|
¸ |Vi| + |j-i| + |Vj| ¸ D(x,vi) + D(vi,vj) + D(vj,y) ¸ D(x,y)
V1 VLV2VL-1
Vi
R|Vi| |Vi|2|Vi|
x
Vj
yy
Should be |Vj|+1(root goes first)
24
Proof of Clm1
2¢ D(x,vi) · ? c D(x,vi) + D(x,vi)
· D(x,vj)+D(x,vj+1)
· ( f*(vj) – f*(x) ) + ( f*(x) – f*(vj+1)
= f*(vj) – f*(vj+1)
· c
R
x
vivj Vj+1
f*(vi)f*(vj) f*(vj+1)
25
Embedding Trees into the line Problem: Given an unweighted tree that
embeds into the line with distortion c, find the smallest distortion line embedding.
They give (c logc)1/2-approximation, Can also be stated as O((n logn)1/3)-
approximation: If c > n2/3 then use simple spanning tree algorithm If c < n2/3 then use this algorithm
26
Tree Embeddings
Similar to previous algorithm
Select endpoints & compute shortest path
27
Tree Embeddings
Similar to previous algorithm
Select endpoints & compute shortest path
Group every c vertices
Embed each component, then concatenate
28
Local Density
Define local density by = maxv, r (|B(v, r)|-1)/2r.
Then c > . In max density ball, there are 2r vertices, so end
points of embedding have distance at least 2r. But max distance is 2r, so endpoints have
distortion at least . Also, any component with diameter d has at
most d vertices.
29
Component Embedding
Note: only care about order of vertices. Distances computed from shortest path
Want to embed in roughly depth-first order But don’t want neighbors too far away Algorithm alternates between laying out
neighbors of previously visited vertices (BFS) and DFS.
30
Component Embedding in action
Ci
31
Component embedding algorithm Magic number g(c)= 2(clogc)1/2 + c Pick a leftmost vertex r Let Ci be vertices visited up to round i While there are unvisited vertices
Visit all neighbors of Ci
Visit next g(c) vertices in light-path DFS order
32
Bounding the distortion
Outline: Bound number of iterations Bound span of neighbor step Bound total distortion in component Bound distortion from concatenation
33
Number of iterations
Diameter of tree is at most 2c:
So total # vertices is 2c
At least g(c) added at each iteration
Number of iterations is (2c)/g(c) (clog-1c)1/2
c
c/2 c/2
34
Distortion of neighbor setor, where did g(c) come from? Claim: neighbor set is spanned by tree of size
g(c). Idea: Vertices in neighbor set can’t be too far
from “active” DFS vertices: at most (i+1) < (clog-1c)1/2 away.
So spanned by tree of size (clog-1c)1/2
2c2 vertices in component, so 2logc can be active
2logc * (clog-1c)1/2 + c = g(c).
35
Distortion for full component
Vertices added in neighbor step are spanned by tree of size g(c)
g(c) connected vertices added in DFS step So distortion at most 2g(c) for each iteration 2 adjacent vertices could be on opposite
ends of iteration i and i+1, so total distortion 4g(c) over all iterations
36
Concatenating the embeddings There is only one edge (vi, vi+1) connecting
components Xi and Xi+1 Modify the DFS ordering of Xi so that vi is last
visited Doesn’t affect distortion of Xi, and distortion of
edge (vi, vi+1) is at most 2g(c) Total distortion is at most
4g(c) = 8(clogc)1/2 + 4c 8 c3/2log1/2c + 4c Or O((c logc)1/2) times optimal
37
Other algorithms in paper
An exact algorithm for embedding a general graph into the line, with runtime O(nc).
A geometric 3-approximation for embedding the sphere into the plane.
38
Open questions
For lines: Better approximation ratios Lower bounds Weighted graphs (with large distortion)
Bigger question: algorithmic embeddings of graphs into the plane.