approximation algorithms for geometric proximity problems
play

Approximation Algorithms for Geometric Proximity Problems: - PowerPoint PPT Presentation

Approximation Algorithms for Geometric Proximity Problems: Introduction Background Approximation Part I: Approximating Euclidean MSTs Prior Work Preliminaries WSPD+MST Lower Bound In Theory David M. Mount Simple+Slow Smart+Sloppy


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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 /ε ))

  6. 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 /ε ))

  7. 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 /ε ))

  8. 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 /ε ))

  9. 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 /ε ))

  10. 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 /ε ))

  11. 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 /ε ))

  12. 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 /ε ))

  13. 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 /ε ))

  14. 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 /ε ))

  15. 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

  16. 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

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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

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

  34. 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 )

  35. 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 )

  36. 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 )

  37. 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

  38. 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

  39. 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

  40. 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.

  41. 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.

  42. 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.

  43. 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.

  44. 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.

  45. 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.

  46. 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.

  47. 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 )

  48. 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 )

  49. 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 )

  50. 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 )

  51. 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 )

  52. 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 )

  53. 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 )

  54. 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?

  55. 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?

  56. 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?

  57. 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?

  58. 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?

  59. 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 ε

  60. 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 ε

  61. 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 ε

  62. 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

  63. 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

  64. 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

  65. 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

  66. 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

  67. 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

  68. 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

  69. 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

  70. 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

  71. 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( δ ′ , δ ′′ )

  72. 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( δ ′ , δ ′′ )

  73. 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( δ ′ , δ ′′ )

  74. 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( δ ′ , δ ′′ )

  75. 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( δ ′ , δ ′′ )

  76. 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( δ ′ , δ ′′ )

  77. 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( δ ′ , δ ′′ )

  78. 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( δ ′ , δ ′′ )

  79. 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)

  80. 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)

  81. 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)

  82. 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