Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Transitive-Closure Spanners Sofya Raskhodnikova Penn State University Joint work with Arnab Bhattacharyya MIT Elena Grigorescu MIT Kyomin Jung MIT David.

Similar presentations


Presentation on theme: "1 Transitive-Closure Spanners Sofya Raskhodnikova Penn State University Joint work with Arnab Bhattacharyya MIT Elena Grigorescu MIT Kyomin Jung MIT David."— Presentation transcript:

1 1 Transitive-Closure Spanners Sofya Raskhodnikova Penn State University Joint work with Arnab Bhattacharyya MIT Elena Grigorescu MIT Kyomin Jung MIT David Woodruff IBM Almaden TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A

2 Graph Spanners [Awerbuch85,Peleg Schäffer89] A subgraph H of G is a k-spanner if for all pairs of vertices u, v in G, distance H (u,v) ≤ k distance G (u,v) Goal: to find a sparsest k-spanner Applications: efficient routing protocols in unsynchronized networks parallel /distributed algorithms for approximate shortest paths 2 dense graph Gsparse subgraph H

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 distance H (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) G TC(G)

4 4 Example: Directed Line on n Vertices 2-TC-spanner ≤ 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 n 1/2 hubs

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(n 2/3 polylog n)-approximation for k=3 [Elkin Peleg 99] 5

6 Our Contributions Common abstraction for several applications –property testing –access control –data structures Structural results on TC-spanners –path-separable graphs –directed hypercube Computational results on directed spanners k -TC-Spanner: Given a graph, compute a sparsest k-TC-spanner –new algorithms and inapproximability results 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 Attempts: 1. Test: Pick a random number and compare it to the next. Fails on: Ã 1/2-far from sorted 2. Test: Pick two random numbers and compare them. Fails on: Ã 1/2-far from sorted 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 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/

9 Generalization: Testing if a Matrix is Sorted Is a matrix sorted along all rows and columns or far from sorted (many numbers have to be changed to make it sorted)? [Goldreich Goldwasser Lehman Ron Samorodnitsky 00, Batu Rubinfeld White 99, Dodis Goldreich Lehman Raskhodnikova Ron Samorodnitsky 99, Halevy Kushilevitz 04] considered this problem for d-dimensional matrices. Is a function f : {1,…,m} d ! R monotone or ² -far from monotone? [DGLRRS99]: O(d ¢ (log m) ¢ (log |R|) / ² ) time [Fischer Lehman Newman Raskhodnikova Rubinfeld Samorodnitsky 02]: for m = 2 and R = {0,1}, need  (log log d) queries 9

10 Monotonicity of Functions 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. Testing monotonicity is equivalent to several other testing problems monotone ½-far from monotone

11 Monotonicity Testers via Sparse 2-TC -spanners Lemma. G has a 2-TC-spanner with s(n) edges  monotonicity of functions on G can be tested in time O(s(n)/( ² n)) Questions: What is the size of the sparsest 2-TC-spanner for a hypercube (hypergrid)? other families of graphs? Given a graph, can we efficiently construct a sparse 2-TC- spanner for it? 11

12 Application 2: Access Control 12 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 Access class with private key k i Permission edge with public key P ij Need k i to efficiently compute k j from P ij To speed up key derivation time, add shortcut edges consistent with permission edges

13 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(a i,…,a j ) 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. 13 a1a1 aiai ajaj anan … … … max(a i,…,a j )

14 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((n 1/2 log n)/ ² ) [FLNRRS02] to O((log 2 n)/ ² ) –Directed hypercube H d Sparsest 2-TC-spanner for H d has size  (2 cd ) and O(2 cd d 3 ) where c ¼ H d has £ (2 d d) edges; TC( H d ) has 3 d edges Needed a 2-TC-spanner of size o(2 d d 2 ) to improve monotonicity tests Computational results on directed spanners k -TC-Spanner: Given a graph, compute a sparsest k-TC-spanner –New algorithms and inapproximability results 14

15 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 £ (n 1/2 )-separable but 3-path-separable 15 from any spanning tree of G

16 1.Construct k-TC-spanner for each path separator (line) P as before. 2.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’ 3.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 k-TC-spanners via Path Separators 16 v P v’ u u’ · (k,n) edges O(n (k,n) ¢ log n ) edges

17 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)) 17

18 Our Contributions Algorithms Common abstraction for several applications Structural results on TC-spanners Computational results on k -TC-Spanner Setting of kApproxi- mability Authors/ Technique Notes k=2  (log n) [Kortsarz Peleg] k=3 O(n 2/3 polylog n)[Elkin Peleg] k > 2 O((n log n) 1-1/k )CP+samplingApplies to directed spanners,…. Simplifies [EP] for k=3 k =  (log n) O((n log n)/k 2 )PathSamplingBetter than directed spanners Setting of kInapproxi -mability AssumptionNotes k = 2  (log n)P  NP Matches upper bound constant k > 2  ( 2 log 1- ² n ) NP ( DTIME(n polylog n ) Improvement ) breakthrough k = n 1- ° 8  > 0  (1+ ² )P  NP 18 Hardness

19 k -TC-Spanner:  ( 2 log 1- ² n ) -inapproximability for k>2 Starting point: Reduce from Min-Rep Use generalized butterfly graphs and broom graphs 19

