1 / 30

Transitive-Closure Spanners

Graph Spanners [Awerbuch85,Peleg Sch

xinqian
Download Presentation

Transitive-Closure Spanners

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. 1 Transitive-Closure Spanners David Woodruff IBM Almaden

    2. Graph Spanners [Awerbuch85,Peleg Schäffer89] A subgraph H of a graph G is a k-spanner if for all pairs of vertices u, v in G, dH(u,v) = k dG(u,v) Goal: find a sparsest k-spanner 2 Graph spanners were introduced in the 80s to capture the notion of a sparse backbone of a graph that approximately preserves distances between every pair of vertices. Or a spanner of stretch k 2-spanner Goal: to find sparse spanners, i.e. spanners with as few edges as possible ------------------- Spanners were initially introduced for undirected graphs; undirected spanners are well understood, and have found numerous applications. In the directed setting, besides this definition (that is identical to the definition of a spanner for undirected graph), Graph spanners were introduced in the 80s to capture the notion of a sparse backbone of a graph that approximately preserves distances between every pair of vertices. Or a spanner of stretch k 2-spanner Goal: to find sparse spanners, i.e. spanners with as few edges as possible ------------------- Spanners were initially introduced for undirected graphs; undirected spanners are well understood, and have found numerous applications. In the directed setting, besides this definition (that is identical to the definition of a spanner for undirected graph),

    3. 3 Transitive-Closure Spanners Transitive closure TC(G) has an edge from u to v iff G has a path from u to v k-TC-spanner H of G has dH(u,v) = k iff G has a path from u to v Alternatively: k-TC-spanner of G is a k-spanner of TC(G) In this work, we study a different notion of spanners, which is a special case of the original definition. Recall that… TC-spanner should have a small diameter, but preserve the connectivity of the original graph. We can add shortcut edges from the TC. In this work, we study a different notion of spanners, which is a special case of the original definition. Recall that… TC-spanner should have a small diameter, but preserve the connectivity of the original graph. We can add shortcut edges from the TC.

    4. 4 Example: Directed Line on n Vertices 2-TC-spanner O(n log n) edges 3-TC-spanner O(n log log n) edges 4-TC-spanner O(n log* n) edges k-TC-spanner O(n ?(k,n)) edges Add a (k-2)-TC-spanner on hubs Connect each node to the hubs before and after Recurse on the fragments between hubs At each recursion level, we are connecting each node to at most one hub, so we are adding a total of at most n edges. Since there are log n recursion levels, the resulting spanner has at most n log n edges. At each recursion level, we are connecting each node to at most one hub, so we are adding a total of at most n edges. Since there are log n recursion levels, the resulting spanner has at most n log n edges.

    5. Previous work Structural results on TC-spanners (what is a sparsest k-TC-spanner for a given graph family?) Shortcut graphs (special case when |E(H)|· 2 |E(G)|) [Thorup 92, 95, Hesse 03] For directed trees [Thorup 97] implicit in data structures [Yao 82, Alon Schieber 87, Chazelle 87] property testing [Dodis Goldreich Lehman Raskhodnikova Ron Samorodnitsky 99] access control [Attalah Frikken Blanton 05] Computational results on directed spanners (given a graph, compute a sparsest k-spanner) O(log n)-approximation algorithm for k=2 [Kortsarz Peleg 94] O(n2/3 polylog n)-approximation for k=3 [Elkin Peleg 99] 5 In 92 Thorup conjectured that all directed graphs have shortcut graphs with small stretch. In 95 he proved his conjecture for planar graphs; in 03 Hasse gave a counterexample for general graphs. In different areas TC-spanners were studied implicitly; and their properties have been rediscovered over a span of 20 years. We introduce TC-spanners as a common abstraction for these diverse applications.In 92 Thorup conjectured that all directed graphs have shortcut graphs with small stretch. In 95 he proved his conjecture for planar graphs; in 03 Hasse gave a counterexample for general graphs. In different areas TC-spanners were studied implicitly; and their properties have been rediscovered over a span of 20 years. We introduce TC-spanners as a common abstraction for these diverse applications.

    6. Our Contributions Common abstraction for several applications property testing access control data structures Structural results on TC-spanners path-separable graphs Computational results k-TC-Spanner: Given a graph, compute a sparsest k-TC-spanner Algorithms Inapproximability 6

    7. Application 1: Testing if a List is Sorted Is a list of n numbers sorted? Requires reading entire list. Is a list of n numbers sorted or ²-far from sorted? (An ² fraction of list entries have to be changed to make it sorted.) [Ergün Kannan Kumar Rubinfeld Viswanathan 98]: O((log n)/²) time [Fischer 01]: ?(log n) queries 7

    8. Is a list sorted or ²-far from sorted? [Dodis Goldreich Lehman Raskhodnikova Ron Samorodnitsky 99] Test can be viewed as: Pick a random edge from sparsest 2-TC-spanner for the line and compare its endpoints. Reject if they are out of order. 1 2 5 4 3 6 7 Claim 1. There are · n log n edges in the 2-TC-spanner. Claim 2. Green numbers are sorted. Proof: Any two green numbers are connected by a length-2 path of black edges Analysis of the test: • All sorted lists are accepted. • If a list is ²-far from sorted, it has ¸ ² n red numbers, ) ¸ ² n/2 red edges – If £((log n )/²) edges are checked, a red edge will be discovered w.p. ¸2/3 8

    9. Generalization: Monotonicity over PO domains [FLNRRS 02]: Graph = partially ordered domain; node labels = values of the function A function is monotone if there are no violated edges (along which labels decrease): 1 0 A function is ²-far from monotone if ¸ ² fraction of labels need to be changed to make it monotone. 9

    10. Monotonicity Testers via Sparse 2-TC-spanners Lemma. If G has a 2-TC-spanner H with s(n) edges, then monotonicity of functions on G can be tested in time O(s(n)/(² n)) Proof: 1. Say an edge (a,b) is violated in TC(G) if f(a) > f(b) 2. If function on G is e-far from monotone, there is a matching M in TC(G) of en/2 violated edges [DGLRS 99] 3. A violated edge in TC(G) either appears in H, or there is a path of length 2 between the endpoints of the edge in H. By transitivity, one of the edges on the path is also violated. But any edge in H can intersect at most 2 edges in the matching M. Thus, there at least en/4 violated edges in H 4. Sample O(s(n)/(en)) edges of H, check if any are violated 10

    11. Application 2: Access Control 11 Efficient key management in access hierarchies [Attalah Frikken Blanton 05, Attalah Blanton Frikken 06, Santis Ferrara Massuci 07] Used in content distribution, operating systems and project development There is a PO set of access classes. A user is entitled to access content associated with his class and all classes reachable from it. One approach is to assign a private key to each class and a public key to each permission edge.There is a PO set of access classes. A user is entitled to access content associated with his class and all classes reachable from it. One approach is to assign a private key to each class and a public key to each permission edge.

    12. Application 3: Data Structures Computing partial products in a semigroup [Yao 82, Alon Schieber 87, Chazelle 87, Thorup 97] Example: Goal: quickly answer queries max(ai ,…,ai) for all i · j. Question: How many values should we store if we want to compute max of at most k numbers per query? Answer: storage = size of sparsest k-TC-spanner for the directed line. This example generalizes to other partial products and to directed trees. 12

    13. Our Contributions Common abstraction for several applications Structural results on TC-spanners Path-separable graphs O(1)-path-separable graphs have k-TC-spanners of size O(n log n ¢?(k,n)) e.g., improves run time of monotonicity testers on planar graphs from O((n1/2 log n)/²) [FLNRRS02] to O((log2 n)/²) Computational results k-TC-Spanner: Given a graph, compute a sparsest k-TC-spanner Algorithms Inapproximability 13

    14. Graph Separators (for Undirected Graphs) Used in recursive constructions S-separators [Lipton Tarjan] Removing S nodes disconnects a graph G on n nodes into connected components with · n/2 nodes each s-path-separators [Abraham Gavoille 06] Removing nodes on s paths from any spanning tree of G disconnects G into connected components with · n/2 nodes each Gain For some graphs s << S e.g., planar graphs are £(n1/2)-separable but 3-path-separable 14

    15. Construct k-TC-spanner for each path separator (line) P as before. For each node v with a path to some node in P: Let v’ = smallest node in P such that v à v’ At each stage of recursion, connect v to the smallest hub above v’ Deal symmetrically with each node u with a path from some node in P. Claim. If v à u via some node in P, we added a path of length · k from v to u. Proof: v and u are connected to the same hubs as v’ and u’, respectively. Constructing TC-spanners via Path Separators 15

    16. Path Separators for Directed Graphs Our guarantee. If the underlying undirected graph for G is s-path-separable, we can efficiently find a set of directed paths in G: Removing nodes on these paths disconnects G into connected components with · n/2 nodes each Each vertex v is comparable to nodes on O(s) paths Technique. Unlike [Abraham Gavoille 06] , we choose path separators dynamically (not from the same spanning tree). Theorem. O(1)-path-separable graphs have k-TC-spanners of size O(n log n ¢?(k,n)) H-minor free graphs are O(1)-path-separable [Abraham Gavoille 06] 16

    17. Our Contributions Common abstraction for several applications Structural results on TC-spanners Computational results on k-TC-Spanner 17 1.3) gives an algorithm for directed spanners for k>3. This was described as a challenging direction in Elkin Peleg. 2.2) This result is our main technical contribution. A stronger inapproximability result would imply the same result for directed spanners, and as shown by EP07 would collapse classes III and IV in Arora and Lund’s classification of inapproximable problems, solving a major open question. 1.3) gives an algorithm for directed spanners for k>3. This was described as a challenging direction in Elkin Peleg. 2.2) This result is our main technical contribution. A stronger inapproximability result would imply the same result for directed spanners, and as shown by EP07 would collapse classes III and IV in Arora and Lund’s classification of inapproximable problems, solving a major open question.

    18. Approximation Algorithms For any k > 2, we achieve an O((n lg n)1-1/k) approximation algorithm for the Directed Spanner Problem in polynomial time Gives the same ratio for Transitive-Closure spanners Yields the first sublinear ratio for k > 3 Solves the main open question of [Elkin Peleg 05] Our technique is a new balancing of a convex program with a sampling-based approach Greatly simplifies the previous O(n2/3 polylog n)-approximation algorithm [Elkin Peleg 05] for k = 3

    19. For each edge e 2 G, introduce a variable xe, which indicates whether or not we include e in the k-Spanner H For each path p of length at most k in G, introduce a variable yp. For constant k, the number of such paths is O(nk+1) = poly(n). Integer programming formulation: min ?e xe s.t. 8 e =(a,b) 2 G, sump: a -> b, |p| · k yp ¸ 1 8 p = {(a0, a1), (a1, a2), …, (ak-1, ak)}, yp · minj=1k x(aj-1, j) 8 e, xe 2 {0,1} 8 p, yp 2 {0,1} Linear programming relaxation: xe, yp 2 [0,1] Approximation Algorithms: Linear Program

    20. Approximation Algorithms: Linear Program min ?e xe s.t. 8 e =(a,b) 2 G, sump: a -> b, |p| · k yp ¸ 1 8 p = {(a0, a1), (a1, a2), …, (ak-1, ak)}, yp · minj=1k x(aj-1, j) 8 e, 8 p, xe 2 [0,1], yp 2 [0,1] Solve the linear program, let the solution variables be xe*, yp* Define a rounding scheme: include e in the 2-Spanner H if and only if xe* ¸ 1/n1-1/k If the number of paths of length at most k between vertices a, b in G is at most n1-1/k, then the constraint sump: a -> b, |p| · k yp ¸ 1 ensures there is a path p for which y*p ¸ 1/n1-1/k The constraint yp · minj=1k x(aj-1, j) ensures that for all edges e 2 p, we have xe* ¸ 1/n1-1/k, and so e will be added to H

    21. Approximation Algorithms: Sampling Problem: Integrality Gap If many paths of length at most k between two vertices, LP might assign each path small weight But if there are at least r paths of length at most k between two vertices, then there are at least r1/(k-1) vertices in G which are contained on such paths Solution: sample O(n/r1/(k-1)) vertices at random and grow a shortest path tree around them. Set r= n1-1/k.

    22. Approximation Algorithms: Sampling

    23. Approximation Algorithms: LP+Sampling Linear Programming + Sampling: Initialize H to empty set For each edge e, if xe* = 1/n1-1/k, then add e to H Randomly sample r = O~(n1-1/k) vertices z1, …, zr For each i, add the edges in BFS(zi) to H Output H Claim: With probability at least 1-1/n, we get H is a k-Spanner of G Claim: |H| = O~(n1-1/k) OPT If OPT’ is the optimum of the linear program, then OPT’ · OPT, and the cost we get from rounding the solution is at most n1-1/kOPT’ · n1-1/kOPT Each shortest path tree around each of O~(n1-1/k) sampled vertices has O(n) edges, so we add O~(n2-1/k) edges. Since we can assume that the input graph G is connected, we have OPT ¸ n-1, so we again add at most n1-1/kOPT edges.

    24. Approximation Algorithms: Wrapup Exponential number of variables: Number of path variables grows exponentially with k Can replace yp with min(xe1, xe2, …, xek) for p = (e1, …, ek) Now we have a convex program in O(n2) variables, but the constraints are of exponential size Can design a separation oracle to solve this with the ellipsoid algorithm. Can also derandomize the sampling by a simple greedy algorithm.

    25. k-TC-Spanner: ?(2log1-² n)-inapproximability for k>2 Starting point: Reduce from Min-Rep Use generalized butterfly graphs and broom graphs 25

    26. Instance. Undirected bipartite graph In each part: n nodes, grouped in r clusters |Ai|=|Bj|= n/r The Min-Rep Problem 26

    27. Generalized Butterfly Graphs Outdegree = indegree = d There is a unique path from (a1,…,ak-1, 1) to (b1,…,bk-1, k) Each shortcut edge is on at most d k-3 such paths 27 2) Because if it connects layer i to layer i+\ell (where \ell\geq 2) it fixes all but i-1 coordinates of the first node and all but k-(i+\ell) coordinates of the second. 3) From k-1 to k-22) Because if it connects layer i to layer i+\ell (where \ell\geq 2) it fixes all but i-1 coordinates of the first node and all but k-(i+\ell) coordinates of the second. 3) From k-1 to k-2

    28. Graphs Used in the Reduction 28

    29. 29 Reduction from Min-Rep to k-TC-Spanner

    30. A Sparse TC-Spanner for the Hard Instance 30

    31. Conclusion Our contributions Common abstraction for several applications monotonicity testing, access control, data structures Structural results on TC-spanners path-separable graphs Computational results on k-TC-Spanner new algorithms and inapproximability results Open questions At what point do TC-spanners admit efficient approximation algorithms? Showed strong inapproximability for any constant k > 2 Showed O(1)-approximation algorithm for k = O~(n1/2) Other applications of TC-spanners? 31

More Related