67
1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi Diagrams CS468, Mon. Oct. 30 th , 2006 Presentation by Maks Ovsjanikov

Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

1-1

S. Har-Peled’s notes, Chapters 6 and 7

Approximate Voronoi Diagrams

CS468, Mon. Oct. 30th, 2006

Presentation by Maks Ovsjanikov

Page 2: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

2-1

Outline

• Preliminaries

• Problem Statement

• ANN using PLEB

• Bounds and Improvements

– Near Linear Space

– Linear Space

• ANN in Rd using compressed quad-trees

(Previous Lecture)}

Page 3: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

3-1

Preliminaries

u

v

Page 4: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

3-2

Preliminaries

u

vd(u, v)

Page 5: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

3-3

Preliminaries

u

v

q

d(u, v)

d(q, u)

d(q, v)

Page 6: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

3-4

Preliminaries

u

v

q

d(u, v)

d(q, u)

d(q, v) ≥ d(u,v)ε

≥ d(u,v)ε

Page 7: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

3-5

Preliminaries

u

v

q

d(u, v)

d(q, u)

d(q, v)

d(q, u) ≥ d(u,v)ε

d(q, v) ≥ d(u,v)ε

=⇒ d(q, v)

d(q, u)≤ 1 + ε

≥ d(u,v)ε

≥ d(u,v)ε

Page 8: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

3-6

Preliminaries

u

v

q

d(u, v)

d(q, u)

d(q, v)

d(q, u) ≥ d(u,v)ε

d(q, v) ≥ d(u,v)ε

=⇒ d(q, v)

d(q, u)≤ 1 + ε

≥ d(u,v)ε

≥ d(u,v)ε

q′

d(q′, u) = αd(u, v)

d(q′, v) = (1 + α)d(u, v)= (1 + 1

α)d(u, v)

Page 9: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

4-1

d(q, u) ≥ d(u,v)ε

d(q, v) ≥ d(u,v)ε

=⇒ d(q, v)

d(q, u)≤ 1 + ε

Preliminaries

Holds in any metric space:

Page 10: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

4-2

d(q, u) ≥ d(u,v)ε

d(q, v) ≥ d(u,v)ε

=⇒ d(q, v)

d(q, u)≤ 1 + ε

Preliminaries

d(q, u) = αd(u, v)

d(q, v) ≤ d(q, u) + d(u, v) = (1 + 1α)d(q, u)

=⇒ d(q,v)d(q,u) ≤ (1 + 1

α) ≤ (1 + ε) if α ≥ 1ε

Holds in any metric space:

Page 11: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

4-3

d(q, u) ≥ d(u,v)ε

d(q, v) ≥ d(u,v)ε

=⇒ d(q, v)

d(q, u)≤ 1 + ε

Preliminaries

d(q, u) = αd(u, v)

d(q, v) ≤ d(q, u) + d(u, v) = (1 + 1α)d(q, u)

=⇒ d(q,v)d(q,u) ≤ (1 + 1

α) ≤ (1 + ε) if α ≥ 1ε

Holds in any metric space:

Similarly:

d(q, v) = αd(u, v)

=⇒ d(q,u)d(q,v) ≤ (1 + 1

α) ≤ (1 + ε) if α ≥ 1ε

Page 12: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

4-4

d(q, u) ≥ d(u,v)ε

d(q, v) ≥ d(u,v)ε

=⇒ d(q, v)

d(q, u)≤ 1 + ε

Preliminaries

Moral:

Any of the far away points is a (1 + ε) closest neighbor

Page 13: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

5-1

Problem Statement:

For a given ε, find a (1 + ε) Aproximate Voronoi Diagram:

Partition of space into regions with one representative ri per region, such thatfor any point q in region i, ri is a (1 + ε) nearest neighbor of q

Page 14: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

5-2

Problem Statement:

For a given ε, find a (1 + ε) Aproximate Voronoi Diagram:

Partition of space into regions with one representative ri per region, such thatfor any point q in region i, ri is a (1 + ε) nearest neighbor of q

Page 15: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

5-3

Problem Statement:

For a given ε, find a (1 + ε) Aproximate Voronoi Diagram:

Partition of space into regions with one representative ri per region, such thatfor any point q in region i, ri is a (1 + ε) nearest neighbor of q

Constraints:

• bounded construction time and space (complexity)