20 Instance. Undirected bipartite graph In each part: n nodes, grouped in r clusters |A i |=|B j |= n/r The Min-Rep Problem A1A1 A3A3 B1B1 B2B2 B3B3 supergraph Theorem [Elkin Peleg 07]. Min-Rep is  (2 log 1- ² n )-inapproximable unless NP µ DTIME(n polylog n ). 20 (A i,B j ) is a superedge iff some node in A i is adjacent to some node in B j. A2A2 Rep-Cover is a node set S: for each superedge (A i,B j ) there is edge (a,b) with a 2 A i Å S, b 2 B j Å S Goal. Find minimum size rep-cover.

21 Generalized Butterfly Graphs [Woodruff 06] Outdegree = indegree = d There is a unique path from (a 1,…,a k-1, 1) to (b 1,…,b k-1, k) Each shortcut edge is on at most d k-3 such paths At least d k+1 shortcuts must be added to reduce diameter by 1 21 Nodes: (a 1,a 2,…,a k-1, i) where a 1,…,a k-1 2 [d] and i 2 [k]... layer 1 layer i layer i +1 layer k (a 1,…,a i,…,a k-1, i) (a 1,…,b i,…,a k-1, i+1)

22 Graphs Used in the Reduction 22 Generalized butterfly Broom –A complete bipartite graph with disjoint stars attached to all right nodes d d d

23 A1A1 A3A3 B1B1 B2B2 B3B3 23 A2A2 Min-Rep Brooms 3 layers Butterflies k layers Reduction from Min-Rep to k -TC-Spanner

24 A Sparse TC-Spanner for the Hard Instance A1A1 A3A3 B1B1 B2B2 B3B3 24 A2A2 layer k-2 OPT d 2 + |G| edges, where OPT is the size of minimum rep-cover

25 Conclusion Our contributions Common abstraction for several applications –monotonicity testing, access control, data structures Structural results on TC-spanners –path-separable graphs, directed hypercube Computational results on k -TC-Spanner –new algorithms and inapproximability results Open questions Can TC-spanner perspective be used to get new algorithms for problems related to monotonicity testing? –approximating distance to monotonicity or the length of LIS – in streaming? Other applications of TC-spanners? 25

26 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(n 2/3 polylog n)-approximation algorithm [Elkin Peleg 05] for k = 3

27 For each edge e 2 G, introduce a variable x e, 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 y p. For constant k, the number of such paths is O(n k+1 ) = poly(n). Integer programming formulation: min  e x e s.t. 8 e =(a,b) 2 G, sum p: a -> b, |p| · k y p ¸ 1 8 p = {(a 0, a 1 ), (a 1, a 2 ), …, (a k-1, a k )}, y p · min j=1 k x (a j-1, j ) 8 e, x e 2 {0,1} 8 p, y p 2 {0,1} Linear programming relaxation: x e, y p 2 [0,1] Approximation Algorithms: Linear Program

28 min  e x e s.t. 8 e =(a,b) 2 G, sum p: a -> b, |p| · k y p ¸ 1 8 p = {(a 0, a 1 ), (a 1, a 2 ), …, (a k-1, a k )}, y p · min j=1 k x (a j-1, j ) 8 e, 8 p, x e 2 [0,1], y p 2 [0,1] Solve the linear program, let the solution variables be x e *, y p * Define a rounding scheme: include e in the 2-Spanner H if and only if x e * ¸ 1/n 1-1/k If the number of paths of length at most k between vertices a, b in G is at most n 1-1/k, then the constraint sum p: a -> b, |p| · k y p ¸ 1 ensures there is a path p for which y * p ¸ 1/n 1-1/k The constraint y p · min j=1 k x (a j-1, j ) ensures that for all edges e 2 p, we have x e * ¸ 1/n 1-1/k, and so e will be added to H

29 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 r 1/(k-1) vertices in G which are contained on such paths Solution: sample O(n/r 1/(k-1) ) vertices at random and grow a shortest path tree around them. Set r= n 1-1/k.

30 Approximation Algorithms: Sampling For any (a,b) 2 G, either the linear program includes a path between a and b of length at most k in the spanner H, or we will randomly sample a vertex v on a path p of length at most k between a and b. Since we include a shortest path tree around v in H, the distance from a to b in H will be at most k. … Sampling solves the “many paths” case LP solves the “few paths” case

31 Approximation Algorithms: LP+Sampling Linear Programming + Sampling: 1.Initialize H to empty set 2.For each edge e, if x e * ≥ 1/n 1-1/k, then add e to H 3.Randomly sample r = O~(n 1-1/k ) vertices z 1, …, z r 4.For each i, add the edges in BFS(z i ) to H 5.Output H Claim: With probability at least 1-1/n, we get H is a k-Spanner of G Claim: |H| = O~(n 1-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 n 1-1/k OPT’ · n 1-1/k OPT –Each shortest path tree around each of O~(n 1-1/k ) sampled vertices has O(n) edges, so we add O~(n 2-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 n 1-1/k OPT edges.

32 Approximation Algorithms: Wrapup Exponential number of variables: –Number of path variables grows exponentially with k –Can replace y p with min(x e1, x e2, …, x ek ) for p = (e 1, …, e k ) Now we have a convex program in O(n 2 ) 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.

33 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 33


Download ppt "1 Transitive-Closure Spanners Sofya Raskhodnikova Penn State University Joint work with Arnab Bhattacharyya MIT Elena Grigorescu MIT Kyomin Jung MIT David."

Similar presentations


Ads by Google