Spanners With Low Average Stretch

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

Lower Bound for Sparse Euclidean Spanners Presented by- Deepak Kumar Gupta(Y6154), Nandan Kumar Dubey(Y6279), Vishal Agrawal(Y6541)
Approximation Algorithms Chapter 14: Rounding Applied to Set Cover.
Greedy Algorithms Greed is good. (Some of the time)
A Separator Theorem for Graphs with an Excluded Minor and its Applications Paul Seymour Noga Alon Robin Thomas Lecturer : Daniel Motil.
Bart Jansen, Utrecht University. 2  Max Leaf  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least.
Graphs III (Trees, MSTs) (Chp 11.5, 11.6)
Complexity ©D Moshkovitz 1 Approximation Algorithms Is Close Enough Good Enough?
A polylogarithmic approximation of the minimum bisection Robert Krauthgamer The Hebrew University Joint work with Uri Feige.
Combinatorial Algorithms
A Randomized Linear-Time Algorithm to Find Minimum Spanning Trees David R. Karger David R. Karger Philip N. Klein Philip N. Klein Robert E. Tarjan.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
Randomized Algorithms and Randomized Rounding Lecture 21: April 13 G n 2 leaves
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Additive Spanners for k-Chordal Graphs V. D. Chepoi, F.F. Dragan, C. Yan University Aix-Marseille II, France Kent State University, Ohio, USA.
1 Separator Theorems for Planar Graphs Presented by Shira Zucker.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Outline Introduction The hardness result The approximation algorithm.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
Analysis of Algorithms
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Approximate Distance Oracles Mikkel Thorup and Uri Zwick Presented By Shiri Chechik.
1 The number of orientations having no fixed tournament Noga Alon Raphael Yuster.
Lower Bound for Sparse Euclidean Spanners Presented by- Deepak Kumar Gupta(Y6154), Nandan Kumar Dubey(Y6279), Vishal Agrawal(Y6541)
Approximating the k Steiner Forest and Capacitated non preemptive dial a ride problems, with almost uniform weights Guy Kortsarz Joint work with Dinitz.
The full Steiner tree problem Theoretical Computer Science 306 (2003) C. L. Lu, C. Y. Tang, R. C. T. Lee Reporter: Cheng-Chung Li 2004/06/28.
1 Covering Non-uniform Hypergraphs Endre Boros Yair Caro Zoltán Füredi Raphael Yuster.
Approximating Buy-at-Bulk and Shallow-Light k-Steiner Trees Mohammad T. Hajiaghayi (CMU) Guy Kortsarz (Rutgers) Mohammad R. Salavatipour (U. Alberta) Presented.
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.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
CHAPTER SIX T HE P ROBABILISTIC M ETHOD M1 Zhang Cong 2011/Nov/28.
TU/e Algorithms (2IL15) – Lecture 11 1 Approximation Algorithms.
An Introduction to Graph Theory
Chapter 5. Greedy Algorithms
Computing Connected Components on Parallel Computers
Minimum Spanning Tree 8/7/2018 4:26 AM
Bipartite Graphs What is a bipartite graph?
Lecture 12 Algorithm Analysis
Chapter 5. Optimal Matchings
Computability and Complexity
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
CSE 421: Introduction to Algorithms
ICS 353: Design and Analysis of Algorithms
Enumerating Distances Using Spanners of Bounded Degree
Clustered representations: Clusters, covers, and partitions
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Presented By: Raquel S. Whittlesey-Harris
CS 583 Analysis of Algorithms
Introduction Wireless Ad-Hoc Network
Approximation Algorithms
Bipartite Graph 1. A graph G is bipartite if the node set V can be partitioned into two sets V1 and V2 in such a way that no nodes from the same set are.
The Full Steiner tree problem Part Two
Clustering.
Lecture 12 Algorithm Analysis
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Switching Lemmas and Proof Complexity
Locality In Distributed Graph Algorithms
Integer and fractional packing of graph families
Minimum Spanning Trees
Routing in Networks with Low Doubling Dimension
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Spanners With Low Average Stretch 2/25/2019 Spanners With Low Average Stretch Presented By: James Cassidy April 10, 2003 Chapter 18