• Cover all space

• sub-linear (1+ε) NN queries

Page 16: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

6-1

ANN using PLEBReduce (1 + ε)-ANN queries to target ball queries

Page 17: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

6-2

ANN using PLEBReduce (1 + ε)-ANN queries to target ball queries

1) Construct balls of radius (1 + ε)i around each point, for i = 1..∞

Page 18: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

6-3

ANN using PLEBReduce (1 + ε)-ANN queries to target ball queries

1) Construct balls of radius (1 + ε)i around each point, for i = 1..∞

Page 19: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

6-4

ANN using PLEBReduce (1 + ε)-ANN queries to target ball queries

1) Construct balls of radius (1 + ε)i around each point, for i = 1..∞

Page 20: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

6-5

ANN using PLEBReduce (1 + ε)-ANN queries to target ball queries

1) Construct balls of radius (1 + ε)i around each point, for i = 1..∞

Page 21: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

6-6

ANN using PLEBReduce (1 + ε)-ANN queries to target ball queries

1) Construct balls of radius (1 + ε)i around each point, for i = 1..∞

Page 22: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

6-7

ANN using PLEBReduce (1 + ε)-ANN queries to target ball queries

1) Construct balls of radius (1 + ε)i around each point, for i = 1..∞

Page 23: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

6-8

ANN using PLEBReduce (1 + ε)-ANN queries to target ball queries

1) Construct balls of radius (1 + ε)i around each point, for i = 1..∞

Page 24: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

6-9

ANN using PLEBReduce (1 + ε)-ANN queries to target ball queries

1) Construct balls of radius (1 + ε)i around each point, for i = 1..∞

Page 25: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

6-10

ANN using PLEBReduce (1 + ε)-ANN queries to target ball queries

q

For any query point q, return the center p of the smallest ball that contains it:d(q, n) > (1 + ε)i−1, and d(q, p) ≤ (1 + ε)i < (1 + ε) · d(q, n)

=⇒ always get a (1 + ε)-Nearest Neighbor

(1 + ε)5

> (1 + ε)4

Page 26: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

6-11

ANN using PLEBReduce (1 + ε)-ANN queries to target ball queries

Problems:

• Unbounded Number of Balls

• Not clear how to preform target ball queries efficiently

– Partition the space into regions of influence

Page 27: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

7-1

Bounding the number of balls

Intuition:* For a given pair u and v, we only care if min d(q, {u, v}) ∈ [d(u,v)

ε+2 , d(u,v)ε ]

Page 28: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

7-2

Bounding the number of balls

Intuition:* For a given pair u and v, we only care if min d(q, {u, v}) ∈ [d(u,v)

ε+2 , d(u,v)ε ]

• if min d(q, {u, v}) > d(u,v)ε =⇒ either u or v are (1 + ε) NN

Page 29: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

7-3

Bounding the number of balls

Intuition:* For a given pair u and v, we only care if min d(q, {u, v}) ∈ [d(u,v)

ε+2 , d(u,v)ε ]

* Do not need to grow balls of radius smaller than d(u,v)4 or larger than 2d(u,v)

ε

• if min d(q, {u, v}) > d(u,v)ε =⇒ either u or v are (1 + ε) NN

• if min d(q, {u, v}) < d(u,v)ε+2 =⇒ q has a unique (1 + ε) NN

u

v

d(q, u) < d(u,v)ε+2

qd(q, v) > (1− 1

ε+2)d(u, v)

> (ε + 1)d(q, u)

Page 30: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

7-4

Bounding the number of balls

Intuition:* For a given pair u and v, we only care if min d(q, {u, v}) ∈ [d(u,v)

ε+2 , d(u,v)ε ]

* Do not need to grow balls of radius smaller than d(u,v)4 or larger than 2d(u,v)

ε

• if min d(q, {u, v}) > d(u,v)ε =⇒ either u or v are (1 + ε) NN

• if min d(q, {u, v}) < d(u,v)ε+2 =⇒ q has a unique (1 + ε) NN

u

v

d(q, u) < d(u,v)ε+2

qd(q, v) > (1− 1

ε+2)d(u, v)

> (ε + 1)d(q, u)

Method 1:

for every pair of points {u, v}, construct enough balls to cover [d(u,v)4 , 2d(u,v)

ε ] on u, v

Page 31: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

7-5

Bounding the number of balls

Intuition:* For a given pair u and v, we only care if min d(q, {u, v}) ∈ [d(u,v)

ε+2 , d(u,v)ε ]

* Do not need to grow balls of radius smaller than d(u,v)4 or larger than 2d(u,v)

ε

• if min d(q, {u, v}) > d(u,v)ε =⇒ either u or v are (1 + ε) NN

• if min d(q, {u, v}) < d(u,v)ε+2 =⇒ q has a unique (1 + ε) NN

u

v

d(q, u) < d(u,v)ε+2

qd(q, v) > (1− 1

ε+2)d(u, v)

> (ε + 1)d(q, u)

Method 1:

for every pair of points {u, v}, construct enough balls to cover [d(u,v)4 , 2d(u,v)

ε ] on u, v

Overall: O(n2 logε+1(2Cε − C

4 )) = O(n2 log(7Cε )

log(ε+1)) = O(n21ε log(1

ε)) balls

Note: log(1 + ε) = ε− ε2/2 + ε3/3− .... = O(ε) in most cases

Page 32: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

8-1

Bounding the number of balls

Interval Near-Neighbor data structuregiven a range of distances [a, b], and a set of points P , answers:

1. dP (q) > b

2. dP (q) < a with a witness

3. otherwise, finds a point p ∈ P , s.t. dP (q) ≤ d(p, q) ≤ (1 + ε)dP (q)

Page 33: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

8-2

Bounding the number of balls

Interval Near-Neighbor data structuregiven a range of distances [a, b], and a set of points P , answers:

1. dP (q) > b

2. dP (q) < a with a witness

3. otherwise, finds a point p ∈ P , s.t. dP (q) ≤ d(p, q) ≤ (1 + ε)dP (q)

Can be realized by a set of balls of radius a(1 + ε)i for i = 0...M − 1, where M = dlog1+ε(b/a)e and aball of radius b around every point in P

Page 34: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

8-3

Bounding the number of balls

Interval Near-Neighbor data structuregiven a range of distances [a, b], and a set of points P , answers:

1. dP (q) > b

2. dP (q) < a with a witness

3. otherwise, finds a point p ∈ P , s.t. dP (q) ≤ d(p, q) ≤ (1 + ε)dP (q)

Can be realized by a set of balls of radius a(1 + ε)i for i = 0...M − 1, where M = dlog1+ε(b/a)e and aball of radius b around every point in P

Contains O(n1ε log(b/a)) balls. Takes at most 2 target ball queries if 1 or 2 hold, and

* O(log(M)) = O(log log(b/a)ε ) otherwise

Page 35: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

9-1

Bounding the number of balls

A data structure to answer (1 + ε)-ANN queries on general points

(Sariel Har-Peled: A Replacement for Voronoi Diagrams of Near Linear Size. FOCS 2001: 94-103)

Build a tree, with an Interval Near Neighbor structure associated with each node

Page 36: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

9-2

Bounding the number of balls

A data structure to answer (1 + ε)-ANN queries on general points

(Sariel Har-Peled: A Replacement for Voronoi Diagrams of Near Linear Size. FOCS 2001: 94-103)

Build a tree, with an Interval Near Neighbor structure associated with each node

Page 37: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

9-3

Bounding the number of balls

A data structure to answer (1 + ε)-ANN queries on general points

(Sariel Har-Peled: A Replacement for Voronoi Diagrams of Near Linear Size. FOCS 2001: 94-103)

Build a tree, with an Interval Near Neighbor structure associated with each node

Recursively find min r suchthat there are dn/2e connectedcomponents

10

7

I(P, r, 2c̄µnr/ε, ε/4), r = 10, n = 6

I(P, r, 2c̄µnr/ε, ε/4), r = 7, n = 3

Page 38: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

9-4

Bounding the number of balls

A data structure to answer (1 + ε)-ANN queries on general points

(Sariel Har-Peled: A Replacement for Voronoi Diagrams of Near Linear Size. FOCS 2001: 94-103)

Build a tree, with an Interval Near Neighbor structure associated with each node

Recursively find min r suchthat there are dn/2e connectedcomponents

10

7

I(P, r, 2c̄µnr/ε, ε/4), r = 10, n = 6

I(P, r, 2c̄µnr/ε, ε/4), r = 7, n = 3

12

I(P, r, 2c̄µnr/ε, ε/4), r = 12, n = 3

For each component finda representative and recur-sively build the outer tree

Page 39: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

10-1

Bounding the number of balls

A data structure to answer (1 + ε)-ANN queries on general points

(Sariel Har-Peled: A Replacement for Voronoi Diagrams of Near Linear Size. FOCS 2001: 94-103)

I(P, r, 2c̄µnr/ε, ε/4), r = 10, n = 6

I(P, r, 2c̄µnr/ε, ε/4), r = 7, n = 3

I(P, r, 2c̄µnr/ε, ε/4), r = 12, n = 3

Given a query point q:

1) q is outside R descend into the outer tree

q

Page 40: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

10-2

Bounding the number of balls

A data structure to answer (1 + ε)-ANN queries on general points

(Sariel Har-Peled: A Replacement for Voronoi Diagrams of Near Linear Size. FOCS 2001: 94-103)

I(P, r, 2c̄µnr/ε, ε/4), r = 10, n = 6

I(P, r, 2c̄µnr/ε, ε/4), r = 7, n = 3

I(P, r, 2c̄µnr/ε, ε/4), r = 12, n = 3

Given a query point q:

2) if q is inside r descend into the cluster

q

Page 41: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

10-3

Bounding the number of balls

A data structure to answer (1 + ε)-ANN queries on general points

(Sariel Har-Peled: A Replacement for Voronoi Diagrams of Near Linear Size. FOCS 2001: 94-103)

I(P, r, 2c̄µnr/ε, ε/4), r = 10, n = 6

I(P, r, 2c̄µnr/ε, ε/4), r = 7, n = 3

I(P, r, 2c̄µnr/ε, ε/4), r = 12, n = 3

Given a query point q:

3) otherwise I will return a(1 + ε

4)-NN

q

Page 42: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

10-4

Bounding the number of balls

A data structure to answer (1 + ε)-ANN queries on general points

(Sariel Har-Peled: A Replacement for Voronoi Diagrams of Near Linear Size. FOCS 2001: 94-103)

I(P, r, 2c̄µnr/ε, ε/4), r = 10, n = 6

I(P, r, 2c̄µnr/ε, ε/4), r = 7, n = 3

I(P, r, 2c̄µnr/ε, ε/4), r = 12, n = 3

Given a query point q:

Because of rounding up, after each step, continue on set containing ≤ n/2 + 1 points=⇒ number of steps ≤ log3/2 n

Page 43: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

11-1

Bounding the number of balls

I(P, r, 2c̄µnr/ε, ε/4), r = 10, n = 6

I(P, r, 2c̄µnr/ε, ε/4), r = 7, n = 3

I(P, r, 2c̄µnr/ε, ε/4), r = 12, n = 3

1) q is outside R descend into the outer tree

2) if q is inside r descend into the cluster

3) otherwise I will return a(1 + ε

4)-NN

Note that:

• last step is always 3)

• no error is incurred in 2)

• diameter of a cluster ≤ 2nr =⇒ error in 1) is at most (1 + εc̄µ)

Thus, overall error is bounded by:

(1+ε

4)

log3/2 n∏i=1

(1+ε

c̄µ) ≤ exp(

ε

4)

log3/2 n∏i=1

exp(ε

c̄µ) ≤ exp

ε

4+

log3/2 n∑i=1

ε

c̄µ

≤ exp (ε/2) ≤ (1+ε)

if µ = dlog3/2 ne, c̄ = 4 and ε < 1

Page 44: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

12-1

Bounding the number of balls

I(P, r, 2c̄µnr/ε, ε/4), r = 10, n = 6

I(P, r, 2c̄µnr/ε, ε/4), r = 7, n = 3

I(P, r, 2c̄µnr/ε, ε/4), r = 12, n = 3

(Sariel Har-Peled: A Replacement for Voronoi Diagrams of Near Linear Size. FOCS 2001: 94-103)

Overall Number of Balls:

Since

• the depth of the tree is at most log3/2 n

• each node ν has I(Pν, r, 2c̄µnr/ε, ε/4) with M = n log n balls

we get an immediate bound ofO(M log M) = O(n log(n) log(n log n)) = O(n log2 n)

Page 45: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

12-2

Bounding the number of balls

I(P, r, 2c̄µnr/ε, ε/4), r = 10, n = 6

I(P, r, 2c̄µnr/ε, ε/4), r = 7, n = 3

I(P, r, 2c̄µnr/ε, ε/4), r = 12, n = 3

Overall Number of Balls:

Since

• the depth of the tree is at most log3/2 n

• each node ν has I(Pν, r, 2c̄µnr/ε, ε/4) with M = n log n balls

we get an immediate bound ofO(M log M) = O(n log(n) log(n log n)) = O(n log2 n)

However, can achieve O(n log n) by considering the connection with the Cluster Tree

S. Sen, N. Sharma, Y. Sabharwal: Nearest Neighbors Search using Point Location in Balls with applications to approximateVoronoi Decompositions Journal of Computer and System Sciences, Volume 72(6) , September 2006, Pages 955-977.

2

1

3

4

5

6

Page 46: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

12-3

Bounding the number of balls

I(P, r, 2c̄µnr/ε, ε/4), r = 10, n = 6

I(P, r, 2c̄µnr/ε, ε/4), r = 7, n = 3

I(P, r, 2c̄µnr/ε, ε/4), r = 12, n = 3

Overall Number of Balls:

Since

• the depth of the tree is at most log3/2 n

• each node ν has I(Pν, r, 2c̄µnr/ε, ε/4) with M = n log n balls

we get an immediate bound ofO(M log M) = O(n log(n) log(n log n)) = O(n log2 n)

However, can achieve O(n log n) by considering the connection with the Cluster Tree

S. Sen, N. Sharma, Y. Sabharwal: Nearest Neighbors Search using Point Location in Balls with applications to approximateVoronoi Decompositions Journal of Computer and System Sciences, Volume 72(6) , September 2006, Pages 955-977.

2

1

3

4

5

6

Page 47: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

12-4

Bounding the number of balls

I(P, r, 2c̄µnr/ε, ε/4), r = 10, n = 6

I(P, r, 2c̄µnr/ε, ε/4), r = 7, n = 3

I(P, r, 2c̄µnr/ε, ε/4), r = 12, n = 3

Overall Number of Balls:

Since

• the depth of the tree is at most log3/2 n

• each node ν has I(Pν, r, 2c̄µnr/ε, ε/4) with M = n log n balls

we get an immediate bound ofO(M log M) = O(n log(n) log(n log n)) = O(n log2 n)

However, can achieve O(n log n) by considering the connection with the Cluster Tree

1

2

3

4

5

6

2

1

3

4

5

6

Page 48: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

12-5

Bounding the number of balls

I(P, r, 2c̄µnr/ε, ε/4), r = 10, n = 6

I(P, r, 2c̄µnr/ε, ε/4), r = 7, n = 3

I(P, r, 2c̄µnr/ε, ε/4), r = 12, n = 3

Overall Number of Balls:

Since

• the depth of the tree is at most log3/2 n

• each node ν has I(Pν, r, 2c̄µnr/ε, ε/4) with M = n log n balls

we get an immediate bound ofO(M log M) = O(n log(n) log(n log n)) = O(n log2 n)

However, can achieve O(n log n) by considering the connection with the Cluster Tree

1

2

3

4

5

6

rloss(p) = radius of the ball around p, when pceases to be a root

rloss(2)2

1

3

4

5

6

Page 49: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

13-1

1

2

3

4

5

6

Bounding the number of ballsI(P, r, 2c̄µnr/ε, ε/4), r = 10, n = 6

I(P, r, 2c̄µnr/ε, ε/4), r = 7, n = 3I(P, r, 2c̄µnr/ε, ε/4), r = 12, n = 3

Apart from the outer trees, going downthe (1 + ε) ANN tree is equivalent todisconnecting edges of the MST tree

q

2

1

3

4

5

6The subtrees of a node are disjoint in edges

=⇒ can charge at least 1 edge to each child.

Namely: if nν is the number of children of ν

|Pν| = O(nν) and∑

ν∈D nν = O(n)

Thus, total number of balls:∑ν∈D

O(nν

εlog

µnν

ε

)= O

(n

εlog

n log n

ε

)= O

(n

εlog

n

ε

)

Page 50: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

14-1

Construction Time

Construction time will be dominated by constructing the tree D

Can be constructed directly from the cluster tree but this takes time O(n2) time

Page 51: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

14-2

Construction Time

Construction time will be dominated by constructing the tree D

