Lower-Stretch Spanning Trees Presenter: Yajun Wang COMP670P 1-1
Introduction Graph Embedding on Tree Metrics Average O (log 2 n log log n ) stretch. stretch T ( u, v ) = dist T ( u,v ) d ( u,v ) 1 � ave-stretch T ( E ) = ( u,v ) ∈ E stretch T ( u, v ) | E | Star Decomposition COMP670P 2-1
Notation The boundary of S , ∂S : the set of edges with exactly one endpoint in S . The volumn of a set of edges F , vol( F ) : the size of the set F . The volumn of a set of vertices S , vol( S ) : the number of edges incident to S. The ball shell around a vertex v , BS( r, v ) : the set of vertices ”right” outside B ( r, v ) . The cost (weight) of an edge, the length is d ( e ) = 1 /w ( e ) . COMP670P 3-1
Low-Cost Star-Decomposition A multiway partition { V 0 , V 1 , . . . , V k } with center x 0 ∈ V 0 is a star-decomposition : subgraphs induced by V i are connected. x i ∈ V i is connected to a vertex y i ∈ V 0 by an edge ( x i , y i ) ∈ E. ( bridge). x k r 0 r k y k x 0 V 0 COMP670P 4-1
Low-Cost Star-Decomposition Let r = rad G ( x 0 ) , and r i = rad V i ( x i ) . For δ, ǫ ≤ 1 / 2 , a star-decomposition is a ( δ, ǫ ) -star-decomposition if δr ≤ r 0 ≤ (1 − δ ) r r 0 + d ( x i , y i ) + r i ≤ (1 + ǫ ) r The cost of the star-decomposition is cost( ∂ ( V 0 , V 1 , . . . , V k )) , the sum of cost of the edges between the sets. COMP670P 5-1
Low-Cost Star-Decomposition Let G = ( V, E, w ) be a connected weighted graph and x 0 ∈ V . For every positive ǫ ≤ 1 / 2 , ( { V 0 , V 1 , . . . , V k } , x , y ) = starDecomp( G , x 0 , 1 / 3 , ǫ ) , in time O ( m + n log n ) , returns a (1 / 3 , ǫ ) -star-decomposition of G with center x 0 of cost cost( ∂ ( V 0 , V 1 , . . . , V k )) ≤ 6 m log 2 ( m + 1) ǫ · rad G ( x 0 ) δr ≤ r 0 ≤ (1 − δ ) r r 0 + d ( x i , y i ) + r i ≤ (1 + ǫ ) r COMP670P 6-1
O (log 3 m ) Average Stretch Tree Algorithm for Unweighted Graphs n + 6)) − 1 . Fix α = (2 log 4 / 3 (ˆ T = UnweightedLowStretchTree( G, x 0 ) 1. If | V | ≤ 2 , return G . 2. Set ρ = rad G ( x 0 ) 3. ( { V 0 , V 1 , . . . , V k } , x , y ) = StarDecomp( G , x 0 , 1 / 3 , α ) 4. For each i , set T i = UnweightedLowStretchTree( G ( V i ) , x i ) . 5. Set T = ∪ i T i ∪ i ( y i , x i ) . COMP670P 7-1
O (log 3 m ) Average Stretch Tree Analysis Depth of recursion: O (log 4 / 3 n ) rad R t ( G ) ( x 0 ) ≤ (1 + α ) t rad G ( x 0 ) ≤ √ e · rad G ( x 0 ) . X X stretch T ( u, v ) ≤ (dist T ( x 0 , u ) + dist T ( x 0 , v )) ( u,v ) ∈ ∂ ( V 0 ...,V k ) ( u,v ) ∈ ∂ ( V 0 ...,V k ) 2 √ e · rad G ( x 0 ) X ≤ ( u,v ) ∈ ∂ ( V 0 ,...,V k ) 2 √ e · rad G ( x 0 ) 6 m log 2 ( ˆ m + 1) ≤ α · rad G ( x 0 ) m log 3 ˆ � ( u,v ) ∈ E stretch T ( u, v ) = O ( ˆ m ) . COMP670P 8-1
O (log 3 m ) Average Stretch Tree Algorithm for Weighted Graphs n + 32)) − 1 . Fix β = (2 log 4 / 3 (ˆ T = LowStretchTree( G, x 0 ) 1. If | V | ≤ 2 , return G . 2. Set ρ = rad G ( x 0 ) 3. Let ˜ G = ( ˜ V , ˜ E ) be the graph by contracting all edges in G with length less than βρ/ ˆ n. 4. ( { ˜ V 0 , . . . , ˜ V k } , x , y ) = StarDecomp( ˜ G , x 0 , 1 / 3 , β ) 5. For each i , let V i be the preimage of ˜ V i , and ( x i , y i ) be one of the preimage of ( ˜ x i , ˜ y I ) . 6. For each i , set T i = LowStretchTree( G ( V i ) , x i ) . 7. Set T = ∪ i T i ∪ i ( y i , x i ) . COMP670P 9-1
O (log 3 m ) Average Stretch Tree Analysis Let t = 2 log 4 / 3 (ˆ n + 32) and ρ t = rad R t ( G ) ( x 0 ) ρ t ≤ √ e · rad G ( x 0 ) Each component has radius at most ρ (3 / 4) t ≤ ρ/n 2 . . Each edge appears at most log 4 / 3 ((2ˆ n/β ) + 1) recursion depths. The total contribution to the stretch at level t is O ( vol ( E t ) log 2 ˆ m ) COMP670P 10-1
Star Decomposition Concentric System A family of vertex sets L = { L r ⊆ V : r ∈ R + ∪ { 0 }} . 1. L 0 � = ∅ , 2. L r ⊆ L r ′ for all r ≤ r ′ , 3. if a vertex u ∈ L r and ( u, v ) ∈ E , then v ∈ L r + d ( u,v ) . COMP670P 11-1
Star Decomposition Concentric System A family of vertex sets L = { L r ⊆ V : r ∈ R + ∪ { 0 }} . 1. L 0 � = ∅ , 2. L r ⊆ L r ′ for all r ≤ r ′ , 3. if a vertex u ∈ L r and ( u, v ) ∈ E , then v ∈ L r + d ( u,v ) . Property: For every two reals 0 ≤ λ ≤ λ ′ , there exists a real r ∈ [ λ, λ ′ ) such that � � �� cost ( ∂ ( L r )) ≤ vol( L r ) m λ ′ − λ max 1 , log 2 vol( E ( L r )) COMP670P 12-1
Star Decomposition Proof of the property: cost ( ∂ ( L r )) ≤ vol( L r ) � � m �� λ ′ − λ max 1 , log 2 vol( E ( L r )) Sort the vertices according to the distances to the center. r i − r j Let µ i = vol( E ( B i )) + � r k − r j . ( v j ,v k ) ∈ E : j ≤ i<k µ i +1 = µ i + cost( ∂ ( B i ))( r i +1 − r i ) � � Let r a − 1 ≤ λ < λ ′ ≤ r b +1 , and η = log 2 m vol( E ( B a − 1 )) Prove there exists i ∈ [ a − 1 , b ] such that cost( ∂ ( B i )) ≤ µ i η/ ( λ ′ − λ ) . COMP670P 13-1
Star Decomposition r = BallCut ( G, x 0 , ρ, δ ) 1. Set r = δρ 2. While cost( ∂ ( B ( r, x 0 ))) > vol( B ( r,x 0 ))+1 log 2 ( m + 1) , (1 − 2 δ ) ρ Find the next vertex v and set r = dist ( x 0 , v ) . Result: ρ/ 3 ≤ r ≤ 2 ρ/ 3 cost( ∂ ( V 0 )) > 3(vol( V 0 ) + 1) log 2 ( | E | + 1) ρ COMP670P 14-1
Star Decomposition Ideals and Cones For set S ⊆ V, F ( S ) = { ( u → v ) : ( u, v ) ∈ E, dist( u, S ) + d ( u, v ) = dist( v, S ) } The ideal of v , I S ( v ) , induced by S , is the set of vertices that reachable from v in F ( S ) The cone of width l around v induced by S , C S ( l, v ) , is the set of vertices in V that can be reached from v by a path, the sum of lengths of whose edges not in F ( S ) is at most l. COMP670P 15-1
Star Decomposition Cones are concentric r = ConeCut ( G, v, λ, λ ′ , S ) 1. Set r = λ if vol( E ( C S ( λ, v ))) = 0 , Set µ = (vol( C S ( r, v )) + 1) log 2 ( m + 1) . otherwise, Set µ = vol( C S ( r, v )) log 2 ( m/ vol( E ( C S ( λ, v ))) . 2. While cost( ∂ ( C S ( r, v ))) > µ/ ( λ ′ − λ ) , Find the next vertex w minimize dist( w, C S ( r, v )) and set r = r + dist ( w, C S ( r, v )) . r ∈ [ λ, λ ′ ) » – cost( ∂ ( C S ( r, v ))) ≤ vol( C S ( r, v )) m max 1 , log 2 λ ′ − λ vol( E ( C S ( r, v ))) COMP670P 16-1
Star Decomposition Final Algorithm ( { V 0 , . . . , V k } , x , y ) = StarDecomp( G, x 0 , δ, ǫ ) 1. Set ρ = rad G ( x 0 ); r 0 = BallCut( G, x 0 , ρ, δ ) and V 0 = B ( r 0 , x 0 ) . 2. Let S = BS ( r 0 , x 0 ); 3. Set G ′ = ( V ′ , E ′ , w ′ ) = G ( V − V 0 ) . 4. Set ( { V 1 , . . . , V k , x } ) = ConeDecomp( G ′ , S, ǫρ/ 2); 5. For each i ∈ [1 : k ] , set y k to be a vertex in V 0 such that ( x k , v k ) ∈ E and y k is on a shortest path from x 0 to x k ( { V 1 , . . . , V k , x } ) = ConeDecomp( G, S, ∆) 1. Set G 0 = G, S 0 = S, k = 0 . 2. While S k is not empty (a) k = k + 1 ; x k ∈ S k ; r k = ConeCut( G k − 1 , x k , 0 , ∆ , S k − 1 ) . (b) Set V k = C S k − 1 ( r k , x k ); G k = G ( V −∪ k i =1 V k ) , S k = S k − 1 − V k . 3. Set x = ( x 1 , . . . , x k ) . COMP670P COMP670P 17-1
Star Decomposition Cost cost( ∂ ( V 0 )) > 3(vol( V 0 ) + 1) log 2 ( | E | + 1) ρ i =0 V i )) ≤ 2(1 + vol( V j )) log 2 ( m + 1) cost( E ( V j , V − ∪ j ǫρ k cost( E ( V j , V − ∪ j X cost( ∂ ( V 0 , . . . , V K )) ≤ i ]= V i )) j =0 k 2 log 2 ( m + 1) X ≤ (vol( V j ) + 1) ǫρ j =0 6 m log 2 ( m + 1) ≤ ǫρ COMP670P 18-1
Recommend
More recommend