18.1 Basic Properties of Average Stretch Spanners Definition 18.1.1 [Average stretch]: Let G = (V,E,) be a weighted multigraph and H a spanning subraph of G. Assume that the edge weights (e) are normalized so that the lightest edge has weight 1. For every subset of edges E’, denote Cost(E’,H,G) = Av_Stretch(G,H) = Corollary 18.1.3: For ever weighted n-vertex graph G=(V,E,), there exists a spanning subgraph H=(V,E’) such that |E’| = O(n) and Av_Stretch(H) = O(log n). Corollary 18.1.2: For every weighted n-vertex graph G=(V,E,) and for ever k > 1, there exists a (polynomial-time constructible) spanning subgraph H=(V,E’) such that |E’|<nn1/k and Av_Stretch(H)2k+1. Lemma 18.1.4: For every k1 and constant 0<c<1, there exist a constant d>0 and (infinitely many) n-vertex graphs G = (V,E) such that for every spanning subgraph H of G, if Av_Stretch(H) < ck, then H has at least dn1+1/k edges. April 10, 2003 18.1 Basic Properties of Average Stretch Spanners

18.1 Basic Properties of Average Stretch Spanners Proof: By the second claim of Lemma 15.1.2, there exist (infinitely man) n-vertex graphs G = (V,E) with girth k or higher and at least ¼n1+1/k edges. Fix d = (1 - c)/4. Consider such a graph G, and suppose that H is a spanning subgraph of G with fewer than dn1+1/k edges. Then the number of edges of G that were not taken into H is at least (c/n)n1+1/k.The high girth of G implies that for each of these edges, the shortest path connecting its endpoints in H is of length k or more. Therefore each of these edges contributes at least k to the summation in the expression for Av_Stretch(H). The edges of H contribute 1 each. Hence Av_Stretch(H)  = (1 - c) + ck  ck. Lemma 15.1.2: For every integer r  3 and n-vertex, m-edge graph G = (V,E) with Girth(G)  r, m  n1+2/(r-2)+n. For every integer r  3, there exist (infinitely many) n-vertex, m-edge graphs G = (V,E) with Girth(G)  r and m ¼n1+1/r. Corollary 18.1.5: For ever constant 0 < c < 1, there exist a constant d > 0 and n-vertex graphs G=(V,E) such that for every spanning subgraph H of G, if H has fewer than dn edges, then Av_Stretch(H)  clog(n). April 10, 2003 18.1 Basic Properties of Average Stretch Spanners

Low Average Stretch Trees April 10, 2003

18.2 Low Average Stretch Trees Definition 18.2.1 [Minimum average stretch]: Letting T range over all spanning trees of G, define Wheel Graph Spanning Tree of Wheel Graph Example 1: Rings with diagonals. Given n even, let Wn be the wheel graph consisting of an n-vertex ring Cn together with the chords joining antipodal points on the ring. Consider the following spanning trees for Wn. Let T1 be a tree consisting of all the edges of the ring save one. Then A better choice would be the tree T2 consisting of a path of n/2 edges on Cn and the (n/2-1) diagonals having one endpoint in the path. Here we have Hence Sopt(Wn)8/3-14/(3n). April 10, 2003 18.2 Low Average Stretch Trees

18.2 Low Average Stretch Trees Example 2: Two-dimensional grids. Lower bounding the value of Sopt(Gn) for the 2-dimensional grid Gn is difficult, and we only illustrate the construction by example: the tree T illustrated in Figure18.2 has Av_Stretch(T) = O(log(n)). Note that other choices of a spanning tree for the grid, such as the tree of Figure 18.3, might be far worse. Figure 18.2 Figure 18.3 April 10, 2003 18.2 Low Average Stretch Trees