Can be constructed directly from the cluster tree but this takes time O(n2) time

In Rd the cluster tree can be (2n− 2)-approximated by a HST in O(n log n) time:

1. construct a 2-spanner of P of size O(n) in O(n log n) time

2. construct an HST that (n− 1) approximates the spanner in O(n log n) time

Page 52: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

14-3

Construction Time

Construction time will be dominated by constructing the tree D

Can be constructed directly from the cluster tree but this takes time O(n2) time

In Rd the cluster tree can be (2n− 2)-approximated by a HST in O(n log n) time:

1. construct a 2-spanner of P of size O(n) in O(n log n) time

2. construct an HST that (n− 1) approximates the spanner in O(n log n) time

Only possible in Rd, in general no HST can be computed in subquadratic time

2

1

3

4

5

6

Page 53: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

14-4

Construction Time

Construction time will be dominated by constructing the tree D

Can be constructed directly from the cluster tree but this takes time O(n2) time

In Rd the cluster tree can be (2n− 2)-approximated by a HST in O(n log n) time:

1. construct a 2-spanner of P of size O(n) in O(n log n) time

2. construct an HST that (n− 1) approximates the spanner in O(n log n) time

Only possible in Rd, in general no HST can be computed in subquadratic time

2

1

3

4

5

6

24

6

9

12

18

1 2 3 4 5 61

2

3

4

1.5

Page 54: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

15-1

Construction Time

In Rd the cluster tree can be (2n− 2)-approximated by a HST in O(n log n) time:

1. construct a 2-spanner of P of size O(n) in O(n log n) time

2. construct an HST that (n− 1) approximates the spanner in O(n log n) time

24

6

9

12

18

1 2 3 4 5 6

To compensate for the approximation factor, grow more balls:Instead of I(P, r, 2c̄µnr/ε, ε/4) construct I(P, r/(2n), 2c̄µnr/ε, ε/4)

Page 55: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

15-2

Construction Time

In Rd the cluster tree can be (2n− 2)-approximated by a HST in O(n log n) time:

1. construct a 2-spanner of P of size O(n) in O(n log n) time

2. construct an HST that (n− 1) approximates the spanner in O(n log n) time

24

6

9

12

18

1 2 3 4 5 6

To compensate for the approximation factor, grow more balls:Instead of I(P, r, 2c̄µnr/ε, ε/4) construct I(P, r/(2n), 2c̄µnr/ε, ε/4)

Instead of O(nε log b

a) = O(nε log n) will have:

O(nε log nr

rn

) = O(nε log n2) = O(n

ε log n) balls at every node

Page 56: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

15-3

Construction Time

In Rd the cluster tree can be (2n− 2)-approximated by a HST in O(n log n) time:

1. construct a 2-spanner of P of size O(n) in O(n log n) time

2. construct an HST that (n− 1) approximates the spanner in O(n log n) time

24

6

9

12

18

1 2 3 4 5 6

To compensate for the approximation factor, grow more balls:Instead of I(P, r, 2c̄µnr/ε, ε/4) construct I(P, r/(2n), 2c̄µnr/ε, ε/4)

Instead of O(nε log b

a) = O(nε log n) will have:

O(nε log nr

rn

) = O(nε log n2) = O(n

ε log n) balls at every node

Same asymptotic space and time complexity

Page 57: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

16-1

Answering ANN queries

Haven’t made our life easier, since answering target ball queries is a difficult problem

Page 58: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

16-2

Answering ANN queries

Haven’t made our life easier, since answering target ball queries is a difficult problem

Don’t need exact balls

(1 + ε) ball

r

(1 + ε)r

b≈ is (1 + ε) approximation of b = b(p, r), if

