Approximate Polytope Membership Queries Sunil Arya Hong Kong - - PowerPoint PPT Presentation

approximate polytope membership queries
SMART_READER_LITE
LIVE PREVIEW

Approximate Polytope Membership Queries Sunil Arya Hong Kong - - PowerPoint PPT Presentation

Introduction Split-Reduce Discussion Approximate Polytope Membership Queries Sunil Arya Hong Kong University of Science and Technology Guilherme D. da Fonseca Universidade Federal do Estado do Rio de Janeiro (UNIRIO) David M. Mount


slide-1
SLIDE 1

Introduction Split-Reduce Discussion

Approximate Polytope Membership Queries

Sunil Arya Hong Kong University of Science and Technology Guilherme D. da Fonseca Universidade Federal do Estado do Rio de Janeiro (UNIRIO) David M. Mount University of Maryland, College Park STOC 2011

slide-2
SLIDE 2

Introduction Split-Reduce Discussion

Polytope Membership Queries

Polytope Membership Queries Given a polytope P in d-dimensional space, preprocess P to answer membership queries: Given a point q, is q ∈ P? Assume that dimension d is a constant and P is given as intersection of n halfspaces For d ≤ 3, can be solved with storage O(n) and query time O(log n) [BCKO10] Dual of halfspace emptiness searching q P

slide-3
SLIDE 3

Introduction Split-Reduce Discussion

Approximate Polytope Membership Queries

Approximate Version An approximation parameter ε is given (at preprocessing time) Assume the polytope has diameter 1 If the query point’s distance from P’s boundary:

> ε: answer must be correct ≤ ε: either answer is acceptable

Polytope approximation is a well studied topic We consider the first space-time tradeoffs for the query problem 1 ε ε in

  • ut

?

slide-4
SLIDE 4

Introduction Split-Reduce Discussion

Bentley et al. (Outer) Approximation [BFP82]

ε P Create a grid with cells of diameter ε For each column, store the topmost and bottommost cells intersecting P Query processing:

Locate the column that contains q Compare q with the two extreme values

Time-Efficient Solution [BFP82] O(1/εd−1) columns Storage: O(1/εd−1) Query time: O(1) (by integer division)

slide-5
SLIDE 5

Introduction Split-Reduce Discussion

Bentley et al. (Outer) Approximation [BFP82]

ε P Create a grid with cells of diameter ε For each column, store the topmost and bottommost cells intersecting P Query processing:

Locate the column that contains q Compare q with the two extreme values

Time-Efficient Solution [BFP82] O(1/εd−1) columns Storage: O(1/εd−1) Query time: O(1) (by integer division)

slide-6
SLIDE 6

Introduction Split-Reduce Discussion

Bentley et al. (Outer) Approximation [BFP82]

ε q P Create a grid with cells of diameter ε For each column, store the topmost and bottommost cells intersecting P Query processing:

Locate the column that contains q Compare q with the two extreme values

Time-Efficient Solution [BFP82] O(1/εd−1) columns Storage: O(1/εd−1) Query time: O(1) (by integer division)

slide-7
SLIDE 7

Introduction Split-Reduce Discussion

Dudley’s (Outer) Approximation [Dud74]

P √ε Every unit-diameter polytope can be ε-approximated as the intersection of O(1/ε(d−1)/2) halfspaces [Dud74] Space-Efficient Solution Check whether q lies within each Dudley halfspace: Storage: O(1/ε(d−1)/2) Query time: O(1/ε(d−1)/2) Note: Each halfspace is used to cover a surface patch of size √ε

slide-8
SLIDE 8

Introduction Split-Reduce Discussion

Dudley’s (Outer) Approximation [Dud74]

P √ε Every unit-diameter polytope can be ε-approximated as the intersection of O(1/ε(d−1)/2) halfspaces [Dud74] Space-Efficient Solution Check whether q lies within each Dudley halfspace: Storage: O(1/ε(d−1)/2) Query time: O(1/ε(d−1)/2) Note: Each halfspace is used to cover a surface patch of size √ε

slide-9
SLIDE 9

Introduction Split-Reduce Discussion

Dudley’s (Outer) Approximation [Dud74]

P √ε Every unit-diameter polytope can be ε-approximated as the intersection of O(1/ε(d−1)/2) halfspaces [Dud74] Space-Efficient Solution Check whether q lies within each Dudley halfspace: Storage: O(1/ε(d−1)/2) Query time: O(1/ε(d−1)/2) Note: Each halfspace is used to cover a surface patch of size √ε