Av_Stretch(T)=Cost(E,T,G)/|E|½(aln(n)-1). Thus, Sopt(G)½(aln(n)-1). Theorem 18.2.2: There exists a positive constant c such that, for n sufficiently large, there exists an unweighted n-vertex graph G such that Sopt(G)cln(n). Proof: The second claim of Lemma 15.1.2 implies, by an appropriate choice of parameters, that there exists a positive constant a such that, for n sufficiently large, there exists an n-vertex graph G with 2n edges such that every cycle in G is of length at least aln(n). (In particular, there are 4-regular graphs of girth aln(n) constructed by growing a tree to depth approximately log4n and appropriately linking the leaves.) Let T be any spanning tree in G. Then distT(u,v)/(e)  aln(n)-1 for any nontree edge e=(u,v). Since more than half the edges are nontree edges, it follows that, for ever T, Av_Stretch(T)=Cost(E,T,G)/|E|½(aln(n)-1). Thus, Sopt(G)½(aln(n)-1). It is also known that the n-vertex grid necessitates average stretch (log n), and this result can also be generalized to multidimensional grids. April 10, 2003 18.2.2 Lower Bound on Average Stretch Trees

Constructing Average Stretch Trees on Unweighted Graphs April 10, 2003

18.3 Constructing Average Stretch Trees on Unweighted Graphs Lemma 18.3.1: For every n-vertex weighted multigraph G=(V,E,), there exists a multigraph G’=(V,E’,’) with at most n(n+1) edges such that Sopt(G)2•Sopt(G’) Overview of the construction: April 10, 2003 18.3 Constructing Average Stretch Trees on Unweighted Graphs

18.3 Constructing Average Stretch Trees on Unweighted Graphs Set j  1 and Gj  G. Set x  x(n) as defined above. While Ej  do: Invoke S  AV_PARTe(Gj) to partition Gj into clusters. Construct an SPT TC for each cluster C  S. For each edge e of each of the constructed trees, add the corresponding edge of the original graph G to the output tree T. Construct the next multigraph Gj+1 by contracting each clust of S into a single vertex, discarding covered edges (connecting endpoints in the same cluster) from Ej and replacing each intercluster edge by a new edge connecting the corresponding contracted vertices. Set j = j + 1. AV_STR_TREE April 10, 2003 18.3 Constructing Average Stretch Trees on Unweighted Graphs

18.3 Constructing Average Stretch Trees on Unweighted Graphs Theorem 18.3.7 [Average stretch-unweighted]: There exists a constant c such that, for n sufficiently large, every n-vertex unweighted multigraph G satisfies Sopt(G)  exp(c ). Lemma 18.3.2: |Ej|  |E|/xj for every j  1. Corollary 18.3.3: Algorithm AV_STR_TREE terminates after at most (3lnn)/(lnx) iterations. Lemma 18.3.4: In iteration j, the radius of each cluster is bounded above by yj+1. Lemma 18.3.5: Cost(E,T,G)  4x(9ln n) (3ln n)/(ln x) |E|. Lemma 18.3.6: Av_Stretch(G,T) = exp(O( )). April 10, 2003 18.3 Constructing Average Stretch Trees on Unweighted Graphs

Constructing Average Stretch Trees on Weighted Graphs April 10, 2003

18.4 Constructing Average Stretch Trees on Weighted Graphs Overview Merge increases radius increases by weight of heaviest merged edge instead of just by one Growing cluster cannot be controlled Problems Modifications E broken into classes Ei, i1, according to weights Ei contains weights in range [yi-1,yi) y chosen parameter y = y(n,x) x same as in unweighted case Intuitively, we handle light edges first. Each class Ei first used in iteration i Each class Ei used for O(ln n/ln x) iterations after first use y controls two functions Clusters in graph Gj in jth iteration will have radius at most y/3 Governs weight ranges of classes (see second point) Radius of j-cluster is bounded by rj  yj+1 Each merged layer increases radius by: yj + 2rj-1  3yj. April 10, 2003 18.4 Constructing Average Stretch Trees on Weighted Graphs

