A tight bound on approximating arbitrary metrics by tree metric Reference :[FRT2004]

Similar documents
Probabilistic embedding into trees: definitions and applications. Fall 2011 Lecture 4

Randomized Algorithms 2017A - Lecture 10 Metric Embeddings into Random Trees

Metric Techniques and Approximation Algorithms. Anupam Gupta Carnegie Mellon University

Improved Embeddings of Graph Metrics into Random Trees

Randomized Optimization Problems on Hierarchically Separated Trees

Lecture 6: Linear Programming for Sparsest Cut

Compact Routing with Slack

Lecture Online Algorithms and the k-server problem June 14, 2011

Prioritized Metric Structures and Embedding

arxiv: v4 [cs.ds] 25 May 2017

Algorithms for Euclidean TSP

Approximation Algorithms

Embedding Bounded Bandwidth Graphs into l p

Chapter 7 TOPOLOGY CONTROL

Online Algorithms. Lecture 11

Parallel Probabilistic Tree Embeddings, k-median, and Buy-at-Bulk Network Design

THE STRONG NON-SPLIT DOMINATION NUMBER OF A JUMP GRAPH

The loop-erased random walk and the uniform spanning tree on the four-dimensional discrete torus

Maintaining Approximate Minimum Steiner Tree and k-center for Mobile Agents in a Sensor Network

arxiv: v1 [cs.ds] 27 Apr 2014

Randomized Algorithms Week 4: Decision Problems

Separators in High-Genus Near-Planar Graphs

Approximating Buy-at-Bulk and Shallow-light k-steiner trees

Strong-Diameter Decompositions of Minor Free Graphs

Oblivious Routing on Geometric Networks

Online Sorting Buffers on Line

Design and Analysis of Algorithms (VII)

Lecture 11: Clustering and the Spectral Partitioning Algorithm A note on randomized algorithm, Unbiased estimates

Routing in Distributed Systems - Lecture 1 -

The Design of Approximation Algorithms

1 Unweighted Set Cover

Geometric Routing: Of Theory and Practice

Ferianakademie 2010 Course 2: Distance Problems: Theory and Praxis. Distance Labelings. Stepahn M. Günther. September 23, 2010

Exam Principles of Distributed Computing

Subdivisions of Graphs: A Generalization of Paths and Cycles

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms

A Note on Subadditive Network Design Problem

Randomly Removing g Handles at Once

Module 6 NP-Complete Problems and Heuristics

Solutions for the Exam 6 January 2014

Reconstruction of Filament Structure

Minimum Spanning Tree

A note on isolate domination

Dynamic programming. Trivial problems are solved first More complex solutions are composed from the simpler solutions already computed

Low-Stretch Spanning Trees

Bounds on distances for spanning trees of graphs. Mr Mthobisi Luca Ntuli

Midpoint Routing algorithms for Delaunay Triangulations

Given a graph, find an embedding s.t. greedy routing works

Problem A. The Lawyer

CSE 203A: Karger s Min-Cut Algorithm (Lecture Date: 5/11/06)

On the Complexity of Multi-Dimensional Interval Routing Schemes

Testing the Cluster Structure of Graphs Christian Sohler

Some Properties of Glue Graph

Steiner Point Removal in Graph Metrics

The Probabilistic Method

Problem Set 2 Solutions

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

Fall CS598CC: Approximation Algorithms. Chandra Chekuri

Approximation Algorithms for Network Design Problems with Node Weights

COMP3121/3821/9101/ s1 Assignment 1

Ad hoc and Sensor Networks Chapter 10: Topology control

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19:

APPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS

On the Cell Probe Complexity of Dynamic Membership or

Oblivious Network Design

Triple Connected Domination Number of a Graph

Improved Algorithms for Min Cuts and Max Flows in Undirected Planar Graphs

On the rainbow vertex-connection

Treaps. 1 Binary Search Trees (BSTs) CSE341T/CSE549T 11/05/2014. Lecture 19

{ 1} Definitions. 10. Extremal graph theory. Problem definition Paths and cycles Complete subgraphs

On approximating planar metrics by tree metrics

1 Minimum Cut Problem

Network Design with Coverage Costs

1 Introduction and Results

val(y, I) α (9.0.2) α (9.0.3)

We have already seen the transportation problem and the assignment problem. Let us take the transportation problem, first.

