cmpsci 711 more advanced algorithms
play

CMPSCI 711: More Advanced Algorithms Section 2-1: Graph Streams - PowerPoint PPT Presentation

CMPSCI 711: More Advanced Algorithms Section 2-1: Graph Streams Andrew McGregor Last Compiled: April 29, 2012 1/11 Graph Streams Consider a stream of m edges e 1 , e 2 , . . . . . . , e m defining a graph G with nodes V = [ n ] and


  1. CMPSCI 711: More Advanced Algorithms Section 2-1: Graph Streams Andrew McGregor Last Compiled: April 29, 2012 1/11

  2. Graph Streams ◮ Consider a stream of m edges � e 1 , e 2 , . . . . . . , e m � defining a graph G with nodes V = [ n ] and E = { e 1 , . . . , e m } ◮ Massive graphs include social networks, web graph, call graphs, etc. ◮ What can we compute about G in o ( m ) space? ◮ Focus on semi-streaming space restriction of O ( n · polylog n ) bits. 2/11

  3. Warm-Up: Connectivity ◮ Goal: Compute the number of connected components. ◮ Algorithm: Maintain a spanning forest F ◮ F ← ∅ ◮ For each edge ( u , v ), if u and v aren’t connected in F , F ← F ∪ { ( u , v ) } ◮ Analysis: ◮ F has the same number of connected components as G ◮ F has at most n − 1 edges. ◮ Thm: Can count connected components in O ( n log n ) space. 3/11

  4. Extension: k -Edge Connectivity ◮ Goal: Check if all cuts are of size at least k . ◮ Algorithm: Maintain k forests F 1 , . . . , F k ◮ F 1 , . . . , F k ← ∅ ◮ For each edge ( u , v ), find smallest i ≤ k such that u and v aren’t connected in F i , F i ← F i ∪ { ( u , v ) } If no such i exists, ignore edge. ◮ Analysis: ◮ Each F i has at most n − 1 edges so total edges is O ( nk ) ◮ Lemma: Min-Cut( V , E ) < k iff Min-Cut( V , F 1 ∪ . . . ∪ F k ) < k ◮ Thm: Can check k -connectivity in O ( kn log n ) space. 4/11

  5. Proof of Lemma ◮ Let H = ( V , F 1 ∪ . . . ∪ F k ) and let ( S , V \ S ) be an arbitrary cut. ◮ Since H is a subgraph: | E G ( S ) | ≥ | E H ( S ) | where E H ( S ) and E G ( S ) are the edges across the cut in H and G ◮ Suppose there exists ( u , v ) ∈ E G ( S ) but ( u , v ) �∈ F 1 ∪ . . . ∪ F k . Then ( u , v ) must be connected in each F i . Since F i are disjoint, | E H ( S ) | ≥ min( | E G ( S ) | , k ) 5/11

  6. Spanners Definition An α -spanner of graph G is a subgraph H such that for any nodes u , v , d G ( u , v ) ≤ d H ( u , v ) ≤ α d G ( u , v ) . where d G and d H are the shortest path distances in G and H respectively. ◮ Algorithm: ◮ H ← ∅ . ◮ For each edge ( u , v ), if d H ( u , v ) ≥ 2 t , H ← H ∪ { ( u , v ) } ◮ Analysis: ◮ Distances increase by at most a factor 2 t − 1 since an edge ( u , v ) is only forgotten if there’s already a detour of length at most 2 t − 1. ◮ Lemma: H has O ( n 1+1 / t ) edges since all cycles have length ≥ 2 t + 1. Theorem Can (2 t − 1) -approximate all distances using only O ( n 1+1 / t ) space. 6/11

  7. Proof of Lemma Lemma A graph H on n nodes with no cycles of length ≤ 2 t has O ( n 1+1 / t ) edges. ◮ Let d = 2 m / n be the average degree of H . ◮ Let J be the graph formed by removing nodes with degree less than d / 2 until no such nodes remain. ◮ J is not empty because < m / ( d / 2) = n nodes can be removed. ◮ Grow a BFS of depth t from an arbitrary node in J . ◮ Because a) no cycles of length less than 2 t + 1 and b) all degrees in J are at least d / 2, number of nodes at t -th level of BFS is at least ( d / 2 − 1) t = ( m / n − 1) t ◮ But ( m / n − 1) t ≤ | J | ≤ n and therefore, m ≤ n + n 1+1 / t . 7/11

  8. Sparsifier Definition An α -sparsifier of graph G is a weighted subgraph H such that for any cut ( S , V \ S ), C G ( S ) ≤ C H ( S ) ≤ α C G ( S ) . where C G and C H is the capacity of the cut in G and H respectively. Theorem (Batson, Spielman, Srivastava) There exists a (non-streaming) algorithm A that constructs a (1 + ǫ ) -sparsifier with only O ( n ǫ − 2 ) edges. Idea for stream algorithm is to use A as a black box to “recursively” sparsify the graph stream. 8/11

  9. Basic Properties of Sparsifiers Lemma Suppose H 1 and H 2 are α -sparsifiers of G 1 and G 2 . Then H 1 ∪ H 2 is an α -sparsifier of G 1 ∪ G 2 . Lemma Suppose J is an α -sparsifiers of H and H is an α -sparsifier of G. Then J is an α 2 -sparsifier of G. 9/11

  10. Stream Sparsification ◮ Divide length m stream into segments of length t = O ( n ǫ − 2 ) ◮ Let G 0 , G 1 , . . . , G m / t − 1 be graphs defined by each segment and let G 1 0 = G 0 ∪ G 1 , G 1 2 = G 2 ∪ G 3 , . . . , G 1 m / t − 2 = G m / t − 2 ∪ G m / t − 1 and for i > 1, G i j 2 i = G j 2 i ∪ G j 2 i +1 ∪ . . . ∪ G j 2 i +2 i − 1 and note that G log m = G . 0 ◮ Let ˜ j 2 i be a (1 + γ )-sparsifier of ˜ G i − 1 ∪ ˜ G i − 1 j 2 i +2 i − 1 and ˜ G i G j = G j . j 2 i ◮ Hence, ˜ G log n is a (1 + γ ) log m -sparsifier of G . 0 in O ( n γ − 2 log m ) space. ◮ Can compute ˜ G log n 0 log m gives (1 + ǫ )-sparsifier in O ( n ǫ − 2 log 3 m ) space. ◮ Setting γ = ǫ 10/11

  11. Spectral Sparsification ◮ Given a graph G , the Laplacian matrix L G ∈ R n × n has entries:  deg( i ) if i = j   L ij = − 1 if ( i , j ) ∈ E  0 otherwise  ◮ H is an (1 + ǫ ) spectral sparsifier if for all ∀ x ∈ R n , (1 − ǫ ) x T L G x ≤ x T L H x ≤ (1 + ǫ ) x T L G x ( i , j ) ∈ E ( x i − x j ) 2 and hence H is a (1 + ǫ ) ◮ Note that x T L G x = � sparsifier if ∀ x ∈ { 0 , 1 } n , (1 − ǫ ) x T L G x ≤ x T L H x ≤ (1 + ǫ ) x T L G x and therefore spectral sparsification is a generalization of (“cut” or “combinatorial”) sparsification. ◮ Spectral sparsifiers also approximate eigenvalues. These relate to expansion properties, random walks, mixing times etc. 11/11

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend