Approximation Algorithms for Geometric Proximity Problems: - - PowerPoint PPT Presentation

approximation algorithms for geometric proximity problems
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Approximation Algorithms for Geometric Proximity Problems: Part I: Approximating Euclidean MSTs David M. Mount

Department of Computer Science & Institute for Advanced Computer Studies University of Maryland, College Park Joint with: Sunil Arya, Phong Dinh, Jerry Tan HMI Workshop 2018

slide-2
SLIDE 2

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Euclidean Minimum Spanning Tree

Euclidean MST Given a set P of points in space, compute the minimum spanning tree, where the edge weights are the distances Assumptions: Points in Rd, where d is constant Euclidean distance (generalizes to Lp distance)

slide-3
SLIDE 3

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Euclidean Minimum Spanning Tree

Euclidean MST Given a set P of points in space, compute the minimum spanning tree, where the edge weights are the distances Assumptions: Points in Rd, where d is constant Euclidean distance (generalizes to Lp distance)

slide-4
SLIDE 4

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Euclidean Minimum Spanning Tree

Euclidean MST Given a set P of points in space, compute the minimum spanning tree, where the edge weights are the distances Assumptions: Points in Rd, where d is constant Euclidean distance (generalizes to Lp distance)

slide-5
SLIDE 5

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Exact vs. Approximate MST

Exact in Rd: Naive: O(n2) — Run Kruskal on complete graph Geometry helps, but not by much: Yao (1982) O(n2− 1

2d )

Agarwal et al. (1991) O(n2− 4

d )

Better performance through approximation? Approximate MST Return a spanning tree of weight at most (1 + ε) · wt(MST(P)).

slide-6
SLIDE 6

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Exact vs. Approximate MST

Exact in Rd: Naive: O(n2) — Run Kruskal on complete graph Geometry helps, but not by much: Yao (1982) O(n2− 1

2d )

Agarwal et al. (1991) O(n2− 4

d )

Better performance through approximation? Approximate MST Return a spanning tree of weight at most (1 + ε) · wt(MST(P)).

Exact Approximate

slide-7
SLIDE 7

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Exact vs. Approximate MST

Exact in Rd: Naive: O(n2) — Run Kruskal on complete graph Geometry helps, but not by much: Yao (1982) O(n2− 1

2d )

Agarwal et al. (1991) O(n2− 4

d )

Better performance through approximation? Approximate MST Return a spanning tree of weight at most (1 + ε) · wt(MST(P)).

Exact Approximate

slide-8
SLIDE 8

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Prior Work

Exact in Rd: Agarwal et al. (1991): O(n2− 4

d )

ε-Approximate in Rd: (Constant d. Ignoring log factors) Vaidya (1991)

  • O(n/εd)

quadtrees Callahan and Kosaraju (1995)

  • O(n/εd/2)

WSPDs Arya and Chan (2014)

  • O(n/εd/3)

DVDs Arya, Fonseca, Mount (2017)

  • O(n/εd/4)

Macbeath regions Chan (2017)

  • O(n/εd/4)

Polynomial method Weight approximation in sublinear time: Chazelle et al. (2005), Czumaj et al. (2005), Czumaj and Sohler (2009)

slide-9
SLIDE 9

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Talk Overview

Preliminaries: WSPDs, MSTs, and Fast Lower Bounds Theory: ε-approximate MSTs in O(n/ε2) time Practice: A more practical approach and implementation

slide-10
SLIDE 10

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Talk Overview

Preliminaries: WSPDs, MSTs, and Fast Lower Bounds Theory: ε-approximate MSTs in O(n/ε2) time Practice: A more practical approach and implementation

slide-11
SLIDE 11

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Preliminaries - Well-Separated Pairs

WSPDs - Basic Facts: Let P ⊂ Rd, |P| = n A and B are s-well separated if they can be enclosed within balls of radius r separated by distance at least s r An s-WSPD of P is a set of s-well separated pairs {{Ai, Bi}}k

i=1 that covers all the pairs of P

Callahan and Kosaraju (1995): Can construct an s-WSPD

  • f size k = O((s

√ d)dn) in time O(k + n log n) ≥ sr r r A B

slide-12
SLIDE 12

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Preliminaries - Well-Separated Pairs

WSPDs - Basic Facts: Let P ⊂ Rd, |P| = n A and B are s-well separated if they can be enclosed within balls of radius r separated by distance at least s r An s-WSPD of P is a set of s-well separated pairs {{Ai, Bi}}k

i=1 that covers all the pairs of P

Callahan and Kosaraju (1995): Can construct an s-WSPD

  • f size k = O((s

√ d)dn) in time O(k + n log n)

slide-13
SLIDE 13

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Preliminaries - Well-Separated Pairs

WSPDs - Basic Facts: Let P ⊂ Rd, |P| = n A and B are s-well separated if they can be enclosed within balls of radius r separated by distance at least s r An s-WSPD of P is a set of s-well separated pairs {{Ai, Bi}}k

i=1 that covers all the pairs of P

Callahan and Kosaraju (1995): Can construct an s-WSPD

  • f size k = O((s

√ d)dn) in time O(k + n log n)

slide-14
SLIDE 14

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Well-Separated Pairs

WSPDs - More Facts: Each well-separated pair is represented by a pair of nodes {u, v} in a quadtree Let Pu and Pv denote the associated point sets Each well-separated pair also stores a pair of representative points, pu ∈ Pu and pv ∈ Pv

slide-15
SLIDE 15

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Well-Separated Pairs

WSPDs - More Facts: Each well-separated pair is represented by a pair of nodes {u, v} in a quadtree Let Pu and Pv denote the associated point sets Each well-separated pair also stores a pair of representative points, pu ∈ Pu and pv ∈ Pv u v u v

slide-16
SLIDE 16

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Well-Separated Pairs

WSPDs - More Facts: Each well-separated pair is represented by a pair of nodes {u, v} in a quadtree Let Pu and Pv denote the associated point sets Each well-separated pair also stores a pair of representative points, pu ∈ Pu and pv ∈ Pv u v u v Pu Pv

slide-17
SLIDE 17

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Well-Separated Pairs

WSPDs - More Facts: Each well-separated pair is represented by a pair of nodes {u, v} in a quadtree Let Pu and Pv denote the associated point sets Each well-separated pair also stores a pair of representative points, pu ∈ Pu and pv ∈ Pv pv pu Pu Pv

slide-18
SLIDE 18

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Useful Observations (Callahan and Kosaraju (1995))

A 2-WSPD of size O(n) can be constructed in time O(n log n) Each pair of a 2-WSPD contributes at most one edge to the MST Given a 2-WSPD for P, form a graph G from the closest pair from each (Ai, Bi) |G| = O(n) MST(G) ⇒ EMST(P) ε-approximate closest pairs yield an ε-MST Ai Bi

slide-19
SLIDE 19

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Useful Observations (Callahan and Kosaraju (1995))

A 2-WSPD of size O(n) can be constructed in time O(n log n) Each pair of a 2-WSPD contributes at most one edge to the MST Given a 2-WSPD for P, form a graph G from the closest pair from each (Ai, Bi) |G| = O(n) MST(G) ⇒ EMST(P) ε-approximate closest pairs yield an ε-MST Ai Bi

slide-20
SLIDE 20

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Useful Observations (Callahan and Kosaraju (1995))

A 2-WSPD of size O(n) can be constructed in time O(n log n) Each pair of a 2-WSPD contributes at most one edge to the MST Given a 2-WSPD for P, form a graph G from the closest pair from each (Ai, Bi) |G| = O(n) MST(G) ⇒ EMST(P) ε-approximate closest pairs yield an ε-MST Ai Bi Ai Bi

slide-21
SLIDE 21

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Useful Observations (Callahan and Kosaraju (1995))

A 2-WSPD of size O(n) can be constructed in time O(n log n) Each pair of a 2-WSPD contributes at most one edge to the MST Given a 2-WSPD for P, form a graph G from the closest pair from each (Ai, Bi) |G| = O(n) MST(G) ⇒ EMST(P) ε-approximate closest pairs yield an ε-MST Ai Bi Ai Bi

slide-22
SLIDE 22

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Useful Observations (Callahan and Kosaraju (1995))

A 2-WSPD of size O(n) can be constructed in time O(n log n) Each pair of a 2-WSPD contributes at most one edge to the MST Given a 2-WSPD for P, form a graph G from the closest pair from each (Ai, Bi) |G| = O(n) MST(G) ⇒ EMST(P) ε-approximate closest pairs yield an ε-MST Ai Bi Ai Bi

slide-23
SLIDE 23

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple WSPD-Based Algorithm

ε-Approximate MST Algorithm: Compute an s-WSPD, for s = 4(2 + ε)/ε For each WSP {u, v}, add {pu, pv} to G Compute MST(G) and return Running time: Dominated by MST time: O((n/εd) log(n/ε))

slide-24
SLIDE 24

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple WSPD-Based Algorithm

ε-Approximate MST Algorithm: Compute an s-WSPD, for s = 4(2 + ε)/ε For each WSP {u, v}, add {pu, pv} to G Compute MST(G) and return Running time: Dominated by MST time: O((n/εd) log(n/ε))

slide-25
SLIDE 25

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple WSPD-Based Algorithm

ε-Approximate MST Algorithm: Compute an s-WSPD, for s = 4(2 + ε)/ε For each WSP {u, v}, add {pu, pv} to G Compute MST(G) and return Running time: Dominated by MST time: O((n/εd) log(n/ε))

slide-26
SLIDE 26

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple WSPD-Based Algorithm

ε-Approximate MST Algorithm: Compute an s-WSPD, for s = 4(2 + ε)/ε For each WSP {u, v}, add {pu, pv} to G Compute MST(G) and return Running time: Dominated by MST time: O((n/εd) log(n/ε))

slide-27
SLIDE 27

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple WSPD-Based Algorithm

ε-Approximate MST Algorithm: Compute an s-WSPD, for s = 4(2 + ε)/ε For each WSP {u, v}, add {pu, pv} to G Compute MST(G) and return Running time: Dominated by MST time: O((n/εd) log(n/ε))

slide-28
SLIDE 28

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple WSPD-Based Algorithm

ε-Approximate MST Algorithm: Compute an s-WSPD, for s = 4(2 + ε)/ε For each WSP {u, v}, add {pu, pv} to G Compute MST(G) and return Running time: Dominated by MST time: O((n/εd) log(n/ε))

slide-29
SLIDE 29

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple WSPD-Based Algorithm

ε-Approximate MST Algorithm: Compute an s-WSPD, for s = 4(2 + ε)/ε For each WSP {u, v}, add {pu, pv} to G Compute MST(G) and return Running time: Dominated by MST time: O((n/εd) log(n/ε))

slide-30
SLIDE 30

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple WSPD-Based Algorithm

ε-Approximate MST Algorithm: Compute an s-WSPD, for s = 4(2 + ε)/ε For each WSP {u, v}, add {pu, pv} to G Compute MST(G) and return Running time: Dominated by MST time: O((n/εd) log(n/ε)) G

slide-31
SLIDE 31

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple WSPD-Based Algorithm

ε-Approximate MST Algorithm: Compute an s-WSPD, for s = 4(2 + ε)/ε For each WSP {u, v}, add {pu, pv} to G Compute MST(G) and return Running time: Dominated by MST time: O((n/εd) log(n/ε)) MST(G) G

slide-32
SLIDE 32

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple WSPD-Based Algorithm

ε-Approximate MST Algorithm: Compute an s-WSPD, for s = 4(2 + ε)/ε For each WSP {u, v}, add {pu, pv} to G Compute MST(G) and return Running time: Dominated by MST time: O((n/εd) log(n/ε)) MST(G) G

slide-33
SLIDE 33

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Correctness of the Simple WSPD-Based Algorithm

Correctness: Fact: G is a (1 + ε)-spanner for P ⇔ Each p, q ∈ P joined by a path of length ≤ (1 + ε)pq. Replace each edge of EMST(P) with its spanner path Total weight increases by at most (1 + ε) Result G ′ spans P and has weight ≤ (1 + ε)EMST(P) The weight of MST(G) can be no larger EMST(P) G

slide-34
SLIDE 34

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Correctness of the Simple WSPD-Based Algorithm

Correctness: Fact: G is a (1 + ε)-spanner for P ⇔ Each p, q ∈ P joined by a path of length ≤ (1 + ε)pq. Replace each edge of EMST(P) with its spanner path Total weight increases by at most (1 + ε) Result G ′ spans P and has weight ≤ (1 + ε)EMST(P) The weight of MST(G) can be no larger EMST(P) G

slide-35
SLIDE 35

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Correctness of the Simple WSPD-Based Algorithm

Correctness: Fact: G is a (1 + ε)-spanner for P ⇔ Each p, q ∈ P joined by a path of length ≤ (1 + ε)pq. Replace each edge of EMST(P) with its spanner path Total weight increases by at most (1 + ε) Result G ′ spans P and has weight ≤ (1 + ε)EMST(P) The weight of MST(G) can be no larger EMST(P)

slide-36
SLIDE 36

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Correctness of the Simple WSPD-Based Algorithm

Correctness: Fact: G is a (1 + ε)-spanner for P ⇔ Each p, q ∈ P joined by a path of length ≤ (1 + ε)pq. Replace each edge of EMST(P) with its spanner path Total weight increases by at most (1 + ε) Result G ′ spans P and has weight ≤ (1 + ε)EMST(P) The weight of MST(G) can be no larger EMST(P)

slide-37
SLIDE 37

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Correctness of the Simple WSPD-Based Algorithm

Correctness: Fact: G is a (1 + ε)-spanner for P ⇔ Each p, q ∈ P joined by a path of length ≤ (1 + ε)pq. Replace each edge of EMST(P) with its spanner path Total weight increases by at most (1 + ε) Result G ′ spans P and has weight ≤ (1 + ε)EMST(P) The weight of MST(G) can be no larger EMST(P)

slide-38
SLIDE 38

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Correctness of the Simple WSPD-Based Algorithm

Correctness: Fact: G is a (1 + ε)-spanner for P ⇔ Each p, q ∈ P joined by a path of length ≤ (1 + ε)pq. Replace each edge of EMST(P) with its spanner path Total weight increases by at most (1 + ε) Result G ′ spans P and has weight ≤ (1 + ε)EMST(P) The weight of MST(G) can be no larger EMST(P)

slide-39
SLIDE 39

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Correctness of the Simple WSPD-Based Algorithm

Correctness: Fact: G is a (1 + ε)-spanner for P ⇔ Each p, q ∈ P joined by a path of length ≤ (1 + ε)pq. Replace each edge of EMST(P) with its spanner path Total weight increases by at most (1 + ε) Result G ′ spans P and has weight ≤ (1 + ε)EMST(P) The weight of MST(G) can be no larger EMST(P)

slide-40
SLIDE 40

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Correctness of the Simple WSPD-Based Algorithm

Correctness: Fact: G is a (1 + ε)-spanner for P ⇔ Each p, q ∈ P joined by a path of length ≤ (1 + ε)pq. Replace each edge of EMST(P) with its spanner path Total weight increases by at most (1 + ε) Result G ′ spans P and has weight ≤ (1 + ε)EMST(P) The weight of MST(G) can be no larger EMST(P)

slide-41
SLIDE 41

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Correctness of the Simple WSPD-Based Algorithm

Correctness: Fact: G is a (1 + ε)-spanner for P ⇔ Each p, q ∈ P joined by a path of length ≤ (1 + ε)pq. Replace each edge of EMST(P) with its spanner path Total weight increases by at most (1 + ε) Result G ′ spans P and has weight ≤ (1 + ε)EMST(P) The weight of MST(G) can be no larger EMST(P)

slide-42
SLIDE 42

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Correctness of the Simple WSPD-Based Algorithm

Correctness: Fact: G is a (1 + ε)-spanner for P ⇔ Each p, q ∈ P joined by a path of length ≤ (1 + ε)pq. Replace each edge of EMST(P) with its spanner path Total weight increases by at most (1 + ε) Result G ′ spans P and has weight ≤ (1 + ε)EMST(P) The weight of MST(G) can be no larger EMST(P)

slide-43
SLIDE 43

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Correctness of the Simple WSPD-Based Algorithm

Correctness: Fact: G is a (1 + ε)-spanner for P ⇔ Each p, q ∈ P joined by a path of length ≤ (1 + ε)pq. Replace each edge of EMST(P) with its spanner path Total weight increases by at most (1 + ε) Result G ′ spans P and has weight ≤ (1 + ε)EMST(P) The weight of MST(G) can be no larger EMST(P) G′

slide-44
SLIDE 44

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Correctness of the Simple WSPD-Based Algorithm

Correctness: Fact: G is a (1 + ε)-spanner for P ⇔ Each p, q ∈ P joined by a path of length ≤ (1 + ε)pq. Replace each edge of EMST(P) with its spanner path Total weight increases by at most (1 + ε) Result G ′ spans P and has weight ≤ (1 + ε)EMST(P) The weight of MST(G) can be no larger EMST(P) G′

slide-45
SLIDE 45

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Speeding This Up

(1/ε)-WSPD has too many pairs (O(n/εd)) Build a 2-WSPD ⇒ Only O(n) pairs Be smarter about computing ε-approximate closest pairs? ⇒ O(n/εd/2) [CK95], O(n/εd/3) [AC14], O(n/εd/4) [Ch17, AFM17] ← tough! Use lower bounds on MST weight more judiciously ← our approach

slide-46
SLIDE 46

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Speeding This Up

(1/ε)-WSPD has too many pairs (O(n/εd)) Build a 2-WSPD ⇒ Only O(n) pairs Be smarter about computing ε-approximate closest pairs? ⇒ O(n/εd/2) [CK95], O(n/εd/3) [AC14], O(n/εd/4) [Ch17, AFM17] ← tough! Use lower bounds on MST weight more judiciously ← our approach

slide-47
SLIDE 47

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Speeding This Up

(1/ε)-WSPD has too many pairs (O(n/εd)) Build a 2-WSPD ⇒ Only O(n) pairs Be smarter about computing ε-approximate closest pairs? ⇒ O(n/εd/2) [CK95], O(n/εd/3) [AC14], O(n/εd/4) [Ch17, AFM17] ← tough! Use lower bounds on MST weight more judiciously ← our approach

slide-48
SLIDE 48

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Speeding This Up

(1/ε)-WSPD has too many pairs (O(n/εd)) Build a 2-WSPD ⇒ Only O(n) pairs Be smarter about computing ε-approximate closest pairs? ⇒ O(n/εd/2) [CK95], O(n/εd/3) [AC14], O(n/εd/4) [Ch17, AFM17] ← tough! Use lower bounds on MST weight more judiciously ← our approach

slide-49
SLIDE 49

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Speeding This Up

(1/ε)-WSPD has too many pairs (O(n/εd)) Build a 2-WSPD ⇒ Only O(n) pairs Be smarter about computing ε-approximate closest pairs? ⇒ O(n/εd/2) [CK95], O(n/εd/3) [AC14], O(n/εd/4) [Ch17, AFM17] ← tough! Use lower bounds on MST weight more judiciously ← our approach

slide-50
SLIDE 50

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Speeding This Up

(1/ε)-WSPD has too many pairs (O(n/εd)) Build a 2-WSPD ⇒ Only O(n) pairs Be smarter about computing ε-approximate closest pairs? ⇒ O(n/εd/2) [CK95], O(n/εd/3) [AC14], O(n/εd/4) [Ch17, AFM17] ← tough! Use lower bounds on MST weight more judiciously ← our approach

slide-51
SLIDE 51

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Fast MST Lower Bound

Lemma [Czumaj et al. 2005] Consider a grid of side length s in Rd. Let m be the number of grid boxes containing at least one point of P. Then there is a constant c (depending on d) such that wt(MST(P)) ≥ s m/c. Proof: Color the grid with 2d colors. Boxes of the same color are separated by distance ≥ s Some color class has at least m/2d boxes The cost of connecting these boxes is Ω(s m) s

slide-52
SLIDE 52

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Fast MST Lower Bound

Lemma [Czumaj et al. 2005] Consider a grid of side length s in Rd. Let m be the number of grid boxes containing at least one point of P. Then there is a constant c (depending on d) such that wt(MST(P)) ≥ s m/c. Proof: Color the grid with 2d colors. Boxes of the same color are separated by distance ≥ s Some color class has at least m/2d boxes The cost of connecting these boxes is Ω(s m) s

slide-53
SLIDE 53

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Fast MST Lower Bound

Lemma [Czumaj et al. 2005] Consider a grid of side length s in Rd. Let m be the number of grid boxes containing at least one point of P. Then there is a constant c (depending on d) such that wt(MST(P)) ≥ s m/c. Proof: Color the grid with 2d colors. Boxes of the same color are separated by distance ≥ s Some color class has at least m/2d boxes The cost of connecting these boxes is Ω(s m) s

slide-54
SLIDE 54

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Fast MST Lower Bound

Lemma [Czumaj et al. 2005] Consider a grid of side length s in Rd. Let m be the number of grid boxes containing at least one point of P. Then there is a constant c (depending on d) such that wt(MST(P)) ≥ s m/c. Proof: Color the grid with 2d colors. Boxes of the same color are separated by distance ≥ s Some color class has at least m/2d boxes The cost of connecting these boxes is Ω(s m) ≥ s

slide-55
SLIDE 55

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Talk Overview

Preliminaries: WSPDs, MSTs, and Fast Lower Bounds Theory: ε-approximate MSTs in O(n/ε2) time (joint with Sunil Arya) Practice: A more practical approach and implementation

slide-56
SLIDE 56

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Talk Overview

Preliminaries: WSPDs, MSTs, and Fast Lower Bounds Theory: ε-approximate MSTs in O(n/ε2) time (joint with Sunil Arya) Practice: A more practical approach and implementation

slide-57
SLIDE 57

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Talk Overview

Preliminaries: WSPDs, MSTs, and Fast Lower Bounds Theory: ε-approximate MSTs in O(n/ε2) time (joint with Sunil Arya) Simple, deterministic, using standard data structures Novel amortized cost analysis The 1/ε2 factor is independent of dimension Practice: A more practical approach and implementation

slide-58
SLIDE 58

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple (Slow) Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each WSP (Ai, Bi): Let s be the box size. Subdivide Ai and Bi until the box diameter ≤ εs (pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G) Slow! O(n/(εd)2) = O(n/ε2d). Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.

Ai Bi

slide-59
SLIDE 59

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple (Slow) Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each WSP (Ai, Bi): Let s be the box size. Subdivide Ai and Bi until the box diameter ≤ εs (pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G) Slow! O(n/(εd)2) = O(n/ε2d). Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.

Ai Bi s

slide-60
SLIDE 60

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple (Slow) Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each WSP (Ai, Bi): Let s be the box size. Subdivide Ai and Bi until the box diameter ≤ εs (pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G) Slow! O(n/(εd)2) = O(n/ε2d). Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.

Ai Bi s

slide-61
SLIDE 61

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple (Slow) Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each WSP (Ai, Bi): Let s be the box size. Subdivide Ai and Bi until the box diameter ≤ εs (pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G) Slow! O(n/(εd)2) = O(n/ε2d). Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.

Ai Bi s

slide-62
SLIDE 62

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple (Slow) Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each WSP (Ai, Bi): Let s be the box size. Subdivide Ai and Bi until the box diameter ≤ εs (pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G) Slow! O(n/(εd)2) = O(n/ε2d). Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.

Ai Bi s ≤ εs

slide-63
SLIDE 63

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple (Slow) Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each WSP (Ai, Bi): Let s be the box size. Subdivide Ai and Bi until the box diameter ≤ εs (pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G) Slow! O(n/(εd)2) = O(n/ε2d). Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.

Ai Bi s pi

slide-64
SLIDE 64

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Simple (Slow) Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each WSP (Ai, Bi): Let s be the box size. Subdivide Ai and Bi until the box diameter ≤ εs (pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G) Slow! O(n/(εd)2) = O(n/ε2d). Worst case arises when pairs have many boxes. But, this only occurs when MST cost is high.

Ai Bi s pi

slide-65
SLIDE 65

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

A Smarter/Sloppier Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each (Ai, Bi) approximate the closest pair: Let s be the box size. Subdivide Ai and Bi until either:

Box diameter ≤ εs — or — The number of nonempty boxes ≥ c/ε (for some constant c)

(pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G)

Ai Bi

slide-66
SLIDE 66

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

A Smarter/Sloppier Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each (Ai, Bi) approximate the closest pair: Let s be the box size. Subdivide Ai and Bi until either:

Box diameter ≤ εs — or — The number of nonempty boxes ≥ c/ε (for some constant c)

(pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G)

Ai Bi s

slide-67
SLIDE 67

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

A Smarter/Sloppier Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each (Ai, Bi) approximate the closest pair: Let s be the box size. Subdivide Ai and Bi until either:

Box diameter ≤ εs — or — The number of nonempty boxes ≥ c/ε (for some constant c)

(pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G)

Ai Bi s

slide-68
SLIDE 68

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

A Smarter/Sloppier Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each (Ai, Bi) approximate the closest pair: Let s be the box size. Subdivide Ai and Bi until either:

Box diameter ≤ εs — or — The number of nonempty boxes ≥ c/ε (for some constant c)

(pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G)

Ai Bi s

slide-69
SLIDE 69

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

A Smarter/Sloppier Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each (Ai, Bi) approximate the closest pair: Let s be the box size. Subdivide Ai and Bi until either:

Box diameter ≤ εs — or — The number of nonempty boxes ≥ c/ε (for some constant c)

(pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G)

Ai Bi s ≤ εs

slide-70
SLIDE 70

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

A Smarter/Sloppier Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each (Ai, Bi) approximate the closest pair: Let s be the box size. Subdivide Ai and Bi until either:

Box diameter ≤ εs — or — The number of nonempty boxes ≥ c/ε (for some constant c)

(pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G)

Ai Bi ≥ c/ε boxes s

slide-71
SLIDE 71

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

A Smarter/Sloppier Algorithm

Compute a 2-WSPD for P Each box stores a representative point For each (Ai, Bi) approximate the closest pair: Let s be the box size. Subdivide Ai and Bi until either:

Box diameter ≤ εs — or — The number of nonempty boxes ≥ c/ε (for some constant c)

(pi, qi) ← closest pair of box representatives G ← closest pairs. Return MST(G)

Ai Bi s pi

slide-72
SLIDE 72

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Approximation Analysis (First Attempt)

Case 1: Box diameters ≤ εs: Absolute error ≤ 2εs ε · dist(Ai, Bi) Relative error ε Case 2: Number of nonempty boxes ≥ c/ε: Let δ be the diameters of the boxes Absolute error δ By Lower-Bound Lemma, weight of MST restricted to Ai or Bi is ≥ δ(c/ε)/c = δ/ε Relative error is ε (amortized over the box) . . . hey, aren’t you multiply charging?

slide-73
SLIDE 73

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Approximation Analysis (First Attempt)

Case 1: Box diameters ≤ εs: Absolute error ≤ 2εs ε · dist(Ai, Bi) Relative error ε Case 2: Number of nonempty boxes ≥ c/ε: Let δ be the diameters of the boxes Absolute error δ By Lower-Bound Lemma, weight of MST restricted to Ai or Bi is ≥ δ(c/ε)/c = δ/ε Relative error is ε (amortized over the box) . . . hey, aren’t you multiply charging?

Ai Bi ≤ εs s s ≥ s

slide-74
SLIDE 74

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Approximation Analysis (First Attempt)

Case 1: Box diameters ≤ εs: Absolute error ≤ 2εs ε · dist(Ai, Bi) Relative error ε Case 2: Number of nonempty boxes ≥ c/ε: Let δ be the diameters of the boxes Absolute error δ By Lower-Bound Lemma, weight of MST restricted to Ai or Bi is ≥ δ(c/ε)/c = δ/ε Relative error is ε (amortized over the box) . . . hey, aren’t you multiply charging?

Ai Bi Ai Bi ≤ εs s s ≥ s δ

slide-75
SLIDE 75

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Approximation Analysis (First Attempt)

Case 1: Box diameters ≤ εs: Absolute error ≤ 2εs ε · dist(Ai, Bi) Relative error ε Case 2: Number of nonempty boxes ≥ c/ε: Let δ be the diameters of the boxes Absolute error δ By Lower-Bound Lemma, weight of MST restricted to Ai or Bi is ≥ δ(c/ε)/c = δ/ε Relative error is ε (amortized over the box) . . . hey, aren’t you multiply charging?

Ai Bi Ai Bi ≤ εs s s ≥ s δ weight ≥ δ/ε

slide-76
SLIDE 76

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Approximation Analysis (First Attempt)

Case 1: Box diameters ≤ εs: Absolute error ≤ 2εs ε · dist(Ai, Bi) Relative error ε Case 2: Number of nonempty boxes ≥ c/ε: Let δ be the diameters of the boxes Absolute error δ By Lower-Bound Lemma, weight of MST restricted to Ai or Bi is ≥ δ(c/ε)/c = δ/ε Relative error is ε (amortized over the box) . . . hey, aren’t you multiply charging?

Ai Bi Ai Bi ≤ εs s s ≥ s δ weight ≥ δ/ε

slide-77
SLIDE 77

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Approximation Analysis (Finer Points)

We charge the same MST edge multiple times: Multiple WSPs share the same quadtree box — each box is in O √ d d = O(1) WSPs → increase c by this constant Multiple tree levels charge the same edge → further increase c by tree height — × O

  • log n

ε

  • [Arora (1998)]

Reducing the log factor — A more refined analysis reduces the log factor to O

  • log 1

ε

  • Ai
slide-78
SLIDE 78

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Approximation Analysis (Finer Points)

We charge the same MST edge multiple times: Multiple WSPs share the same quadtree box — each box is in O √ d d = O(1) WSPs → increase c by this constant Multiple tree levels charge the same edge → further increase c by tree height — × O

  • log n

ε

  • [Arora (1998)]

Reducing the log factor — A more refined analysis reduces the log factor to O

  • log 1

ε

  • Ai
slide-79
SLIDE 79

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Approximation Analysis (Finer Points)

We charge the same MST edge multiple times: Multiple WSPs share the same quadtree box — each box is in O √ d d = O(1) WSPs → increase c by this constant Multiple tree levels charge the same edge → further increase c by tree height — × O

  • log n

ε

  • [Arora (1998)]

Reducing the log factor — A more refined analysis reduces the log factor to O

  • log 1

ε

  • Ai
slide-80
SLIDE 80

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Execution Time

Build the quadtree and WSPD: O(n log n) Find the approximate closest pair for each WSP: O(n) WSPs O( 1

ε log 1 ε) boxes per WSP

O(( 1

ε log 1 ε)2) representative pairs per WSP

Compute the MST of G: O(n log n) Total time: O

  • n log n + ( 1

ε log 1 ε)2n

  • =

O(n/ε2)

slide-81
SLIDE 81

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Execution Time

Build the quadtree and WSPD: O(n log n) Find the approximate closest pair for each WSP: O(n) WSPs O( 1

ε log 1 ε) boxes per WSP

O(( 1

ε log 1 ε)2) representative pairs per WSP

Compute the MST of G: O(n log n) Total time: O

  • n log n + ( 1

ε log 1 ε)2n

  • =

O(n/ε2)

slide-82
SLIDE 82

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Execution Time

Build the quadtree and WSPD: O(n log n) Find the approximate closest pair for each WSP: O(n) WSPs O( 1

ε log 1 ε) boxes per WSP

O(( 1

ε log 1 ε)2) representative pairs per WSP

Compute the MST of G: O(n log n) Total time: O

  • n log n + ( 1

ε log 1 ε)2n

  • =

O(n/ε2)

slide-83
SLIDE 83

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Execution Time

Build the quadtree and WSPD: O(n log n) Find the approximate closest pair for each WSP: O(n) WSPs O( 1

ε log 1 ε) boxes per WSP

O(( 1

ε log 1 ε)2) representative pairs per WSP

Compute the MST of G: O(n log n) Total time: O

  • n log n + ( 1

ε log 1 ε)2n

  • =

O(n/ε2)

slide-84
SLIDE 84

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Execution Time

Build the quadtree and WSPD: O(n log n) Find the approximate closest pair for each WSP: O(n) WSPs O( 1

ε log 1 ε) boxes per WSP

O(( 1

ε log 1 ε)2) representative pairs per WSP

Compute the MST of G: O(n log n) Total time: O

  • n log n + ( 1

ε log 1 ε)2n

  • =

O(n/ε2)

slide-85
SLIDE 85

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Execution Time

Build the quadtree and WSPD: O(n log n) Find the approximate closest pair for each WSP: O(n) WSPs O( 1

ε log 1 ε) boxes per WSP

O(( 1

ε log 1 ε)2) representative pairs per WSP

Compute the MST of G: O(n log n) Total time: O

  • n log n + ( 1

ε log 1 ε)2n

  • =

O(n/ε2)

slide-86
SLIDE 86

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Talk Overview

Preliminaries: WSPDs, MSTs, and Fast Lower Bounds Theory: ε-approximate MSTs in O(n/ε2) time Practice: A more practical approach and implementation

slide-87
SLIDE 87

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Talk Overview

Preliminaries: WSPDs, MSTs, and Fast Lower Bounds Theory: ε-approximate MSTs in O(n/ε2) time Practice: A more practical approach and implementation

slide-88
SLIDE 88

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Practical Solutions

Practical solutions: (for exact MSTs) Bentley and Friedman (1978): kd-trees + Prim Narasimhan and Zachariasen (2001): WSPDs + Kruskal: GeoMST, GeoMST2 Chatterjee, Connor, and Kumar (2010): WSPDs + Kruskal: GeoFilterKruskal March, Ram, Gray (2010): WSPD + Bor˚ uvka Here: Adding approximation (Joint with Phong Dinh and Jerry Tan)

slide-89
SLIDE 89

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST (Narasimhan and Zachariasen (2001))

GeoMST(P): Ψ ← a 2-WSPD for P For each (Ai, Bi) ∈ Ψ, compute the bichromatic closest pair, BCP(Ai, Bi) Run Kruskal on the resulting edges BCP(Ai, Bi): If |Ai| = |Bi| = 1 return this pair Else, split the larger cell (kd-tree children) A′

i, A′′ i

Compute δ′ ← BCP(A′

i, Bi) (closer child)

If (cell-dist(A′′

i , Bi) < δ′/(1 + ε))

δ′′ ← BCP(A′

i, Bi)

return min(δ′, δ′′)

slide-90
SLIDE 90

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST (Narasimhan and Zachariasen (2001))

GeoMST(P): Ψ ← a 2-WSPD for P For each (Ai, Bi) ∈ Ψ, compute the bichromatic closest pair, BCP(Ai, Bi) Run Kruskal on the resulting edges BCP(Ai, Bi): If |Ai| = |Bi| = 1 return this pair Else, split the larger cell (kd-tree children) A′

i, A′′ i

Compute δ′ ← BCP(A′

i, Bi) (closer child)

If (cell-dist(A′′

i , Bi) < δ′/(1 + ε))

δ′′ ← BCP(A′

i, Bi)

return min(δ′, δ′′) Ai Bi

slide-91
SLIDE 91

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST (Narasimhan and Zachariasen (2001))

GeoMST(P): Ψ ← a 2-WSPD for P For each (Ai, Bi) ∈ Ψ, compute the bichromatic closest pair, BCP(Ai, Bi) Run Kruskal on the resulting edges BCP(Ai, Bi): If |Ai| = |Bi| = 1 return this pair Else, split the larger cell (kd-tree children) A′