b ⊆ b≈ ⊆ b(p, r(1 + ε)

Page 59: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

16-3

Answering ANN queries

Haven’t made our life easier, since answering target ball queries is a difficult problem

Don’t need exact balls

(1 + ε) ball

r

(1 + ε)r

b≈ is (1 + ε) approximation of b = b(p, r), if

b ⊆ b≈ ⊆ b(p, r(1 + ε)

Page 60: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

16-4

Answering ANN queries

Haven’t made our life easier, since answering target ball queries is a difficult problem

Don’t need exact balls

(1 + ε) ball

r

(1 + ε)r

b≈ is (1 + ε) approximation of b = b(p, r), if

b ⊆ b≈ ⊆ b(p, r(1 + ε)

Page 61: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

16-5

Answering ANN queries

Haven’t made our life easier, since answering target ball queries is a difficult problem

Don’t need exact balls

(1 + ε) ball

r

(1 + ε)r

b≈ is (1 + ε) approximation of b = b(p, r), if

b ⊆ b≈ ⊆ b(p, r(1 + ε)

Consider Interval Near Neighbor structure on approximate balls:

If I≈(P, r, R, ε/16) is a (1 + ε/16) approximation to I(P, r, R, ε/16)

If for point q, I≈(P, r, R, ε/16) returns a ball (p, α), α ∈ [r, R] =⇒ p is (1 + ε/4)-ANN to q:

r(1 + ε/16)i ≤ dP (q) ≤ d(p, q) ≤ r(1 + ε/16)i+1(1 + ε/16) ≤ (1 + ε/4)r

Page 62: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

17-1

Fast ANN in Rd

For a given ball, b(p, r), construct a grid centered at p, with cell-size 2i, s.t.√

d2i ≤ (εr)16

Call, b≈ the set of cells that intersect b(p, r)

The distance between 2 points in a d-dimensional cell of size α is at most√∑d

i=1 α2 =√

b≈ is a (1 + ε/16) approximate ball, and contains O(

rd

(εr)d

)= O

(1ε

d)

cells

Page 63: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

17-2

Fast ANN in Rd

For a given ball, b(p, r), construct a grid centered at p, with cell-size 2i, s.t.√

d2i ≤ (εr)16

Call, b≈ the set of cells that intersect b(p, r)

The distance between 2 points in a d-dimensional cell of size α is at most√∑d

i=1 α2 =√

b≈ is a (1 + ε/16) approximate ball, and contains O(

rd

(εr)d

)= O

(1ε

d)

cells

Page 64: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

18-1

Fast ANN in Rd

• Fix the origin, and construct grid-cells from there

• If there are 2 cells with the same size, pick the one, corresponding to the smallest ball

• Thus construct an approximate I-(1 + ε/16) data structure C

Page 65: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

18-2

Fast ANN in Rd

• Fix the origin, and construct grid-cells from there

• If there are 2 cells with the same size, pick the one, corresponding to the smallest ball

• Thus construct an approximate I-(1 + ε/16) data structure C

Finding the smallest ball containing q ⇐⇒ finding the smallest grid-cell containing q

Page 66: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

18-3

Fast ANN in Rd

• Fix the origin, and construct grid-cells from there

• If there are 2 cells with the same size, pick the one, corresponding to the smallest ball

• Thus construct an approximate I-(1 + ε/16) data structure C

Finding the smallest ball containing q ⇐⇒ finding the smallest grid-cell containing q

Encode all the cells of C into a compressed quad-tree, such that each cell appears as a node

• Construction takes O(|C| log |C|) time

• Finding the appropriate node in C takes O(log |C|) time

• If information about smallest ball is propagated down the tree, answering a query takes O(log |C|)

Page 67: Presentation by Maks Ovsjanikov - graphics.stanford.edugraphics.stanford.edu/courses/cs468-06-fall/Slides/maks.pdf · 1-1 S. Har-Peled’s notes, Chapters 6 and 7 Approximate Voronoi

18-4

Fast ANN in Rd

• Fix the origin, and construct grid-cells from there

• If there are 2 cells with the same size, pick the one, corresponding to the smallest ball

• Thus construct an approximate I-(1 + ε/16) data structure C

Finding the smallest ball containing q ⇐⇒ finding the smallest grid-cell containing q

Encode all the cells of C into a compressed quad-tree, such that each cell appears as a node

• Construction takes O(|C| log |C|) time

• Finding the appropriate node in C takes O(log |C|) time

• If information about smallest ball is propagated down the tree, answering a query takes O(log |C|)

Recall that we had a data structure with O(nε log n

ε ) balls. Each ball is approximated by O( 1εd

) cells⇒ The overall complexity of the quad-tree is O(N), where N = O( n

εd+1 log nε ).

By noticing that there are many balls of similar sizes, we reduce the complexity to:

• Construction: O(nε−d log2(n/ε) time

• Storage: O(nε−d log(n/ε) space

• Point location query: O(log(n/ε))