Scribes: Romil Verma, Juliana Cook (2015), Virginia Williams, Date: May 1, 2017 and Seth Hildick-Smith (2016), G. Valiant (2017), M.

Announcements. HW3 is graded. Average is 81%

Parallel graph decompositions using random shifts

Combinatorial Optimization

Routing in Unidirectional (n, k)-star graphs

Lecture 7: Asymmetric K-Center

Distributed Coloring in. Kishore Kothapalli Department of Computer Science Johns Hopkins University Baltimore, MD USA

Algebraic method for Shortest Paths problems

Spanners with Slack. T.-H. Hubert Chan, Michael Dinitz, and Anupam Gupta. Carnegie Mellon University

Fully Dynamic Randomized Algorithms for Graph Spanners

Online Sorting Buffers on Line

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 02/26/15

arxiv: v1 [cs.ma] 8 May 2018

Efficient Bufferless Packet Switching on Trees and Leveled Networks

Solving problems on graph algorithms

We noticed that the trouble is due to face routing. Can we ignore the real coordinates and use virtual coordinates for routing?

Direct Routing: Algorithms and Complexity

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

Important separators and parameterized algorithms

Algorithmic Problems Related to Internet Graphs

Algorithms for Grid Graphs in the MapReduce Model

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14

Transcription:

A tight bound on approximating arbitrary metrics by tree metric Reference :[FRT2004] Jittat Fakcharoenphol, Satish Rao, Kunal Talwar Journal of Computer & System Sciences, 69 (2004), 485-497 1

A simple but fundamental problem Given : an undirected graph G = (V, E). compute a spanning tree T E which serves as approximate shortest path tree for all vertices. (u, v) E d T(u, v) d T (u, v) is small Is it possible?? Counterexample : G a cycle 2

A simple but fundamental problem Given : an undirected graph G = (V, E). compute a spanning tree T E which serves as approximate shortest path tree for all vertices. (u, v) E, d T (u, v) d G (u, v) is small Is it possible?? Counterexample : G a cycle 3

A simple but fundamental problem Given : an undirected graph G = (V, E). compute a spanning tree T E which serves as approximate shortest path tree for all vertices. (u, v) E, d T (u, v) d G (u, v) is small Is it possible?? Counterexample : a G cycle 4

A simple but fundamental problem Given : an undirected graph G = (V, E). compute a spanning tree T E which serves as approximate shortest path tree for all vertices. (u, v) E, d T (u, v) d G (u, v) is small Not possible?? Counterexample : when G is a cycle 5

A simple and fundamental problem Given : an undirected graph G = (V, E). compute a spanning tree T E which minimizes 1 E (u,v) E δ T (u, v) δ G (u, v) Known Results : 1. Elkin et al. [STOC 2005] : O(log 2 n log log n)) 2. Bartal et al. [FOCS 2008] : O(log n log log n) Lower bound : Ω(log n) 6

A simple and fundamental problem Given : an undirected graph G = (V, E). compute a spanning tree T E which minimizes 1 E (u,v) E δ T (u, v) δ G (u, v) Known Results : 1. Elkin et al. [STOC 2005] : O(log 2 n log log n)) 2. Bartal et al. [FOCS 2008] : O(log n log log n) Lower bound : Ω(log n) 7

A simple and fundamental problem Given : an undirected graph G = (V, E). compute a spanning tree T E which minimizes 1 E (u,v) E δ T (u, v) δ G (u, v) Known Results : 1. Elkin et al. [STOC 2005] : O(log 2 n log log n)) 2. Bartal et al. [FOCS 2008] : O(log n log log n) Lower bound : Ω(log n) 8

[FRT2004] solves the problem if we remove the restriction for T to be a subgraph of G 9

[FRT2004] solves the problem if we remove the restriction for T to be a subgraph of G 10

What is a metric? A metric (space) is an ordered pair (V, d) where d : V V R such that 1. d(x, y) 0 2. d(x, y) = 0 if and only if x = y. 3. d(x, y) = d(y, x) 4. d(x, y) d(x, z) + d(y, z) A useful view : a metric (V, d) as a complete graph with length of edge (u, v) equal to d(u, v). 11

Tree Metric A tree spanning the points V where the distance d between any two vertices is defined by the length of the path between them in the tree. 12

