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

Recommend


More recommend