i, A′′ i

Compute δ′ ← BCP(A′

i, Bi) (closer child)

If (cell-dist(A′′

i , Bi) < δ′/(1 + ε))

δ′′ ← BCP(A′

i, Bi)

return min(δ′, δ′′) Ai Bi

slide-92
SLIDE 92

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST (Narasimhan and Zachariasen (2001))

GeoMST(P): Ψ ← a 2-WSPD for P For each (Ai, Bi) ∈ Ψ, compute the bichromatic closest pair, BCP(Ai, Bi) Run Kruskal on the resulting edges BCP(Ai, Bi): If |Ai| = |Bi| = 1 return this pair Else, split the larger cell (kd-tree children) A′

i, A′′ i

Compute δ′ ← BCP(A′

i, Bi) (closer child)

If (cell-dist(A′′

i , Bi) < δ′/(1 + ε))

δ′′ ← BCP(A′

i, Bi)

return min(δ′, δ′′) A′′

i

Bi A′

i

slide-93
SLIDE 93

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST (Narasimhan and Zachariasen (2001))

GeoMST(P): Ψ ← a 2-WSPD for P For each (Ai, Bi) ∈ Ψ, compute the bichromatic closest pair, BCP(Ai, Bi) Run Kruskal on the resulting edges BCP(Ai, Bi): If |Ai| = |Bi| = 1 return this pair Else, split the larger cell (kd-tree children) A′

i, A′′ i

Compute δ′ ← BCP(A′

i, Bi) (closer child)

If (cell-dist(A′′

i , Bi) < δ′/(1 + ε))

δ′′ ← BCP(A′

i, Bi)

return min(δ′, δ′′) A′′

i

Bi δ′ A′

i

slide-94
SLIDE 94

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST (Narasimhan and Zachariasen (2001))

GeoMST(P): Ψ ← a 2-WSPD for P For each (Ai, Bi) ∈ Ψ, compute the bichromatic closest pair, BCP(Ai, Bi) Run Kruskal on the resulting edges BCP(Ai, Bi): If |Ai| = |Bi| = 1 return this pair Else, split the larger cell (kd-tree children) A′

i, A′′ i

Compute δ′ ← BCP(A′

i, Bi) (closer child)

If (cell-dist(A′′

i , Bi) < δ′/(1 + ε))

δ′′ ← BCP(A′

i, Bi)

return min(δ′, δ′′) A′′

i

Bi δ′ A′

i

slide-95
SLIDE 95

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST (Narasimhan and Zachariasen (2001))

GeoMST(P): Ψ ← a 2-WSPD for P For each (Ai, Bi) ∈ Ψ, compute the bichromatic closest pair, BCP(Ai, Bi) Run Kruskal on the resulting edges BCP(Ai, Bi): If |Ai| = |Bi| = 1 return this pair Else, split the larger cell (kd-tree children) A′

i, A′′ i

Compute δ′ ← BCP(A′

i, Bi) (closer child)

If (cell-dist(A′′

i , Bi) < δ′/(1 + ε))

δ′′ ← BCP(A′

i, Bi)

return min(δ′, δ′′) A′′

i

Bi δ′ A′

i

slide-96
SLIDE 96

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST (Narasimhan and Zachariasen (2001))

GeoMST(P): Ψ ← a 2-WSPD for P For each (Ai, Bi) ∈ Ψ, compute the bichromatic closest pair, BCP(Ai, Bi) Run Kruskal on the resulting edges BCP(Ai, Bi): If |Ai| = |Bi| = 1 return this pair Else, split the larger cell (kd-tree children) A′

i, A′′ i

Compute δ′ ← BCP(A′

i, Bi) (closer child)

If (cell-dist(A′′

i , Bi) < δ′/(1 + ε))

δ′′ ← BCP(A′

i, Bi)

return min(δ′, δ′′) A′′

i

Bi δ′ A′

i

δ′′

slide-97
SLIDE 97

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

The Problem with WSPDs

Practical Limitation — Too many WSPs in higher dimensions Uniform Gaussian Clusters Fractal

  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1

Point set (n = 1000)

slide-98
SLIDE 98

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

The Problem with WSPDs

Practical Limitation — Too many WSPs in higher dimensions Uniform Gaussian Clusters Fractal

  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1

MST (n = 1000)

slide-99
SLIDE 99

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

The Problem with WSPDs

Practical Limitation — Too many WSPs in higher dimensions Uniform Gaussian Clusters Fractal

  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1
  • 1
  • 0.5
0.5 1

WSPs joining reps (n = 1000)

slide-100
SLIDE 100

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

The Problem with WSPDs

Practical Limitation — Too many WSPs in higher dimensions Uniform Gaussian Clusters Fractal

1 10 100 1000 2 3 4 5 6 7 8 9 10 2-WSPs / n Dimension 1 10 100 1000 2 3 4 5 6 7 8 9 10 2-WSPs / n Dimension 1 10 100 1000 2 3 4 5 6 7 8 9 10 2-WSPs / n Dimension

Number of 2-WSPs vs. Dimension (n = 1000)

slide-101
SLIDE 101

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST

slide-102
SLIDE 102

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST

slide-103
SLIDE 103

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST

slide-104
SLIDE 104

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST

slide-105
SLIDE 105

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST

slide-106
SLIDE 106

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST

slide-107
SLIDE 107

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST

slide-108
SLIDE 108

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST

slide-109
SLIDE 109

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST

slide-110
SLIDE 110

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST shorter than next

slide-111
SLIDE 111

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST add to MST

slide-112
SLIDE 112

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST

slide-113
SLIDE 113

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST

slide-114
SLIDE 114

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST add to MST

slide-115
SLIDE 115

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 (Narasimhan and Zachariasen (2001))

Want a WSP-based approach, but without the WSPD! Build WSPs only as needed Run Kruskal in parallel with WSP construction GeoMST2: (Narasimhan and Zachariasen, 2001) Process WSPs in increasing order of distance Add edge to MST whenever it is safe: BCP(Ai, Bi) ≤ distance between next WSP No postprocessing. The safe edges form the MST add to MST