slide-10
SLIDE 10

Introduction Split-Reduce Discussion

A Simple Tradeoff

Generate a grid of diameter r ∈ [ε, 1] Preprocessing: For each cell Q intersecting P’s boundary:

Apply Dudley to P ∩ Q O((r/ε)(d−1)/2) halfspaces per cell

Query Processing:

Find the cell containing q Check whether q lies within every halfspace for this cell

Tradeoff Storage: O(1/(rε)(d−1)/2) Query time: O((r/ε)(d−1)/2) r

slide-11
SLIDE 11

Introduction Split-Reduce Discussion

A Simple Tradeoff

Generate a grid of diameter r ∈ [ε, 1] Preprocessing: For each cell Q intersecting P’s boundary:

Apply Dudley to P ∩ Q O((r/ε)(d−1)/2) halfspaces per cell

Query Processing:

Find the cell containing q Check whether q lies within every halfspace for this cell

Tradeoff Storage: O(1/(rε)(d−1)/2) Query time: O((r/ε)(d−1)/2) r q

slide-12
SLIDE 12

Introduction Split-Reduce Discussion

A Simple Tradeoff

Generate a grid of diameter r ∈ [ε, 1] Preprocessing: For each cell Q intersecting P’s boundary:

Apply Dudley to P ∩ Q O((r/ε)(d−1)/2) halfspaces per cell

Query Processing:

Find the cell containing q Check whether q lies within every halfspace for this cell

Tradeoff Storage: O(1/(rε)(d−1)/2) Query time: O((r/ε)(d−1)/2) r q

slide-13
SLIDE 13

Introduction Split-Reduce Discussion

Can we do better? Need a little sensitivity

P √ε Dudley tends to oversample regions of very low and very high curvature Finding the smallest number of halfspaces reduces to set cover A log(1/ε)-approximation can be found efficiently (Mitchell and Suri [MS95], Clarkson [Cla93]) Simple Idea: Recursively subdivide space (quadtree) until the number of approximating halfspaces is small enough

slide-14
SLIDE 14

Introduction Split-Reduce Discussion

Split-Reduce

t = 2 Preprocess: Input P, ε, and desired query time t Q ← unit hypercube Split-Reduce(Q) Split-Reduce(Q) Find an ε-approximation of Q ∩ P If at most t facets, then Q stores them Otherwise, subdivide Q and recurse Query time: O(log(1/ε) + t) Storage: ???

slide-15
SLIDE 15

Introduction Split-Reduce Discussion

Split-Reduce

t = 2 Preprocess: Input P, ε, and desired query time t Q ← unit hypercube Split-Reduce(Q) Split-Reduce(Q) Find an ε-approximation of Q ∩ P If at most t facets, then Q stores them Otherwise, subdivide Q and recurse Query time: O(log(1/ε) + t) Storage: ???

slide-16
SLIDE 16

Introduction Split-Reduce Discussion

Split-Reduce

t = 2 Preprocess: Input P, ε, and desired query time t Q ← unit hypercube Split-Reduce(Q) Split-Reduce(Q) Find an ε-approximation of Q ∩ P If at most t facets, then Q stores them Otherwise, subdivide Q and recurse Query time: O(log(1/ε) + t) Storage: ???

slide-17
SLIDE 17

Introduction Split-Reduce Discussion

Split-Reduce

t = 2 Preprocess: Input P, ε, and desired query time t Q ← unit hypercube Split-Reduce(Q) Split-Reduce(Q) Find an ε-approximation of Q ∩ P If at most t facets, then Q stores them Otherwise, subdivide Q and recurse Query time: O(log(1/ε) + t) Storage: ???

slide-18
SLIDE 18

Introduction Split-Reduce Discussion

Split-Reduce

t = 2 Preprocess: Input P, ε, and desired query time t Q ← unit hypercube Split-Reduce(Q) Split-Reduce(Q) Find an ε-approximation of Q ∩ P If at most t facets, then Q stores them Otherwise, subdivide Q and recurse Query time: O(log(1/ε) + t) Storage: ???

slide-19
SLIDE 19

Introduction Split-Reduce Discussion

Why it pays to be sensitive

Easy Analysis Split-Reduce reduces the query time from 1/ε(d−1)/2 to 1/ε(d−1)/4 with the same O(1/ε(d−1)/2) storage √ε 1/ε(d−1)/4 halfspaces By Dudley, if diameter ≤ √ε, need only 1/ε(d−1)/4 halfspaces ⇒ cells of size ≤ √ε are not subdivided Each Dudley halfspace is only needed within a radius of √ε ⇒ Each halfspace hits only O(1) cells of size ≥ √ε ⇒ The total number of halfspaces needed is O(1/ε(d−1)/2)

slide-20
SLIDE 20

Introduction Split-Reduce Discussion

General Tradeoff

An inductive application of the previous argument yields a space-time tradeoff Theorem: Using Split-Reduce we can answer ε-approximate polytope membership queries with Storage: O(1/ε(d−1)/(1−k/2k)) Query time: O(1/ε(d−1)/2k)

1/16 1/8 1/4 1/2 1/2 5/8 3/4 1 (a) Tradeoffs for Polytope Membership Simple algorithm Split-Reduce Lower bound

x: Storage is 1/εx(d−O(1)) y: Query time is 1/εy(d−O(1))

slide-21
SLIDE 21

Introduction Split-Reduce Discussion

Lower Bound

The above analysis is not necessarily tight We establish a lower bound

  • n Split-Reduce

The input polytope is a cylinder formed by extruding a (d − k)-dimensional ball in k dimensions k is chosen to maximize the storage for a given query time

1/16 1/8 1/4 1/2 1/2 5/8 3/4 1 (a) Tradeoffs for Polytope Membership Simple algorithm Split-Reduce Lower bound

x: Storage is 1/εx(d−O(1)) y: Query time is 1/εy(d−O(1))

slide-22
SLIDE 22

Introduction Split-Reduce Discussion

Approximate Nearest Neighbor (ANN) Searching

1/16 1/8 1/4 1/2 1/4 1/2 11/16 1 (b) Tradeoffs for ANN search Prior upper bound [AMM09] New upper bound Lower bound [AMM09]

x: Storage is n/εx(d−O(1)) y: Query time is O(log n) + 1/εy(d−O(1))

ANN: Preprocess n points such that, given a query point q, can find a point within at most 1 + ε times the distance to q’s nearest neighbor Arya, et al. [AMM09] gave a solution that is optimal in the extremes of the space-time tradeoff and gave a lower bound Our new results improve the tradeoff throughout the middle of the spectrum

slide-23
SLIDE 23

Introduction Split-Reduce Discussion

Approximate Nearest Neighbor (ANN) Searching

Arya et al. show that it is possible to partition space into cells, each associated with candidates to be the ANN for query points in the cell, such that:

Total number of candidates is O(n) All but 1 candidate is inside a constant-radius annulus

Using lifting we can reduce the search to log(1/ε) approximate polytope membership queries

Q cBQ BQ

slide-24
SLIDE 24

Introduction Split-Reduce Discussion

Concluding Remarks

Improved upper bounds for approximate polytope membership queries First space-time tradeoffs Simple algorithm – Split-Reduce Significant improvements to ANN searching Open problem: Tighten the analysis

slide-25
SLIDE 25

Introduction Split-Reduce Discussion

Thank you!

slide-26
SLIDE 26

Introduction Split-Reduce Discussion

Bibliography

[AMM09] S. Arya, T. Malamatos, and D. M. Mount. Space-time tradeoffs for approximate nearest neighbor searching. J. ACM, 57:1–54, 2009. [BFP82] J. L. Bentley, M. G. Faust, and F. P. Preparata. Approximation algorithms for convex hulls. Commun. ACM, 25(1):64–68, 1982. [BCKO10] M. de Berg, O. Cheong, M. van Kreveld, and M. Overmars. Computational Geometry: Algorithms and Applications. Springer, 3rd edition, 2010. [Cla93] K. L. Clarkson. Algorithms for polytope covering and approximation. In

  • Proc. 3rd Workshop Algorithms Data Struct. (WADS), pages 246–252, 1993.

[Dud74] R. M. Dudley. Metric entropy of some classes of sets with differentiable

  • boundaries. Approx. Theory, 10(3):227–236, 1974.

[MS95] J. S. B. Mitchell and S. Suri. Separation and approximation of polyhedral objects. Comput. Geom., 5:95–114, 1995.