When does one metric dominate another metric? metric (V, d ) is said to dominate another metric (V, d) if 1. V V 2. d (u, v) d(u, v) for each u, v V Ideally we would like d (u, v) αd(u, v). 13

α-probabilistically approximation for metric (V, d) Let S be a collection of tree metrics over V and D be a probability distribution over them. Then (S, D) is said to α-probabilistically approximate (V, d) if 1. Each metric in S dominates (V, d) 2. E d (S,D)[d (u, v)] αd(u, v) α is usually called the distortion/stretch 14

Result [FRT 2004] Given any metric (V, d), there exists a distribution over tree metrics which approximates (V, d) probabilistically with distortion O(log n). 15

Outline of the algorithm 1. A deterministic construction of a tree metric which dominates (V, d). 2. Randomization is added to ensure expected stretch O(log n) for each edge. 16

Construction of a tree metric which dominates (V, d) Let smallest distance =1, Let the diameter is equal to 2 δ for some δ > 0. 17

Construction of a tree metric which dominates (V, d) Let smallest distance =1, Let the diameter is equal to 2 δ for some δ > 0. S 1 S 2 S 3 18

Construction of a tree metric which dominates (V, d) Let smallest distance =1, Let the diameter is equal to 2 δ for some δ > 0. S 1 S 2 S 3 Diam(S 1 ) 2 Diam(S 2 ) Diam(S 3 ) 2 2 19

Construction of a tree metric which dominates (V, d) Let smallest distance =1, Let the diameter is equal to 2 δ for some δ > 0. S = V Diam(S) 2 S 1 S 2 S 3 Diam(S 1 ) 2 Diam(S 2 ) Diam(S 3 ) 2 2 20

Construction of level δ 1 π = x 1, x 2,...x n C 2 : vertices within distance 2 δ 2 from x 2 21

Construction of level δ 1 π = x 1, x 2,...x n C 1 C 1 : vertices within distance 2 δ 2 from x 1 22

Construction of level δ 1 π = x 1, x 2,...x n C 1 C 1 C 2 : vertices within distance 2 δ 2 from x 2 23

Construction of level δ 1 π = x 1,x 2,..., x n C 1 C2 C 1 C 2 : vertices within distance 2 δ 2 from x 2 24

Construction of level δ 1 π = x 1,x 2,..., x n C 1 C 2 C 1 C 2 C 2 : vertices within distance 2 δ 2 from x 2 25

Construction of level δ 1 π = x 1, x 2,...,x n C 1 C 2 C 1 C2... C 6 C 6 C 3 C 5 C 4 C 2 : vertices within distance 2 δ 2 from x 2 26

Construction of level δ 1 is complete now π = x 1, x 2,..., x n C 1 C 2 2 δ 1 2 δ 1 C 1 C2... C 6 C 6 C 3 C 5 C 4 C 2 : vertices within distance 2 δ 2 from x 2 27

Construction of level δ 1 The highest level is δ, and consists of cluster S = {V }. π = x 1, x 2,..., x n. For j = 1 to n do 1. Create a new cluster consisting of all unassigned vertices of S which are at distance 2 δ 2 from vertex x j. 2. Assign length 2 δ 1 to the edge. 28

Construction of level δ 2 π = x 1, x 2,..., x n C 1 C 2 2 δ 1 2 δ 1 C 1 C2... C 6 C 6 C 3 C 5 C 4 C 2 : vertices within distance 2 δ 2 from x 2 29

Construction of level δ 2 π = x 1, x 2,..., x n C 11 2 δ 1 C 1 C 2 C 1 C 2 2 δ 1... C 6 C 6 C 3 C 5 C 11 C 4 C 11 : vertices of C 1 within distance 2 δ 3 from x 1 30

Construction of level δ 2 π = x 1, x 2,...x n C 12 C 1 C 2 2 δ 1 C 1 C 2... 2 δ 1 C 6 C 13 C 6 2 δ 2... C 3 C 5 C 1 C 12 C 13 C 4 C 2 : vertices within distance 2 δ 2 from x 2 31

Deterministic Construction of tree metric : Top Down approach The highest level is δ, and consists of cluster S = {V }. i δ 1; π = x 1, x 2,..., x n ; While (i >= 0) do { β i 2 i 1 ; For each cluster S at level i + 1 do For j = 1 to n do 1. Create a new cluster consisting of all unassigned vertices of S which are with in distance β i from vertex x j. 2. Assign length 2β i to the edge between the node for S and the child node corresponding to the new cluster. This defines the level i of the tree. i i 1 } 32