slide-116
SLIDE 116

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Component-First

A further refinement to GeoMST2 Key modification: Process pairs (Ai, Bi) even if they are not well-separated If (all of Ai in one component and all of Bi in one component) then If (same component) then discard the pair (Ai, Bi) else compute BCP(Ai, Bi) Ai Bi

slide-117
SLIDE 117

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Component-First

A further refinement to GeoMST2 Key modification: Process pairs (Ai, Bi) even if they are not well-separated If (all of Ai in one component and all of Bi in one component) then If (same component) then discard the pair (Ai, Bi) else compute BCP(Ai, Bi) Ai Bi

slide-118
SLIDE 118

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Component-First

A further refinement to GeoMST2 Key modification: Process pairs (Ai, Bi) even if they are not well-separated If (all of Ai in one component and all of Bi in one component) then If (same component) then discard the pair (Ai, Bi) else compute BCP(Ai, Bi) Ai Bi

slide-119
SLIDE 119

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Component-First

A further refinement to GeoMST2 Key modification: Process pairs (Ai, Bi) even if they are not well-separated If (all of Ai in one component and all of Bi in one component) then If (same component) then discard the pair (Ai, Bi) else compute BCP(Ai, Bi) Ai Bi

slide-120
SLIDE 120

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Component-First

A further refinement to GeoMST2 Key modification: Process pairs (Ai, Bi) even if they are not well-separated If (all of Ai in one component and all of Bi in one component) then If (same component) then discard the pair (Ai, Bi) else compute BCP(Ai, Bi) Ai Bi Ai Bi

slide-121
SLIDE 121

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Component-First

A further refinement to GeoMST2 Key modification: Process pairs (Ai, Bi) even if they are not well-separated If (all of Ai in one component and all of Bi in one component) then If (same component) then discard the pair (Ai, Bi) else compute BCP(Ai, Bi) Ai Bi Ai Bi BCP(Ai, Bi)

slide-122
SLIDE 122

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

GeoMST2 and Component-First Performance

Uniform Gaussian Clusters Fractal These algorithms are quite practical, and further improvements may be possible

slide-123
SLIDE 123

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Concluding Remarks

Summary: ε-approximate EMSTs in Rd in O(n/ε2) time Simple, deterministic algorithm (quadtrees, well-separated pairs) Not really practical, but ideas can be applied to improve implementations Caveats: EMST minimizes the bottleneck (max) edge cost — ours does not Big-O hides factors that grow exponentially with dimension Further Work: Approximate minimum bottleneck spanning tree in similar time? Reduce extraneous factors 1/ε2 → 1/ε? log2(1/ε) → O(1)? Further engineering of practical approaches

slide-124
SLIDE 124

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Concluding Remarks

Summary: ε-approximate EMSTs in Rd in O(n/ε2) time Simple, deterministic algorithm (quadtrees, well-separated pairs) Not really practical, but ideas can be applied to improve implementations Caveats: EMST minimizes the bottleneck (max) edge cost — ours does not Big-O hides factors that grow exponentially with dimension Further Work: Approximate minimum bottleneck spanning tree in similar time? Reduce extraneous factors 1/ε2 → 1/ε? log2(1/ε) → O(1)? Further engineering of practical approaches

Thank you for your attention!

slide-125
SLIDE 125

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Bibliography

  • P. K. Agarwal, H. Edelsbrunner, O. Schwartzkopf, and E. Welzl, Euclidean minimum spanning trees and bichromatic

closest pairs, Discr. and Comp. Geom., 6, 1991, 407–422

  • S. Arora, Polynomial Time Approximation Schemes for Euclidean Traveling Salesman and Other Geometric

Problems, J. of the ACM, 45, 1998, 753–782

  • S. Arya and T. M. Chan, Better ε-dependencies for offline approximate nearest neighbor search, Euclidean minimum

spanning trees, and ε-kernels, Proc. 30th SoCG, 2014, 416–425

  • S. Arya, G. D. da Fonseca, and D. M. Mount, Near-optimal ε-kernel construction and related problems, Proc. 33rd
  • Internat. Sympos. Comput. Geom., 2017, 10:1–15
  • T. M. Chan, Applications of Chebyshev polynomials to low-dimensional computational geometry, Proc. 33rd
  • Internat. Sympos. Comput. Geom., 2017, 26:1–15
  • P. B. Callahan and S. R. Kosaraju, A Decomposition of Multidimensional Point Sets with Applications to

k-Nearest-Neighbors and n-Body Potential Fields, J. of the ACM, 42, 1995, 67–90

  • S. Chatterjee, M. Connor, and P. Kumar, Geometric Minimum Spanning Trees with GeoFilterKruskal, Proc. 9th
  • Internat. Sympos. on Exper. Alg., 2010, 486-500
  • B. Chazelle, R. Rubinfeld, and L. Trevisan, Approximating the minimum spanning tree weight in sublinear time,

SIAM J. Comput., 2005, 34:1370–1379

slide-126
SLIDE 126

Introduction Background Approximation Prior Work Preliminaries WSPD+MST Lower Bound In Theory Simple+Slow Smart+Sloppy Analysis In Practice Background GeoMST GeoMST2 Component-First Wrap-Up

Bibliography

  • A. Czumaj, F. Erg¨

un, L. Fortnow, A. Magen, I. Newman, R. Rubinfeld, and C. Sohler, Approximating the Weight of the Euclidean Minimum Spanning Tree in Sublinear Time, SIAM J. Comput., 35, 2005, 91–109

  • A. Czumaj and C. Sohler, Estimating the Weight of Metric Minimum Spanning Trees in Sublinear Time, SIAM J.

Comput., 39, 2009, 904–922

  • G. Narasimhan and M. Zachariasen, Geometric Minimum Spanning Trees via Well-Separated Pair Decompositions,

ACM J. Exper. Algorithms, 6, 2001

  • A. C. Yao, On Constructing Minimum Spanning Trees in k-Dimensional Spaces and Related Problems, SIAM J.

Comput., 11, 1982, 721–736