Construction Algorithm Parameters θ = 3ln n/ln x, ψ = 9θln n, y = xψ. Ei = {e|ω(e) [yi-1,yi)}. Eij = set of edges from Ei still uncovered at beginning of iteration j V(p)=Γpun(v) \ Γp-1un(v) set of vertices at unweighted distance exactly p from u in Ĝ. Êji(p)= set of edges of Êji that join a vertex in V(p) with a vertex in V(p)V(p-1) Set S  . While Ĝ  do: Choose arbitrarily a center vertex u in Ĝ. Let p* be the least p such that for all 1  I  j, If no such p exists, then C  V; Else C  Set S  S ∪C and remove the vertices of C from V AV_PART(Ĝ) ^ ^ April 10, 2003 18.4 Constructing Average Stretch Trees on Weighted Graphs

18.4 Constructing Average Stretch Trees on Weighted Graphs Analysis Lemma 18.4.1: |Eji|  |Ei|/xj-1 for every 1  i  j. Lemma 18.4.2: In iteration j, the radius of each cluster is bounded above by yj+1. Lemma 18.4.3: Cost(E,T,G)  4x2ψθ+1|E|. Lemma 18.4.4 [Average stretch]: There exists a constant c such that for n sufficiently large, every n-vertex weighted multigraph G satisfies Sopt(G)  April 10, 2003 18.4 Constructing Average Stretch Trees on Weighted Graphs

Light Trees With Low Average Stretch Construct tree T with simultaneously low Av_Stretch(T) and low ω(T). Construct G’ = (V,E’) for G as in previous section, using k=log n. Stretch(G’) = O(log n) |E(G’)| = O(nΛ·log n) ω(G’) = O(Λ ·log n · ω(MST)) Compute shorted path Ў(e) in G’ for every edge e E Supp(e’) = {e E | e’  Ў(e)} Define g(e’) = Construct a weighted multigraph G’’(V,E’’, ω’’) by taking each edge e’ of G’ with multiplicity g(e’). Construct a tree T for G’’ as in Section 18.4 April 10, 2003 18.5 Light Trees With Low Average Stretch

18.5 Light Trees With Low Average Stretch Analysis Lemma 18.5.0: T is no heavier than G’, whose weight is guaranteed to be  O(Λ·log n) times heavier than ω(MST). So, T  O(Λ·log n) ·ω(MST) Lemma 18.5.1: The average stretch of the tree T satisfies Av_Stretch(G,T)  c’log n·exp(c·sqrt(log n·log log n)) for some constants c,c’ Theorem 18.5.2: There exist constants c,c’,c’’ such that, given an n-vertex weighted graph G=(V,E,ω), there is a polynomially constructible spanning tree T such that Av_Stretch(T)  c’log n·exp(c·sqrt(log n·log log n)) and ω(T)  c’’Λ·log n· ω(MST) April 10, 2003 18.5 Light Trees With Low Average Stretch

18.5 Light Trees With Low Average Stretch Proof for Lemma 18.5.1 Proof: For an edge e = (u,w) in a graph H, denote distH(e) = distH(u,w). First observe that Since G’ guarantees a stretch factor of Av_Stretch(G’) Stretch(G’)=O(log n), it follows that there exists a constant c such that |E’’|  c|E|·log n. Next, observe that for every edge e E, April 10, 2003 18.5 Light Trees With Low Average Stretch

Proof for Lemma 18.5.1 (continued) Therefore Combining the last two equations yields April 10, 2003 Chapter 18 (Basic Properties of Average Stretch Spanners)