Analysing the algorithm from perspective of an edge (u, v) π = x 1, x 2,..., x n 2 δ 1. δ 2 δ 1 i + 1 u v u v only vertices within distance 2 i 1 from (u, v) matter 33

Analysing the algorithm from perspective of an edge (u, v) Case 1 2 i 1 x u v Case 1 :??? edge (u, v) is retained at level i as well! 34

Analysing the algorithm from perspective of an edge (u, v) Case 1 2 i 1 x u v Case 1 : the edge (u, v) is retained at level i as well! 35

Analysing the algorithm from perspective of an edge (u, v) Case 1 2 i 1 x u v Case 2 2 i 1 x u v Case 2 :??? edge (u, v) is cut at level i!! 36

Analysing the algorithm from perspective of an edge (u, v) Case 1 2 i 1 x u v Case 2 2 i 1 x u v Case 2 : the edge (u, v) is cut at level i!! 37

Analysing the algorithm from perspective of an edge (u, v) Case 2 : Careful look π = x 1, x 2,..., x n δ 2 δ 1 2 δ 1 u v u 2 i. v i + 1 i 38

Analysing the algorithm from perspective of an edge (u, v) Case 2 : what is d T (u, v) =??? π = x 1, x 2,..., x n δ 2 δ 1 2 δ 1 u v u 2 i. v i + 1 i 39

Analysing the algorithm from perspective of an edge (u, v) Case 2 : d T (u, v) = 2 j i 2j = 2 i+2 π = x 1, x 2,..., x n δ 2 δ 1 2 δ 1 u v u 2 i. v i + 1 i 40

Some more Observations 1. In the tree T, exactly one vertex cuts the edge (u, v). 2. If a vertex cuts the edge (u, v) at level i, then d T (u, v) 2 i+2. 3. A vertex w has potential to cut (u, v) if and only if j, d(w, u) 2 j < d(w, v). 41

What can be d T (u,v) d(u,v)? huge if d(u, v) <<< 2 i+2 42

What can be d T (u,v) d(u,v)? huge if d(u, v) <<< 2 i+2 43

Part II : adding some randomization to the construction 44

Main obstacle : How to ensure that the vertices which are nearer to (u, v) have higher chances to cut the edge. 45

A small probability exercise There are two persons a and b aiming to shoot an arrow at a target which is a red strip of length τ. An arrow is said to shoot the target if it hits anywehre within the red strip. They aim at the center of the strip. Both of them are sharp shooters so that if everything goes fine, they will hit the center of the strip. However, due to randomness of wind speed, the arrow may miss its target. Assume that if the actual target is at distance x from the point from where it is shot, then it may land any where with in the interval [x, 2x] from the point where it was shot. If a and b are at distance α and β respectively from the center of thetarget strip, then who is more likely to shoot the target. (see the following slides for more details) 46

A small probability exercise who has more chances to win? b β a α τ vertex closer to the target are more likely to hit the target 47

A small probability exercise who has more chances to win? b β a α τ vertex closer to the target are more likely to hit the target 48

A small probability exercise who has more chances to win? b β a α τ α β vertex closer to the target are more likely to hit the target 49

A small probability exercise who has more chances to hit the target? b β a α τ α β vertex closer to the target are more likely to hit the target 50

A small probability exercise who has more chances to hit the target? b β a α τ α β person closer to the target is more likely to hit the target 51

The randomized construction 1. Generate the permutation π uniformly randomly 2. Select a random number y uniformly randomly in the interval [1, 2] and replace β i by 2 i 1 y. Distribution of β i???[2 i 1 ] 52

The randomized construction 1. Generate the permutation π uniformly randomly 2. Select a random number y uniformly randomly in the interval [1, 2] and replace β i by 2 i 1 y. Distribution of β i???[2 i 1 ] 53

The randomized construction 1. Generate the permutation π uniformly randomly 2. Select a random number y uniformly randomly in the interval [1, 2] and replace β i by 2 i 1 y. Distribution of β i : uniform in [2 i 1, 2 i ] 54

