Useful Observations (Callahan and Kosaraju (1995)) Introduction B i Background A 2-WSPD of size O ( n ) can be constructed in time Approximation Prior Work O ( n log n ) Preliminaries WSPD+MST A i Lower Bound Each pair of a 2-WSPD contributes at most one edge In Theory to the MST Simple+Slow Smart+Sloppy Analysis Given a 2-WSPD for P , form a graph G from the In Practice closest pair from each ( A i , B i ) Background GeoMST GeoMST2 | G | = O ( n ) Component-First Wrap-Up MST( G ) ⇒ EMST( P ) ε -approximate closest pairs yield an ε -MST
Useful Observations (Callahan and Kosaraju (1995)) Introduction B i Background A 2-WSPD of size O ( n ) can be constructed in time Approximation Prior Work O ( n log n ) Preliminaries WSPD+MST A i Lower Bound Each pair of a 2-WSPD contributes at most one edge In Theory to the MST Simple+Slow Smart+Sloppy Analysis Given a 2-WSPD for P , form a graph G from the In Practice B i closest pair from each ( A i , B i ) Background GeoMST GeoMST2 | G | = O ( n ) Component-First A i Wrap-Up MST( G ) ⇒ EMST( P ) ε -approximate closest pairs yield an ε -MST
Useful Observations (Callahan and Kosaraju (1995)) Introduction B i Background A 2-WSPD of size O ( n ) can be constructed in time Approximation Prior Work O ( n log n ) Preliminaries WSPD+MST A i Lower Bound Each pair of a 2-WSPD contributes at most one edge In Theory to the MST Simple+Slow Smart+Sloppy Analysis Given a 2-WSPD for P , form a graph G from the In Practice B i closest pair from each ( A i , B i ) Background GeoMST GeoMST2 | G | = O ( n ) Component-First A i Wrap-Up MST( G ) ⇒ EMST( P ) ε -approximate closest pairs yield an ε -MST
Useful Observations (Callahan and Kosaraju (1995)) Introduction Background B i A 2-WSPD of size O ( n ) can be constructed in time Approximation Prior Work O ( n log n ) Preliminaries WSPD+MST A i Lower Bound Each pair of a 2-WSPD contributes at most one edge In Theory to the MST Simple+Slow Smart+Sloppy Analysis Given a 2-WSPD for P , form a graph G from the In Practice B i closest pair from each ( A i , B i ) Background GeoMST GeoMST2 | G | = O ( n ) Component-First A i Wrap-Up MST( G ) ⇒ EMST( P ) ε -approximate closest pairs yield an ε -MST
Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries ε -Approximate MST Algorithm: WSPD+MST Lower Bound Compute an s -WSPD, for s = 4(2 + ε ) /ε In Theory Simple+Slow Smart+Sloppy For each WSP { u , v } , add { p u , p v } to G Analysis In Practice Compute MST( G ) and return Background GeoMST GeoMST2 Running time: Component-First Wrap-Up Dominated by MST time: O (( n /ε d ) log( n /ε ))
Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries ε -Approximate MST Algorithm: WSPD+MST Lower Bound Compute an s -WSPD, for s = 4(2 + ε ) /ε In Theory Simple+Slow Smart+Sloppy For each WSP { u , v } , add { p u , p v } to G Analysis In Practice Compute MST( G ) and return Background GeoMST GeoMST2 Running time: Component-First Wrap-Up Dominated by MST time: O (( n /ε d ) log( n /ε ))
Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries ε -Approximate MST Algorithm: WSPD+MST Lower Bound Compute an s -WSPD, for s = 4(2 + ε ) /ε In Theory Simple+Slow Smart+Sloppy For each WSP { u , v } , add { p u , p v } to G Analysis In Practice Compute MST( G ) and return Background GeoMST GeoMST2 Running time: Component-First Wrap-Up Dominated by MST time: O (( n /ε d ) log( n /ε ))
Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries ε -Approximate MST Algorithm: WSPD+MST Lower Bound Compute an s -WSPD, for s = 4(2 + ε ) /ε In Theory Simple+Slow Smart+Sloppy For each WSP { u , v } , add { p u , p v } to G Analysis In Practice Compute MST( G ) and return Background GeoMST GeoMST2 Running time: Component-First Wrap-Up Dominated by MST time: O (( n /ε d ) log( n /ε ))
Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries ε -Approximate MST Algorithm: WSPD+MST Lower Bound Compute an s -WSPD, for s = 4(2 + ε ) /ε In Theory Simple+Slow Smart+Sloppy For each WSP { u , v } , add { p u , p v } to G Analysis In Practice Compute MST( G ) and return Background GeoMST GeoMST2 Running time: Component-First Wrap-Up Dominated by MST time: O (( n /ε d ) log( n /ε ))
Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries ε -Approximate MST Algorithm: WSPD+MST Lower Bound Compute an s -WSPD, for s = 4(2 + ε ) /ε In Theory Simple+Slow Smart+Sloppy For each WSP { u , v } , add { p u , p v } to G Analysis In Practice Compute MST( G ) and return Background GeoMST GeoMST2 Running time: Component-First Wrap-Up Dominated by MST time: O (( n /ε d ) log( n /ε ))
Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries ε -Approximate MST Algorithm: WSPD+MST Lower Bound Compute an s -WSPD, for s = 4(2 + ε ) /ε In Theory Simple+Slow Smart+Sloppy For each WSP { u , v } , add { p u , p v } to G Analysis In Practice Compute MST( G ) and return Background GeoMST GeoMST2 Running time: Component-First Wrap-Up Dominated by MST time: O (( n /ε d ) log( n /ε ))
Simple WSPD-Based Algorithm G Introduction Background Approximation Prior Work Preliminaries ε -Approximate MST Algorithm: WSPD+MST Lower Bound Compute an s -WSPD, for s = 4(2 + ε ) /ε In Theory Simple+Slow Smart+Sloppy For each WSP { u , v } , add { p u , p v } to G Analysis In Practice Compute MST( G ) and return Background GeoMST GeoMST2 Running time: Component-First Wrap-Up Dominated by MST time: O (( n /ε d ) log( n /ε ))
Simple WSPD-Based Algorithm G Introduction Background Approximation Prior Work Preliminaries ε -Approximate MST Algorithm: WSPD+MST Lower Bound Compute an s -WSPD, for s = 4(2 + ε ) /ε In Theory Simple+Slow Smart+Sloppy For each WSP { u , v } , add { p u , p v } to G Analysis In Practice Compute MST( G ) and return MST ( G ) Background GeoMST GeoMST2 Running time: Component-First Wrap-Up Dominated by MST time: O (( n /ε d ) log( n /ε ))
Simple WSPD-Based Algorithm G Introduction Background Approximation Prior Work Preliminaries ε -Approximate MST Algorithm: WSPD+MST Lower Bound Compute an s -WSPD, for s = 4(2 + ε ) /ε In Theory Simple+Slow Smart+Sloppy For each WSP { u , v } , add { p u , p v } to G Analysis In Practice Compute MST( G ) and return MST ( G ) Background GeoMST GeoMST2 Running time: Component-First Wrap-Up Dominated by MST time: O (( n /ε d ) log( n /ε ))
Correctness of the Simple WSPD-Based Algorithm G Introduction Background Approximation Prior Work Preliminaries Correctness: WSPD+MST Lower Bound Fact: G is a (1 + ε )-spanner for P ⇔ In Theory Simple+Slow Each p , q ∈ P joined by a path of length ≤ (1 + ε ) � pq � . Smart+Sloppy Analysis Replace each edge of EMST(P) with its spanner path In Practice EMST ( P ) Total weight increases by at most (1 + ε ) Background GeoMST Result G ′ spans P and has weight ≤ (1 + ε )EMST( P ) GeoMST2 Component-First Wrap-Up The weight of MST( G ) can be no larger
Correctness of the Simple WSPD-Based Algorithm G Introduction Background Approximation Prior Work Preliminaries Correctness: WSPD+MST Lower Bound Fact: G is a (1 + ε )-spanner for P ⇔ In Theory Simple+Slow Each p , q ∈ P joined by a path of length ≤ (1 + ε ) � pq � . Smart+Sloppy Analysis Replace each edge of EMST(P) with its spanner path In Practice EMST ( P ) Total weight increases by at most (1 + ε ) Background GeoMST Result G ′ spans P and has weight ≤ (1 + ε )EMST( P ) GeoMST2 Component-First Wrap-Up The weight of MST( G ) can be no larger
Correctness of the Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries Correctness: WSPD+MST Lower Bound Fact: G is a (1 + ε )-spanner for P ⇔ In Theory Simple+Slow Each p , q ∈ P joined by a path of length ≤ (1 + ε ) � pq � . Smart+Sloppy Analysis Replace each edge of EMST(P) with its spanner path In Practice EMST ( P ) Total weight increases by at most (1 + ε ) Background GeoMST GeoMST2 Result G ′ spans P and has weight ≤ (1 + ε )EMST( P ) Component-First Wrap-Up The weight of MST( G ) can be no larger
Correctness of the Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries Correctness: WSPD+MST Lower Bound Fact: G is a (1 + ε )-spanner for P ⇔ In Theory Simple+Slow Each p , q ∈ P joined by a path of length ≤ (1 + ε ) � pq � . Smart+Sloppy Analysis Replace each edge of EMST(P) with its spanner path In Practice EMST ( P ) Total weight increases by at most (1 + ε ) Background GeoMST GeoMST2 Result G ′ spans P and has weight ≤ (1 + ε )EMST( P ) Component-First Wrap-Up The weight of MST( G ) can be no larger
Correctness of the Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries Correctness: WSPD+MST Lower Bound Fact: G is a (1 + ε )-spanner for P ⇔ In Theory Simple+Slow Each p , q ∈ P joined by a path of length ≤ (1 + ε ) � pq � . Smart+Sloppy Analysis Replace each edge of EMST(P) with its spanner path In Practice EMST ( P ) Total weight increases by at most (1 + ε ) Background GeoMST GeoMST2 Result G ′ spans P and has weight ≤ (1 + ε )EMST( P ) Component-First Wrap-Up The weight of MST( G ) can be no larger
Correctness of the Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries Correctness: WSPD+MST Lower Bound Fact: G is a (1 + ε )-spanner for P ⇔ In Theory Simple+Slow Each p , q ∈ P joined by a path of length ≤ (1 + ε ) � pq � . Smart+Sloppy Analysis Replace each edge of EMST(P) with its spanner path In Practice EMST ( P ) Total weight increases by at most (1 + ε ) Background GeoMST GeoMST2 Result G ′ spans P and has weight ≤ (1 + ε )EMST( P ) Component-First Wrap-Up The weight of MST( G ) can be no larger
Correctness of the Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries Correctness: WSPD+MST Lower Bound Fact: G is a (1 + ε )-spanner for P ⇔ In Theory Simple+Slow Each p , q ∈ P joined by a path of length ≤ (1 + ε ) � pq � . Smart+Sloppy Analysis Replace each edge of EMST(P) with its spanner path In Practice EMST ( P ) Total weight increases by at most (1 + ε ) Background GeoMST GeoMST2 Result G ′ spans P and has weight ≤ (1 + ε )EMST( P ) Component-First Wrap-Up The weight of MST( G ) can be no larger
Correctness of the Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries Correctness: WSPD+MST Lower Bound Fact: G is a (1 + ε )-spanner for P ⇔ In Theory Simple+Slow Each p , q ∈ P joined by a path of length ≤ (1 + ε ) � pq � . Smart+Sloppy Analysis Replace each edge of EMST(P) with its spanner path In Practice EMST ( P ) Total weight increases by at most (1 + ε ) Background GeoMST GeoMST2 Result G ′ spans P and has weight ≤ (1 + ε )EMST( P ) Component-First Wrap-Up The weight of MST( G ) can be no larger
Correctness of the Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries Correctness: WSPD+MST Lower Bound Fact: G is a (1 + ε )-spanner for P ⇔ In Theory Simple+Slow Each p , q ∈ P joined by a path of length ≤ (1 + ε ) � pq � . Smart+Sloppy Analysis Replace each edge of EMST(P) with its spanner path In Practice EMST ( P ) Total weight increases by at most (1 + ε ) Background GeoMST GeoMST2 Result G ′ spans P and has weight ≤ (1 + ε )EMST( P ) Component-First Wrap-Up The weight of MST( G ) can be no larger
Correctness of the Simple WSPD-Based Algorithm Introduction Background Approximation Prior Work Preliminaries Correctness: WSPD+MST Lower Bound Fact: G is a (1 + ε )-spanner for P ⇔ In Theory Simple+Slow Each p , q ∈ P joined by a path of length ≤ (1 + ε ) � pq � . Smart+Sloppy Analysis Replace each edge of EMST(P) with its spanner path In Practice EMST ( P ) Total weight increases by at most (1 + ε ) Background GeoMST GeoMST2 Result G ′ spans P and has weight ≤ (1 + ε )EMST( P ) Component-First Wrap-Up The weight of MST( G ) can be no larger
Correctness of the Simple WSPD-Based Algorithm G ′ Introduction Background Approximation Prior Work Preliminaries Correctness: WSPD+MST Lower Bound Fact: G is a (1 + ε )-spanner for P ⇔ In Theory Simple+Slow Each p , q ∈ P joined by a path of length ≤ (1 + ε ) � pq � . Smart+Sloppy Analysis Replace each edge of EMST(P) with its spanner path In Practice EMST ( P ) Total weight increases by at most (1 + ε ) Background GeoMST GeoMST2 Result G ′ spans P and has weight ≤ (1 + ε )EMST( P ) Component-First Wrap-Up The weight of MST( G ) can be no larger
Correctness of the Simple WSPD-Based Algorithm G ′ Introduction Background Approximation Prior Work Preliminaries Correctness: WSPD+MST Lower Bound Fact: G is a (1 + ε )-spanner for P ⇔ In Theory Simple+Slow Each p , q ∈ P joined by a path of length ≤ (1 + ε ) � pq � . Smart+Sloppy Analysis Replace each edge of EMST(P) with its spanner path In Practice EMST ( P ) Total weight increases by at most (1 + ε ) Background GeoMST Result G ′ spans P and has weight ≤ (1 + ε )EMST( P ) GeoMST2 Component-First Wrap-Up The weight of MST( G ) can be no larger
Speeding This Up Introduction Background Approximation Prior Work (1 /ε )-WSPD has too many pairs ( O ( n /ε d )) Preliminaries WSPD+MST Lower Bound In Theory Build a 2-WSPD ⇒ Only O ( n ) pairs Simple+Slow Smart+Sloppy Analysis Be smarter about computing ε -approximate closest pairs? In Practice ⇒ � O ( n /ε d / 2 ) [CK95], � O ( n /ε d / 3 ) [AC14], � O ( n /ε d / 4 ) [Ch17, AFM17] ← tough! Background GeoMST GeoMST2 Use lower bounds on MST weight more judiciously ← our approach Component-First Wrap-Up
Speeding This Up Introduction Background Approximation Prior Work (1 /ε )-WSPD has too many pairs ( O ( n /ε d )) Preliminaries WSPD+MST Lower Bound In Theory Build a 2-WSPD ⇒ Only O ( n ) pairs Simple+Slow Smart+Sloppy Analysis Be smarter about computing ε -approximate closest pairs? In Practice ⇒ � O ( n /ε d / 2 ) [CK95], � O ( n /ε d / 3 ) [AC14], � O ( n /ε d / 4 ) [Ch17, AFM17] ← tough! Background GeoMST GeoMST2 Use lower bounds on MST weight more judiciously ← our approach Component-First Wrap-Up
Speeding This Up Introduction Background Approximation Prior Work (1 /ε )-WSPD has too many pairs ( O ( n /ε d )) Preliminaries WSPD+MST Lower Bound In Theory Build a 2-WSPD ⇒ Only O ( n ) pairs Simple+Slow Smart+Sloppy Analysis Be smarter about computing ε -approximate closest pairs? In Practice ⇒ � O ( n /ε d / 2 ) [CK95], � O ( n /ε d / 3 ) [AC14], � O ( n /ε d / 4 ) [Ch17, AFM17] ← tough! Background GeoMST GeoMST2 Use lower bounds on MST weight more judiciously ← our approach Component-First Wrap-Up
Speeding This Up Introduction Background Approximation Prior Work (1 /ε )-WSPD has too many pairs ( O ( n /ε d )) Preliminaries WSPD+MST Lower Bound In Theory Build a 2-WSPD ⇒ Only O ( n ) pairs Simple+Slow Smart+Sloppy Analysis Be smarter about computing ε -approximate closest pairs? In Practice ⇒ � O ( n /ε d / 2 ) [CK95], � O ( n /ε d / 3 ) [AC14], � O ( n /ε d / 4 ) [Ch17, AFM17] ← tough! Background GeoMST GeoMST2 Use lower bounds on MST weight more judiciously ← our approach Component-First Wrap-Up
Speeding This Up Introduction Background Approximation Prior Work (1 /ε )-WSPD has too many pairs ( O ( n /ε d )) Preliminaries WSPD+MST Lower Bound In Theory Build a 2-WSPD ⇒ Only O ( n ) pairs Simple+Slow Smart+Sloppy Analysis Be smarter about computing ε -approximate closest pairs? In Practice ⇒ � O ( n /ε d / 2 ) [CK95], � O ( n /ε d / 3 ) [AC14], � O ( n /ε d / 4 ) [Ch17, AFM17] ← tough! Background GeoMST GeoMST2 Use lower bounds on MST weight more judiciously ← our approach Component-First Wrap-Up
Speeding This Up Introduction Background Approximation Prior Work (1 /ε )-WSPD has too many pairs ( O ( n /ε d )) Preliminaries WSPD+MST Lower Bound In Theory Build a 2-WSPD ⇒ Only O ( n ) pairs Simple+Slow Smart+Sloppy Analysis Be smarter about computing ε -approximate closest pairs? In Practice ⇒ � O ( n /ε d / 2 ) [CK95], � O ( n /ε d / 3 ) [AC14], � O ( n /ε d / 4 ) [Ch17, AFM17] ← tough! Background GeoMST GeoMST2 Use lower bounds on MST weight more judiciously ← our approach Component-First Wrap-Up
Fast MST Lower Bound Introduction Lemma [Czumaj et al. 2005] Background Approximation Prior Work Consider a grid of side length s in R d . Let m be the Preliminaries WSPD+MST number of grid boxes containing at least one point of P . s Lower Bound Then there is a constant c (depending on d ) such that In Theory Simple+Slow wt(MST( P )) ≥ s m / c . Smart+Sloppy Analysis In Practice Background Proof: GeoMST GeoMST2 Color the grid with 2 d colors. Boxes of the same color Component-First are separated by distance ≥ s Wrap-Up Some color class has at least m / 2 d boxes The cost of connecting these boxes is Ω( s m )
Fast MST Lower Bound Introduction Lemma [Czumaj et al. 2005] Background Approximation Prior Work Consider a grid of side length s in R d . Let m be the Preliminaries WSPD+MST number of grid boxes containing at least one point of P . s Lower Bound Then there is a constant c (depending on d ) such that In Theory Simple+Slow wt(MST( P )) ≥ s m / c . Smart+Sloppy Analysis In Practice Background Proof: GeoMST GeoMST2 Color the grid with 2 d colors. Boxes of the same color Component-First are separated by distance ≥ s Wrap-Up Some color class has at least m / 2 d boxes The cost of connecting these boxes is Ω( s m )
Fast MST Lower Bound Introduction Lemma [Czumaj et al. 2005] Background Approximation Prior Work Consider a grid of side length s in R d . Let m be the Preliminaries WSPD+MST number of grid boxes containing at least one point of P . s Lower Bound Then there is a constant c (depending on d ) such that In Theory Simple+Slow wt(MST( P )) ≥ s m / c . Smart+Sloppy Analysis In Practice Background Proof: GeoMST GeoMST2 Color the grid with 2 d colors. Boxes of the same color Component-First are separated by distance ≥ s Wrap-Up Some color class has at least m / 2 d boxes The cost of connecting these boxes is Ω( s m )
Fast MST Lower Bound Introduction Lemma [Czumaj et al. 2005] Background Approximation Prior Work Consider a grid of side length s in R d . Let m be the Preliminaries WSPD+MST number of grid boxes containing at least one point of P . Lower Bound Then there is a constant c (depending on d ) such that In Theory Simple+Slow wt(MST( P )) ≥ s m / c . Smart+Sloppy Analysis In Practice Background Proof: GeoMST ≥ s GeoMST2 Color the grid with 2 d colors. Boxes of the same color Component-First are separated by distance ≥ s Wrap-Up Some color class has at least m / 2 d boxes The cost of connecting these boxes is Ω( s m )
Talk Overview Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound Preliminaries: WSPDs, MSTs, and Fast Lower Bounds In Theory Simple+Slow Theory: ε -approximate MSTs in � O ( n /ε 2 ) time (joint with Sunil Arya) Smart+Sloppy Analysis In Practice Practice: A more practical approach and implementation Background GeoMST GeoMST2 Component-First Wrap-Up
Talk Overview Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound Preliminaries: WSPDs, MSTs, and Fast Lower Bounds In Theory Simple+Slow Theory: ε -approximate MSTs in � O ( n /ε 2 ) time (joint with Sunil Arya) Smart+Sloppy Analysis In Practice Practice: A more practical approach and implementation Background GeoMST GeoMST2 Component-First Wrap-Up
Talk Overview Introduction Background Approximation Prior Work Preliminaries: WSPDs, MSTs, and Fast Lower Bounds Preliminaries WSPD+MST Theory: ε -approximate MSTs in � O ( n /ε 2 ) time (joint with Sunil Arya) Lower Bound In Theory Simple, deterministic, using standard data structures Simple+Slow Smart+Sloppy Analysis Novel amortized cost analysis In Practice Background The 1 /ε 2 factor is independent of dimension GeoMST GeoMST2 Component-First Practice: A more practical approach and implementation Wrap-Up
Simple (Slow) Algorithm B i Introduction Compute a 2-WSPD for P A i Background Approximation Each box stores a representative point Prior Work Preliminaries WSPD+MST For each WSP ( A i , B i ): Lower Bound In Theory Let s be the box size. Subdivide A i and B i until Simple+Slow the box diameter ≤ ε s Smart+Sloppy Analysis ( p i , q i ) ← closest pair of box representatives In Practice Background G ← closest pairs. Return MST( G ) GeoMST GeoMST2 Component-First Wrap-Up Slow! O ( n / ( ε d ) 2 ) = O ( n /ε 2 d ). Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.
Simple (Slow) Algorithm B i Introduction Compute a 2-WSPD for P A i Background Approximation Each box stores a representative point Prior Work Preliminaries WSPD+MST For each WSP ( A i , B i ): Lower Bound In Theory Let s be the box size. Subdivide A i and B i until Simple+Slow Smart+Sloppy the box diameter ≤ ε s Analysis ( p i , q i ) ← closest pair of box representatives In Practice Background G ← closest pairs. Return MST( G ) GeoMST GeoMST2 Component-First Wrap-Up Slow! O ( n / ( ε d ) 2 ) = O ( n /ε 2 d ). s Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.
Simple (Slow) Algorithm B i Introduction Compute a 2-WSPD for P A i Background Approximation Each box stores a representative point Prior Work Preliminaries WSPD+MST For each WSP ( A i , B i ): Lower Bound In Theory Let s be the box size. Subdivide A i and B i until Simple+Slow Smart+Sloppy the box diameter ≤ ε s Analysis ( p i , q i ) ← closest pair of box representatives In Practice Background G ← closest pairs. Return MST( G ) GeoMST GeoMST2 Component-First Wrap-Up Slow! O ( n / ( ε d ) 2 ) = O ( n /ε 2 d ). s Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.
Simple (Slow) Algorithm B i Introduction Compute a 2-WSPD for P A i Background Approximation Each box stores a representative point Prior Work Preliminaries WSPD+MST For each WSP ( A i , B i ): Lower Bound In Theory Let s be the box size. Subdivide A i and B i until Simple+Slow Smart+Sloppy the box diameter ≤ ε s Analysis ( p i , q i ) ← closest pair of box representatives In Practice Background G ← closest pairs. Return MST( G ) GeoMST GeoMST2 Component-First Wrap-Up Slow! O ( n / ( ε d ) 2 ) = O ( n /ε 2 d ). s Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.
Simple (Slow) Algorithm B i Introduction Compute a 2-WSPD for P A i Background Approximation Each box stores a representative point Prior Work Preliminaries WSPD+MST For each WSP ( A i , B i ): Lower Bound In Theory Let s be the box size. Subdivide A i and B i until Simple+Slow Smart+Sloppy the box diameter ≤ ε s Analysis ( p i , q i ) ← closest pair of box representatives In Practice Background G ← closest pairs. Return MST( G ) GeoMST GeoMST2 ≤ ε s Component-First Wrap-Up Slow! O ( n / ( ε d ) 2 ) = O ( n /ε 2 d ). s Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.
Simple (Slow) Algorithm B i Introduction Compute a 2-WSPD for P A i Background Approximation Each box stores a representative point Prior Work Preliminaries WSPD+MST For each WSP ( A i , B i ): Lower Bound In Theory Let s be the box size. Subdivide A i and B i until Simple+Slow the box diameter ≤ ε s Smart+Sloppy Analysis ( p i , q i ) ← closest pair of box representatives In Practice Background G ← closest pairs. Return MST( G ) GeoMST p i GeoMST2 Component-First Wrap-Up Slow! O ( n / ( ε d ) 2 ) = O ( n /ε 2 d ). s Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.
Simple (Slow) Algorithm B i Introduction Compute a 2-WSPD for P A i Background Approximation Each box stores a representative point Prior Work Preliminaries WSPD+MST For each WSP ( A i , B i ): Lower Bound In Theory Let s be the box size. Subdivide A i and B i until Simple+Slow the box diameter ≤ ε s Smart+Sloppy Analysis ( p i , q i ) ← closest pair of box representatives In Practice Background G ← closest pairs. Return MST( G ) GeoMST p i GeoMST2 Component-First Wrap-Up Slow! O ( n / ( ε d ) 2 ) = O ( n /ε 2 d ). s Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.
A Smarter/Sloppier Algorithm B i Introduction A i Background Approximation Compute a 2-WSPD for P Prior Work Preliminaries Each box stores a representative point WSPD+MST Lower Bound In Theory For each ( A i , B i ) approximate the closest pair: Simple+Slow Let s be the box size. Subdivide A i and B i until Smart+Sloppy Analysis either: In Practice Box diameter ≤ ε s — or — Background GeoMST The number of nonempty boxes ≥ c /ε GeoMST2 Component-First (for some constant c ) Wrap-Up ( p i , q i ) ← closest pair of box representatives G ← closest pairs. Return MST( G )
A Smarter/Sloppier Algorithm B i Introduction A i Background Approximation Compute a 2-WSPD for P Prior Work Preliminaries WSPD+MST Each box stores a representative point Lower Bound In Theory For each ( A i , B i ) approximate the closest pair: Simple+Slow Let s be the box size. Subdivide A i and B i until Smart+Sloppy Analysis either: In Practice Box diameter ≤ ε s — or — Background GeoMST The number of nonempty boxes ≥ c /ε GeoMST2 Component-First (for some constant c ) Wrap-Up s ( p i , q i ) ← closest pair of box representatives G ← closest pairs. Return MST( G )
A Smarter/Sloppier Algorithm B i Introduction A i Background Approximation Compute a 2-WSPD for P Prior Work Preliminaries WSPD+MST Each box stores a representative point Lower Bound In Theory For each ( A i , B i ) approximate the closest pair: Simple+Slow Let s be the box size. Subdivide A i and B i until Smart+Sloppy Analysis either: In Practice Box diameter ≤ ε s — or — Background GeoMST The number of nonempty boxes ≥ c /ε GeoMST2 Component-First (for some constant c ) Wrap-Up s ( p i , q i ) ← closest pair of box representatives G ← closest pairs. Return MST( G )
A Smarter/Sloppier Algorithm B i Introduction A i Background Approximation Compute a 2-WSPD for P Prior Work Preliminaries WSPD+MST Each box stores a representative point Lower Bound In Theory For each ( A i , B i ) approximate the closest pair: Simple+Slow Let s be the box size. Subdivide A i and B i until Smart+Sloppy Analysis either: In Practice Box diameter ≤ ε s — or — Background GeoMST The number of nonempty boxes ≥ c /ε GeoMST2 Component-First (for some constant c ) Wrap-Up s ( p i , q i ) ← closest pair of box representatives G ← closest pairs. Return MST( G )
A Smarter/Sloppier Algorithm B i Introduction A i Background Approximation Compute a 2-WSPD for P Prior Work Preliminaries WSPD+MST Each box stores a representative point Lower Bound In Theory For each ( A i , B i ) approximate the closest pair: Simple+Slow Let s be the box size. Subdivide A i and B i until Smart+Sloppy Analysis either: In Practice Box diameter ≤ ε s — or — Background GeoMST The number of nonempty boxes ≥ c /ε GeoMST2 ≤ ε s Component-First (for some constant c ) Wrap-Up s ( p i , q i ) ← closest pair of box representatives G ← closest pairs. Return MST( G )
A Smarter/Sloppier Algorithm B i Introduction A i Background Approximation Compute a 2-WSPD for P Prior Work Preliminaries WSPD+MST Each box stores a representative point Lower Bound In Theory For each ( A i , B i ) approximate the closest pair: ≥ c /ε boxes Simple+Slow Let s be the box size. Subdivide A i and B i until Smart+Sloppy Analysis either: In Practice Box diameter ≤ ε s — or — Background GeoMST The number of nonempty boxes ≥ c /ε GeoMST2 Component-First (for some constant c ) Wrap-Up s ( p i , q i ) ← closest pair of box representatives G ← closest pairs. Return MST( G )
A Smarter/Sloppier Algorithm B i Introduction A i Background Approximation Compute a 2-WSPD for P Prior Work Preliminaries Each box stores a representative point WSPD+MST Lower Bound In Theory For each ( A i , B i ) approximate the closest pair: Simple+Slow Let s be the box size. Subdivide A i and B i until Smart+Sloppy Analysis either: In Practice Box diameter ≤ ε s — or — Background GeoMST p i The number of nonempty boxes ≥ c /ε GeoMST2 Component-First (for some constant c ) Wrap-Up s ( p i , q i ) ← closest pair of box representatives G ← closest pairs. Return MST( G )
Approximation Analysis (First Attempt) Introduction Case 1: Box diameters ≤ ε s : Background Approximation Absolute error ≤ 2 ε s � ε · dist( A i , B i ) Prior Work Preliminaries Relative error � ε WSPD+MST Lower Bound In Theory Case 2: Number of nonempty boxes ≥ c /ε : Simple+Slow Smart+Sloppy Let δ be the diameters of the boxes Analysis In Practice Absolute error � δ Background GeoMST By Lower-Bound Lemma, weight of MST GeoMST2 Component-First restricted to A i or B i is ≥ δ ( c /ε ) / c = δ/ε Wrap-Up Relative error is � ε (amortized over the box) . . . hey, aren’t you multiply charging?
Approximation Analysis (First Attempt) Introduction Case 1: Box diameters ≤ ε s : B i Background Approximation ≤ εs Absolute error ≤ 2 ε s � ε · dist( A i , B i ) Prior Work Preliminaries A i Relative error � ε WSPD+MST s Lower Bound ≥ s In Theory Case 2: Number of nonempty boxes ≥ c /ε : Simple+Slow s Smart+Sloppy Let δ be the diameters of the boxes Analysis In Practice Absolute error � δ Background GeoMST By Lower-Bound Lemma, weight of MST GeoMST2 Component-First restricted to A i or B i is ≥ δ ( c /ε ) / c = δ/ε Wrap-Up Relative error is � ε (amortized over the box) . . . hey, aren’t you multiply charging?
Approximation Analysis (First Attempt) Introduction Case 1: Box diameters ≤ ε s : B i Background Approximation ≤ εs Absolute error ≤ 2 ε s � ε · dist( A i , B i ) Prior Work Preliminaries A i Relative error � ε WSPD+MST s Lower Bound ≥ s In Theory Case 2: Number of nonempty boxes ≥ c /ε : Simple+Slow s Smart+Sloppy Let δ be the diameters of the boxes Analysis In Practice Absolute error � δ Background GeoMST B i By Lower-Bound Lemma, weight of MST δ GeoMST2 Component-First restricted to A i or B i is ≥ δ ( c /ε ) / c = δ/ε A i Wrap-Up Relative error is � ε (amortized over the box) . . . hey, aren’t you multiply charging?
Approximation Analysis (First Attempt) Introduction Case 1: Box diameters ≤ ε s : B i Background Approximation ≤ εs Absolute error ≤ 2 ε s � ε · dist( A i , B i ) Prior Work Preliminaries A i Relative error � ε WSPD+MST s Lower Bound ≥ s In Theory Case 2: Number of nonempty boxes ≥ c /ε : Simple+Slow s Smart+Sloppy Let δ be the diameters of the boxes Analysis In Practice Absolute error � δ Background GeoMST B i By Lower-Bound Lemma, weight of MST δ GeoMST2 Component-First restricted to A i or B i is ≥ δ ( c /ε ) / c = δ/ε A i Wrap-Up Relative error is � ε (amortized over the box) weight ≥ δ/ε . . . hey, aren’t you multiply charging?
Approximation Analysis (First Attempt) Introduction Case 1: Box diameters ≤ ε s : B i Background Approximation ≤ εs Absolute error ≤ 2 ε s � ε · dist( A i , B i ) Prior Work Preliminaries A i Relative error � ε WSPD+MST s Lower Bound ≥ s In Theory Case 2: Number of nonempty boxes ≥ c /ε : Simple+Slow s Smart+Sloppy Let δ be the diameters of the boxes Analysis In Practice Absolute error � δ Background GeoMST B i By Lower-Bound Lemma, weight of MST δ GeoMST2 Component-First restricted to A i or B i is ≥ δ ( c /ε ) / c = δ/ε A i Wrap-Up Relative error is � ε (amortized over the box) weight ≥ δ/ε . . . hey, aren’t you multiply charging?
Approximation Analysis (Finer Points) Introduction We charge the same MST edge multiple times: Background Approximation Prior Work Preliminaries Multiple WSPs share the same quadtree box WSPD+MST � √ � d = O (1) WSPs Lower Bound — each box is in O d A i In Theory Simple+Slow → increase c by this constant Smart+Sloppy Analysis Multiple tree levels charge the same edge In Practice Background → further increase c by tree height � � GeoMST log n GeoMST2 — × O [Arora (1998)] ε Component-First Wrap-Up Reducing the log factor — A more refined analysis reduces the log factor to � � log 1 O ε
Approximation Analysis (Finer Points) Introduction We charge the same MST edge multiple times: Background Approximation Prior Work Preliminaries Multiple WSPs share the same quadtree box WSPD+MST � √ � d = O (1) WSPs Lower Bound — each box is in O d A i In Theory Simple+Slow → increase c by this constant Smart+Sloppy Analysis Multiple tree levels charge the same edge In Practice Background → further increase c by tree height � � GeoMST log n GeoMST2 — × O [Arora (1998)] ε Component-First Wrap-Up Reducing the log factor — A more refined analysis reduces the log factor to � � log 1 O ε
Approximation Analysis (Finer Points) Introduction We charge the same MST edge multiple times: Background Approximation Prior Work Preliminaries Multiple WSPs share the same quadtree box WSPD+MST � √ � d = O (1) WSPs Lower Bound — each box is in O d A i In Theory Simple+Slow → increase c by this constant Smart+Sloppy Analysis Multiple tree levels charge the same edge In Practice Background → further increase c by tree height � � GeoMST log n GeoMST2 — × O [Arora (1998)] ε Component-First Wrap-Up Reducing the log factor — A more refined analysis reduces the log factor to � � log 1 O ε
Execution Time Introduction Background Build the quadtree and WSPD: O ( n log n ) Approximation Prior Work Preliminaries WSPD+MST Find the approximate closest pair for each WSP: Lower Bound O ( n ) WSPs In Theory Simple+Slow Smart+Sloppy O ( 1 ε log 1 ε ) boxes per WSP Analysis In Practice O (( 1 ε log 1 ε ) 2 ) representative pairs per WSP Background GeoMST GeoMST2 Compute the MST of G : O ( n log n ) Component-First Wrap-Up � � n log n + ( 1 ε log 1 ε ) 2 n = � O ( n /ε 2 ) Total time: O
Execution Time Introduction Background Build the quadtree and WSPD: O ( n log n ) Approximation Prior Work Preliminaries WSPD+MST Find the approximate closest pair for each WSP: Lower Bound O ( n ) WSPs In Theory Simple+Slow Smart+Sloppy O ( 1 ε log 1 ε ) boxes per WSP Analysis In Practice O (( 1 ε log 1 ε ) 2 ) representative pairs per WSP Background GeoMST GeoMST2 Compute the MST of G : O ( n log n ) Component-First Wrap-Up � � n log n + ( 1 ε log 1 ε ) 2 n = � O ( n /ε 2 ) Total time: O
Execution Time Introduction Background Build the quadtree and WSPD: O ( n log n ) Approximation Prior Work Preliminaries WSPD+MST Find the approximate closest pair for each WSP: Lower Bound O ( n ) WSPs In Theory Simple+Slow Smart+Sloppy O ( 1 ε log 1 ε ) boxes per WSP Analysis In Practice O (( 1 ε log 1 ε ) 2 ) representative pairs per WSP Background GeoMST GeoMST2 Compute the MST of G : O ( n log n ) Component-First Wrap-Up � � n log n + ( 1 ε log 1 ε ) 2 n = � O ( n /ε 2 ) Total time: O
Execution Time Introduction Background Build the quadtree and WSPD: O ( n log n ) Approximation Prior Work Preliminaries WSPD+MST Find the approximate closest pair for each WSP: Lower Bound O ( n ) WSPs In Theory Simple+Slow Smart+Sloppy O ( 1 ε log 1 ε ) boxes per WSP Analysis In Practice O (( 1 ε log 1 ε ) 2 ) representative pairs per WSP Background GeoMST GeoMST2 Compute the MST of G : O ( n log n ) Component-First Wrap-Up � � n log n + ( 1 ε log 1 ε ) 2 n = � O ( n /ε 2 ) Total time: O
Execution Time Introduction Background Build the quadtree and WSPD: O ( n log n ) Approximation Prior Work Preliminaries WSPD+MST Find the approximate closest pair for each WSP: Lower Bound O ( n ) WSPs In Theory Simple+Slow Smart+Sloppy O ( 1 ε log 1 ε ) boxes per WSP Analysis In Practice O (( 1 ε log 1 ε ) 2 ) representative pairs per WSP Background GeoMST GeoMST2 Compute the MST of G : O ( n log n ) Component-First Wrap-Up � � n log n + ( 1 ε log 1 ε ) 2 n = � O ( n /ε 2 ) Total time: O
Execution Time Introduction Background Build the quadtree and WSPD: O ( n log n ) Approximation Prior Work Preliminaries WSPD+MST Find the approximate closest pair for each WSP: Lower Bound O ( n ) WSPs In Theory Simple+Slow Smart+Sloppy O ( 1 ε log 1 ε ) boxes per WSP Analysis In Practice O (( 1 ε log 1 ε ) 2 ) representative pairs per WSP Background GeoMST GeoMST2 Compute the MST of G : O ( n log n ) Component-First Wrap-Up � � n log n + ( 1 ε log 1 ε ) 2 n = � O ( n /ε 2 ) Total time: O
Talk Overview Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound Preliminaries: WSPDs, MSTs, and Fast Lower Bounds In Theory Simple+Slow Theory: ε -approximate MSTs in � O ( n /ε 2 ) time Smart+Sloppy Analysis In Practice Practice: A more practical approach and implementation Background GeoMST GeoMST2 Component-First Wrap-Up
Talk Overview Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound Preliminaries: WSPDs, MSTs, and Fast Lower Bounds In Theory Simple+Slow Theory: ε -approximate MSTs in � O ( n /ε 2 ) time Smart+Sloppy Analysis In Practice Practice: A more practical approach and implementation Background GeoMST GeoMST2 Component-First Wrap-Up
Practical Solutions Introduction Background Approximation Practical solutions: (for exact MSTs) Prior Work Preliminaries WSPD+MST Bentley and Friedman (1978): kd-trees + Prim Lower Bound In Theory Simple+Slow Narasimhan and Zachariasen (2001): WSPDs + Kruskal: GeoMST, GeoMST2 Smart+Sloppy Analysis Chatterjee, Connor, and Kumar (2010): WSPDs + Kruskal: GeoFilterKruskal In Practice Background March, Ram, Gray (2010): WSPD + Bor˚ uvka GeoMST GeoMST2 Component-First Here: Adding approximation (Joint with Phong Dinh and Jerry Tan) Wrap-Up
GeoMST (Narasimhan and Zachariasen (2001)) GeoMST( P ): Introduction Background Ψ ← a 2-WSPD for P Approximation Prior Work For each ( A i , B i ) ∈ Ψ, compute the bichromatic Preliminaries WSPD+MST closest pair, BCP( A i , B i ) Lower Bound In Theory Run Kruskal on the resulting edges Simple+Slow Smart+Sloppy Analysis BCP( A i , B i ): In Practice Background If | A i | = | B i | = 1 return this pair GeoMST GeoMST2 Component-First Else, split the larger cell (kd-tree children) A ′ i , A ′′ i Wrap-Up Compute δ ′ ← BCP( A ′ i , B i ) (closer child) δ ′′ ← BCP( A ′ If (cell-dist( A ′′ i , B i ) < δ ′ / (1 + ε )) i , B i ) return min( δ ′ , δ ′′ )
GeoMST (Narasimhan and Zachariasen (2001)) GeoMST( P ): Introduction Background Ψ ← a 2-WSPD for P Approximation Prior Work For each ( A i , B i ) ∈ Ψ, compute the bichromatic Preliminaries WSPD+MST A i closest pair, BCP( A i , B i ) Lower Bound In Theory Run Kruskal on the resulting edges Simple+Slow Smart+Sloppy Analysis BCP( A i , B i ): In Practice B i Background If | A i | = | B i | = 1 return this pair GeoMST GeoMST2 Component-First Else, split the larger cell (kd-tree children) A ′ i , A ′′ i Wrap-Up Compute δ ′ ← BCP( A ′ i , B i ) (closer child) δ ′′ ← BCP( A ′ If (cell-dist( A ′′ i , B i ) < δ ′ / (1 + ε )) i , B i ) return min( δ ′ , δ ′′ )
GeoMST (Narasimhan and Zachariasen (2001)) GeoMST( P ): Introduction Background Ψ ← a 2-WSPD for P Approximation Prior Work For each ( A i , B i ) ∈ Ψ, compute the bichromatic Preliminaries WSPD+MST A i closest pair, BCP( A i , B i ) Lower Bound In Theory Run Kruskal on the resulting edges Simple+Slow Smart+Sloppy Analysis BCP( A i , B i ): In Practice B i Background If | A i | = | B i | = 1 return this pair GeoMST GeoMST2 Component-First Else, split the larger cell (kd-tree children) A ′ i , A ′′ i Wrap-Up Compute δ ′ ← BCP( A ′ i , B i ) (closer child) δ ′′ ← BCP( A ′ If (cell-dist( A ′′ i , B i ) < δ ′ / (1 + ε )) i , B i ) return min( δ ′ , δ ′′ )
GeoMST (Narasimhan and Zachariasen (2001)) GeoMST( P ): Introduction Background Ψ ← a 2-WSPD for P Approximation Prior Work For each ( A i , B i ) ∈ Ψ, compute the bichromatic Preliminaries A ′′ A ′ WSPD+MST i i closest pair, BCP( A i , B i ) Lower Bound In Theory Run Kruskal on the resulting edges Simple+Slow Smart+Sloppy Analysis BCP( A i , B i ): In Practice B i Background If | A i | = | B i | = 1 return this pair GeoMST GeoMST2 Component-First Else, split the larger cell (kd-tree children) A ′ i , A ′′ i Wrap-Up Compute δ ′ ← BCP( A ′ i , B i ) (closer child) δ ′′ ← BCP( A ′ If (cell-dist( A ′′ i , B i ) < δ ′ / (1 + ε )) i , B i ) return min( δ ′ , δ ′′ )
GeoMST (Narasimhan and Zachariasen (2001)) GeoMST( P ): Introduction Background Ψ ← a 2-WSPD for P Approximation Prior Work For each ( A i , B i ) ∈ Ψ, compute the bichromatic Preliminaries A ′′ A ′ WSPD+MST i i closest pair, BCP( A i , B i ) Lower Bound In Theory Run Kruskal on the resulting edges Simple+Slow Smart+Sloppy Analysis δ ′ BCP( A i , B i ): In Practice B i Background If | A i | = | B i | = 1 return this pair GeoMST GeoMST2 Component-First Else, split the larger cell (kd-tree children) A ′ i , A ′′ i Wrap-Up Compute δ ′ ← BCP( A ′ i , B i ) (closer child) δ ′′ ← BCP( A ′ If (cell-dist( A ′′ i , B i ) < δ ′ / (1 + ε )) i , B i ) return min( δ ′ , δ ′′ )
GeoMST (Narasimhan and Zachariasen (2001)) GeoMST( P ): Introduction Background Ψ ← a 2-WSPD for P Approximation Prior Work For each ( A i , B i ) ∈ Ψ, compute the bichromatic Preliminaries A ′′ A ′ WSPD+MST i i closest pair, BCP( A i , B i ) Lower Bound In Theory Run Kruskal on the resulting edges Simple+Slow Smart+Sloppy Analysis δ ′ BCP( A i , B i ): In Practice B i Background If | A i | = | B i | = 1 return this pair GeoMST GeoMST2 Component-First Else, split the larger cell (kd-tree children) A ′ i , A ′′ i Wrap-Up Compute δ ′ ← BCP( A ′ i , B i ) (closer child) δ ′′ ← BCP( A ′ If (cell-dist( A ′′ i , B i ) < δ ′ / (1 + ε )) i , B i ) return min( δ ′ , δ ′′ )
GeoMST (Narasimhan and Zachariasen (2001)) GeoMST( P ): Introduction Background Ψ ← a 2-WSPD for P Approximation Prior Work For each ( A i , B i ) ∈ Ψ, compute the bichromatic Preliminaries A ′′ A ′ WSPD+MST i i closest pair, BCP( A i , B i ) Lower Bound In Theory Run Kruskal on the resulting edges Simple+Slow Smart+Sloppy Analysis δ ′ BCP( A i , B i ): In Practice B i Background If | A i | = | B i | = 1 return this pair GeoMST GeoMST2 Component-First Else, split the larger cell (kd-tree children) A ′ i , A ′′ i Wrap-Up Compute δ ′ ← BCP( A ′ i , B i ) (closer child) δ ′′ ← BCP( A ′ If (cell-dist( A ′′ i , B i ) < δ ′ / (1 + ε )) i , B i ) return min( δ ′ , δ ′′ )
GeoMST (Narasimhan and Zachariasen (2001)) GeoMST( P ): Introduction Background Ψ ← a 2-WSPD for P Approximation Prior Work For each ( A i , B i ) ∈ Ψ, compute the bichromatic Preliminaries A ′′ A ′ WSPD+MST i i closest pair, BCP( A i , B i ) Lower Bound In Theory Run Kruskal on the resulting edges Simple+Slow Smart+Sloppy Analysis BCP( A i , B i ): δ ′ In Practice δ ′′ B i Background If | A i | = | B i | = 1 return this pair GeoMST GeoMST2 Component-First Else, split the larger cell (kd-tree children) A ′ i , A ′′ i Wrap-Up Compute δ ′ ← BCP( A ′ i , B i ) (closer child) δ ′′ ← BCP( A ′ If (cell-dist( A ′′ i , B i ) < δ ′ / (1 + ε )) i , B i ) return min( δ ′ , δ ′′ )
The Problem with WSPDs Practical Limitation — Too many WSPs in higher dimensions Introduction Background Approximation Prior Work Preliminaries Uniform Gaussian Clusters Fractal WSPD+MST Lower Bound 1 1 1 In Theory Simple+Slow Smart+Sloppy 0.5 0.5 0.5 Analysis In Practice Background 0 0 0 GeoMST GeoMST2 Component-First -0.5 -0.5 -0.5 Wrap-Up -1 -1 -1 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 Point set ( n = 1000)
The Problem with WSPDs Practical Limitation — Too many WSPs in higher dimensions Introduction Background Approximation Prior Work Preliminaries Uniform Gaussian Clusters Fractal WSPD+MST Lower Bound 1 1 1 In Theory Simple+Slow Smart+Sloppy 0.5 0.5 0.5 Analysis In Practice Background 0 0 0 GeoMST GeoMST2 Component-First -0.5 -0.5 -0.5 Wrap-Up -1 -1 -1 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 MST ( n = 1000)
The Problem with WSPDs Practical Limitation — Too many WSPs in higher dimensions Introduction Background Approximation Prior Work Preliminaries Uniform Gaussian Clusters Fractal WSPD+MST Lower Bound 1 1 1 In Theory Simple+Slow Smart+Sloppy 0.5 0.5 0.5 Analysis In Practice Background 0 0 0 GeoMST GeoMST2 Component-First -0.5 -0.5 -0.5 Wrap-Up -1 -1 -1 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 WSPs joining reps ( n = 1000)
The Problem with WSPDs Introduction Background Practical Limitation — Too many WSPs in higher dimensions Approximation Prior Work Preliminaries WSPD+MST Uniform Gaussian Clusters Fractal Lower Bound In Theory 1000 1000 1000 Simple+Slow Smart+Sloppy Analysis 2-WSPs / n 2-WSPs / n 2-WSPs / n 100 100 100 In Practice Background 10 10 10 GeoMST GeoMST2 Component-First 1 1 1 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 Wrap-Up Dimension Dimension Dimension Number of 2-WSPs vs. Dimension ( n = 1000)
Recommend
More recommend