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)

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

Recommend


More recommend