Observations after randomization 1. In a tree T computed, exactly one vertex cuts the edge (u, v). 2. If a vertex cuts the edge (u, v) at level i, then d T (u, v) 2 i+3. 3. For all trees in (S, D), there exists only two possible levels at which a vertex can potentially cut the edge. 55

Analysis 2 k 2 k 1 2 k 2 w u v Every vertex has potential to cut an edge (u, v)!! 56

Analysis for an edge (u,v) and a vertex w Let X w be the indicator random variable which takes value 1 if vertex w cuts the edge (u, v) in T for T (S, D). i w : one of the two levels at which w can cut (u, v). What is P[X w = 1]? 57

The necessary condition for w to cut (u,v) at level i w? 2 i w 2 i w 1 2 i w+1 w u v 1.??? d(w, u) β iw < d(w, v) : Probability = d(w,v) d(w,u) 2 i w 1 2. w must precede all vertices closer to (u, v) in π 58

The necessary conditions for w to cut (u,v) at level i w? 2 i w 2 i w 1 2 i w+1 w u v 1. d(w, u) β iw < d(w, v) : Probability = d(w,v) d(w,u) 2 i w 1 2. w must precede all vertices closer to (u, v) in π 59

The necessary conditions for w to cut (u,v) at level i w? 2 i w 2 i w 1 β iw 2 i w+1 w u v 1. d(w, u) β iw < d(w, v) : Probability =??? d(w,v) d(w,u) 2 i w 1 2. w must precede all vertices closer to (u, v) in π 60

The necessary conditions for w to cut (u,v) at level i w? 2 i w 2 i w 1 β iw 2 i w+1 w u v 1. d(w, u) β iw < d(w, v) : Probability = d(w,v) d(w,u) 2 i w 1 2. w must precede all vertices closer to (u, v) in π 61

The necessary conditions for w to cut (u,v) at level i w? 2 i w 2 i w 1 β iw 2 i w+1 w u v 1. d(w, u) β iw < d(w, v) : Probability = d(w,v) d(w,u) 2 i w 1 2.???w must precede all vertices closer to (u, v) in π 62

The necessary conditions for w to cut (u,v) at level i w? 2 i w 2 i w 1 2 i w+1 w u v 1. d(w, u) β iw < d(w, v) : Probability = d(w,v) d(w,u) 2 i w 1 2. w must precede all vertices closer to (u, v) in π 63

If w is sth vertex closest to edge (u,v) P[X w = 1] 1 s 1 s d(w, v) d(w, u) d(u, v) 2 i w 1 2 i w 1 64

If w is sth vertex closest to edge (u,v) P[X w = 1] 1 s 1 s d(w, v) d(w, u) d(u, v) 2 i w 1 2 i w 1 65

What is expected value of d T (u,v),t (S, D)? E[d T (u, v)] = w P[X w = 1] 2 i w+3 w w 1 s d(u, v) 2 i w 1 2i w+3 16 1 d(u, v) s = 16d(u, v) s 16 log 2 n. 1 s 66

What is expected value of d T (u,v),t (S, D)? E[d T (u, v)] = w P[X w = 1] 2 i w+3 w w 1 s d(u, v) 2 i w 1 2i w+3 16 1 d(u, v) s = 16d(u, v) s 16 log 2 n. 1 s 67

What is expected value of d T (u,v),t (S, D)? E[d T (u, v)] = w P[X w = 1] 2 i w+3 w w 1 s d(u, v) 2 i w 1 2i w+3 16 1 d(u, v) s = 16d(u, v) s 16 log 2 n. 1 s 68

What is expected value of d T (u,v),t (S, D)? E[d T (u, v)] = w P[X w = 1] 2 i w+3 w w 1 s d(u, v) 2 i w 1 2i w+3 16 1 d(u, v) s = 16d(u, v) s 16 log 2 n. 1 s 69

What is expected value of d T (u,v),t (S, D)? E[d T (u, v)] = w P[X w = 1] 2 i w+3 w w 1 s d(u, v) 2 i w 1 2i w+3 16 1 d(u, v) s = 16d(u, v) s 16 log 2 n. 1 s 70

Derandomization average stretch = 2 n(n 1) (u,v) d T (u, v) d(u, v) To compute a tree metric T which achieves average stretch O(log n). 71

What if we want a T G to achieve it? Open problem : A simpler and/or tight (randomized) construction? 72