Geometric Approximation Using Coresets Pankaj K. Agarwal Department - - PowerPoint PPT Presentation

geometric approximation using coresets
SMART_READER_LITE
LIVE PREVIEW

Geometric Approximation Using Coresets Pankaj K. Agarwal Department - - PowerPoint PPT Presentation

Geometric Approximation Using Coresets Pankaj K. Agarwal Department of Computer Science Duke University


slide-1
SLIDE 1

Geometric Approximation Using Coresets

Pankaj K. Agarwal

Department of Computer Science Duke University

slide-2
SLIDE 2
  • : Set of

moving points in

✂☎✄ ✆ ✝ ✞ ✟ ✠ ✞ ✡ ☛ ✞ ☞

Maintain the diameter (width, smallest enclosing disk) of

  • .

✫ [A., Guibas, Hershberger, Veach]

Diametral pair can change

✌ ✍ ✁ ✄ ✎

times

Kinetic data structure with

✏ ✁ ✄

events ✫ Can we maintain the approximate diameter of

  • more efficiently?

Is there a small coreset

✑ ✒
  • s.t.
✓ ✔ ✕ ✖ ✍ ✑ ✍ ☞ ✎ ✎ ✗ ✍✙✘ ✚ ✛ ✎ ✓ ✔ ✕ ✖ ✍
☞ ✎ ✎

? ✫ Kinetic bounding box hierarchies?

Kinetic Geometry

Geometric Approximation Using Coresets 1

slide-3
SLIDE 3
  • : Set of

points in

✂✢✜

✫ Fit a cylinder through

Find a cylinder

✣✥✤ ✣ ✤ ✍
✟ ✕ ✦ ✧ ✖ ✔★ ✩ ✖ ✕ ✪ ✫ ✬ ✭✯✮ ✍ ✝✰ ✣ ✎ ✆

Optimal solution:

✁✲✱

[A., Aronov, Sharir]

✆ ✳ ✍ ✘ ✎
  • approximation:
✏ ✁ ✄

✫ Can we compute an

  • approximation of
✣ ✤ ✍

in linear time?

δ rO

I

r

Is there is a small coreset

✑ ✒
  • so that
✣ ✤ ✍ ✑ ✎

approximates

✣✴✤ ✍

?

Shape Fitting

Geometric Approximation Using Coresets 2

slide-4
SLIDE 4

t=3 t=2 t=1 t=4

✫ An incoming stream of points in

✂✶✵

✫ Maintain certain geometric/statistical measures of the input stream

Diameter, smallest enclosing disk,

  • clustering

✫ Use

✸ ✹ ✧✯✺ ✻✽✼ ✾ ✁

space and processing time ✫ Much work done on maintaining a summary of 1D data ✫ Little work on multidimensional geometric data

[A., Krishnan, Mustafa, Venkatasubramanian], [Hershberger, Suri], [Bagchi, Chaudhary, Eppstein, Goodrich]

✫ How much storage and processing time (per point) needed to maintain

  • approx of smallest disk enclosing
  • ? Maintain a core set!

Geometry in Streaming Model

Geometric Approximation Using Coresets 3

slide-5
SLIDE 5

✿ ✟ ✍
  • ✰❁❀

,

❀ ✒❃❂ ✭

: Set system (range space)

✆ ❄

: VC-dimension of

❅ ✒
  • approximation if for all
❆ ❇ ❀ ❈ ❈ ❈ ❈ ❉ ❆ ❉ ❉
✚ ❉ ❆ ❊ ❅ ❉ ❉ ❅ ❉ ❈ ❈ ❈ ❈ ❋ ✛

✫ A random subset

  • f size
❍❏■ ❑ ■ ✸ ✹ ✧ ❍ ❑

is an

  • approximation of
  • with high probability [Vapnik-Chervonenkis]

✫ Efficient deterministic algorithms for computing an

  • approximation

[Matouˇ sek, Chazelle]

  • Approximation and Random Sampling

Geometric Approximation Using Coresets 4

slide-6
SLIDE 6

✫ An

  • approximation is a coreset of
  • in a combi-

natorial sense

  • : Set of points in
✂ ✄ ✆ ❀ ✟ ▼ ❆ ❊

is a disk

◆ ✆ ❅

: an

  • approximation of
  • ✰❁❀
✎ ✆ ❅

approximates

❆ ❉

is not a coreset of

  • in a metric/geometric sense
✆ ✓ ✔ ✕ ✖ ✍ ❅ ✎

does not approximate

✓ ✔ ✕ ✖ ✍

A best-fit circle for

does not approximate the best-fit circle for

  • What about other sampling schemes?
  • Approximations

Geometric Approximation Using Coresets 5

slide-7
SLIDE 7

✫ Notion of coreset is problem specicific ✫ Is there a unified framework that constructs coresets for a wide class

  • f problems?

Random subset is an

  • approximation for a large class of range

spaces!

Easy to compute Define the notion of

  • kernel

✫ Core set for a wide class of problems

Unified Framework for Coresets

Geometric Approximation Using Coresets 6

slide-8
SLIDE 8
  • : Set of points in
✂ ✵ ❖✙P ◗ ❘ P ❙ P ❚ ❯

ω(u,Q) ω(u,S) u

Directional width: For

❱ ❇ ❲ ✵ ❳ ✼

,

❨ ✍ ❱ ✰
✟ ✖ ✕ ✪ ✫ ✬ ✭✥❩ ❱ ✰ ✝ ❬ ✚ ✖ ✔★ ✫ ✬ ✭ ❩ ❱ ✰ ✝ ❬ ✛
  • kernel:
✑ ✒
  • is an
  • kernel of
  • if
❨ ✍ ❱ ✰ ✑ ✎ ✗ ✍✙✘ ✚ ✛ ✎ ❨ ✍ ❱ ✰
❭ ❱ ❇ ❲ ✵ ❳ ✼ ▲
  • Kernels

Geometric Approximation Using Coresets 7

slide-9
SLIDE 9

Theorem A: [AHV, YAPV, Ch]

✂ ✵

,

✛ ❪ ❫

. We can compute an

  • kernel of
  • f size
✘ ❴ ✛ ✻ ✵ ❳ ✼ ✾❵ ✄

in time

✁ ✡ ✘ ❴ ✛ ✵ ❳ ✜ ❵ ✄

. Lemma 1:

affine transform

s.t. ✫ Unit hypercube

❝ ✚ ✘ ✰ ✡ ✘ ❞ ✵

is the smallest box enclosing

❜ ✍

is fat ✫

is an

  • kernel of
❡ ❜ ✍ ✑ ✎

is an

  • kernel of
❜ ✍

Computing

  • Kernels

Geometric Approximation Using Coresets 8

slide-10
SLIDE 10

Lemma 2:

  • : Set of

fat points in

❝ ✚ ✘ ✰ ✡ ✘ ❞ ✵

,

✛ ❪ ❫

. We can compute an

  • kernel of
  • f size
✘ ❴ ✛ ✻ ✵ ❳ ✼ ✾ ❵ ✄

in time

✁ ✡ ✘ ❴ ✛ ✵ ❳ ✜ ❵ ✄

. Sketch: Algorithm in two phases ✫ Compute

✘ ❴ ✛ ✵ ❳ ✼
  • size approximation

✫ Draw a sphere

  • f radius

centered at origin ✫ Draw a grid of size

✘ ❴ ✛ ✻ ✵ ❳ ✼ ✾ ❵ ✄
  • n

✫ For each grid point

, select its nearest neigh- bor in

(Suffices to compute approximate NN.)

q ε CH(Q) B

Computing

  • Kernels

Geometric Approximation Using Coresets 9

slide-11
SLIDE 11

✫ Computing

  • kernels for
✛ ❤ ❫ ✐ ❫❥
  • n various synthetic inputs

Input Input Kernel Size Type Size

❦ ❧ ♠ ❦ ❧ ♥ ❦ ❧ ♦ ❦ ❧ ♣ q r s r r r q r t t ♥ ✉ s ✉ ✉✈ ♦ s t ♣ ✈

sphere

q r r s r r r q r q s ♣ ♠ ♥ ♠ ♠ s ✈ t ♠ ✇ ✉ s ♠ ✉ ♦ q s r r r s r r r q r q s t ♣ ♠ ✈ ♣ s ♣ ✈ ♦ q ✈ t s ✈ ♥ r q r s r r r ♦ ✈ ♦ ✉ ✈ s ♣ ✈ ♥ ♦ s ✈ ♠ r

cylinder

q r r s r r r ♦ ♣ ✇ t ♣ s ♣ ✇ ✉ ♥ t s ♠ r ✈ q s r r r s r r r ♦ ♥ ✇ q q ♠ s ✉ q ✉ q ♠ ✉ s ✈ ♣ ✇ q r s r r r ♣ ♠ ✈ ✇ ✉ q ♣ ♠ s ✇ r ♠

clustered

q r r s r r r q ♠ ✈ ♠ ♦ q s ♥ ♣ ✈ ✉ s ♦ q ♥ q s r r r s r r r q ♠ q ♥ r q s ✇ ✇ ♥ q ✈ s ✉ ♣ q

Kernel Computation

Geometric Approximation Using Coresets 10

slide-12
SLIDE 12

Input Input

P ① ■ P ① ② P ① ③

Type Size Prepr Query Prepr Query Prepr Query

④ ⑤ ⑥ ⑤ ⑤ ⑤ ⑤ ⑦ ⑤⑧ ⑤ ⑦ ⑤ ④ ⑤ ⑦ ⑤ ③ ⑤ ⑦ ⑤⑨ ⑤ ⑦ ④ ⑤ ⑩ ⑦ ② ⑤

sphere

④ ⑤ ⑤ ⑥ ⑤ ⑤ ⑤ ⑤ ⑦ ⑨ ② ⑤ ⑦ ⑤ ④ ⑤ ⑦ ⑩ ⑤ ⑤ ⑦ ⑨ ⑤ ④ ⑦ ⑧❶ ③❷ ⑦ ■ ■ ④ ⑥ ⑤ ⑤ ⑤ ⑥ ⑤ ⑤ ⑤ ⑩ ⑦ ■ ⑨ ⑤ ⑦ ⑤ ④ ④ ⑧ ⑦ ⑤ ❶ ④ ⑦ ⑧ ⑨ ④ ⑩ ⑦ ■ ③ ■ ■ ❷ ⑦ ■ ⑤ ④ ⑤ ⑥ ⑤ ⑤ ⑤ ⑤ ⑦ ⑤⑧ ⑤ ⑦ ⑤ ④ ⑤ ⑦ ⑤ ③ ⑤ ⑦ ⑤ ⑧ ⑤ ⑦ ④ ⑤ ■ ⑦ ② ③

cylinder

④ ⑤ ⑤ ⑥ ⑤ ⑤ ⑤ ⑤ ⑦ ③ ⑤ ⑤ ⑦ ⑤ ④ ⑤ ⑦ ⑩ ④ ⑤ ⑦ ⑧ ② ④ ⑦ ⑧ ⑩ ⑧ ⑤ ⑦ ⑤⑧ ④ ⑥ ⑤ ⑤ ⑤ ⑥ ⑤ ⑤ ⑤ ⑩ ⑦ ⑩⑧ ⑤ ⑦ ⑤ ④ ④ ⑧ ⑦ ⑤ ⑩ ⑤ ⑦ ⑧ ④ ④ ❶ ⑦ ⑩ ② ❶ ❷ ⑦ ■ ⑩ ④ ⑤ ⑥ ⑤ ⑤ ⑤ ⑤ ⑦ ⑤⑧ ⑤ ⑦ ⑤ ④ ⑤ ⑦ ⑤ ③ ⑤ ⑦ ⑤ ④ ⑤ ⑦ ④ ⑤ ⑤ ⑦ ⑤ ❶

clustered

④ ⑤ ⑤ ⑥ ⑤ ⑤ ⑤ ⑤ ⑦ ⑧ ④ ⑤ ⑦ ⑤ ④ ⑤ ⑦ ③ ⑧ ⑤ ⑦ ⑤ ■ ④ ⑦ ⑤❷ ④ ⑦ ⑧ ② ④ ⑥ ⑤ ⑤ ⑤ ⑥ ⑤ ⑤ ⑤ ⑨ ⑦ ② ④ ⑤ ⑦ ⑤ ④ ❶ ⑦ ❷ ③ ⑤ ⑦ ⑤ ■ ④ ② ⑦ ❷ ⑨ ④ ⑦ ⑤ ❶

✫ Prepr: Time (in secs.) in converting input into a fat set and prepro- cessing for nearest-neighbor (NN) queries ✫ Query: Time (in secs.) in answering NN queries ✫ Experiments run on Pentium IV 3.6GHz processor with 2GB RAM

Kernel Computation: Running Time

Geometric Approximation Using Coresets 11

slide-13
SLIDE 13

✫ Computing

  • kernels for
✛ ❤ ❫ ✐ ❫❥
  • n 3D models

Input Input Running Time Kernel Diameter Type Size Prepr Query Size Error bunny

✈ ✇ s t ♥ ✉ r ❸ q ✉ r ❸ r q ♦ ✉ r ❸ r q r

dragon

♥ ✈ ✉ s ♦ ♥ ✇ ♠ ❸ ♥ ♥ r ❸ r q ♦ t r ❸ r r ♥

buddha

✇ ♥ ✈ s ♦ ✇ ♠ ♠ ❸ ♣ ✉ r ❸ r q ♦ ♣ r ❸ r q r

Kernel Computation

Geometric Approximation Using Coresets 12

slide-14
SLIDE 14

✫ Tradeoff between kernel size and approximation error

100 200 300 400 500 600 700 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 Kernel Size Approximation Error

2D 4D 6D 8D

100 200 300 400 500 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 Kernel Size Approximation Error

Bunny: 35,947 vertices Dragon: 437,645 vertices

Experimental Results: Approximation Error

Geometric Approximation Using Coresets 13

slide-15
SLIDE 15 ❹ ✍❻❺ ✎

: Function defined over point sets in

✂✢✵

is faithful if ✫

❹ ✍
✗ ❫

for all

✂ ✵

❛ ❼ ❪ ❫ ✍ ✘ ✚ ❼ ✛ ✎ ❹ ✍
❋ ❹ ✍ ✑ ✎ ❋ ❹ ✍

for any

  • kernel
  • f
  • faithful measure

unfaithful measure

Faithful measures: Diameter, width, radius of smallest enclosing ball, volume of the smallest enclosing box (simplex) Nonfaithful measures: width of the thinnest spherical shell containing

  • Faithful Extent Measures

Geometric Approximation Using Coresets 14

slide-16
SLIDE 16

  • : Set of points,

: A faithful measure,

✛ ❪ ❫

✫ Compute an

✍ ✛ ❴ ❼ ✎
  • kernel
  • f
  • ✫ Compute
❹ ✍ ✑ ✎

using a known algorithm ✫ Return

❹ ✍ ✑ ✎

By definition,

❹ ✍ ✑ ✎ ✗ ✍ ✘ ✚ ✛ ✎ ❹ ✍

✂ ✵

,

✛ ❪ ❫

Can compute a pair

✝ ✰ ❣ ❇
  • s.t.
✮ ✍ ✝ ✰ ❣ ✎ ✗ ✍ ✘ ✚ ✛ ✎ ✓ ✔ ✕ ✖ ✍

in time

✁ ✡ ✘ ❴ ✛ ✵ ❳ ✜ ❵ ✄

✂ ✜

,

✛ ❪ ❫

Can compute an

  • kernel of the smallest simplex enclosing
  • in time
✁ ✡ ✘ ❴ ✛✲❽ ❵ ✄

How does one handle unfaithful measures?

Computing Faithful Measures

Geometric Approximation Using Coresets 15

slide-17
SLIDE 17

❾ ✟ ▼ ❿ ✼ ✰ ✐ ✐ ✐ ✰ ❿ ➀ ◆

:

  • variate functions
✆ ➁ ➂

: Upper envelope of

❾ ➁ ➂ ✍➄➃ ✎ ✟ ✖ ✕ ✪ ✞ ❿ ✞ ✍➄➃ ✎ ✆ ➅ ➂

: Lower envelope of

❾ ➅ ➂ ✍ ➃ ✎ ✟ ✖ ✔★ ✞ ❿ ✞ ✍➄➃ ✎

L U E (x)

F F F

x

U L (x)

G

E (x)

F F F

x

E

Extent of

:

➆ ➂ ✍➄➃ ✎ ✟ ➁ ➂ ✍➄➃ ✎ ✚ ➅ ➂ ✍ ➃ ✎ ✛
  • kernel:
➇ ✒ ❾

is an

  • kernel of

if

✍ ✘ ✚ ✛ ✎ ➆ ➂ ✍➄➃ ✎ ❋ ➆ ➈ ✍➄➃ ✎ ❭ ➃ ❇ ✂ ✵

Extents of Functions

Geometric Approximation Using Coresets 16

slide-18
SLIDE 18

EF (x)

(x) G (x)

E

F

E

x x

U L

F F

✫ Many functions can be mapped to linear functions using linearization ✫ Upper and lower envelopes of linear functions are convex polyhedra ✫ Relationship between linear functions and points Theoream A + Duality: Theorem B:

: set of

✁ ✮
  • variate linear functions,
✛ ❪ ❫

. We can compute an

  • kernel of
  • f size
✘ ❴ ✛ ✵ ❵ ✄

in time

✁ ✡ ✘ ❴ ✛ ✵ ❳ ✼ ❵ ✄

.

  • Kernel of Linear Functions

Geometric Approximation Using Coresets 17

slide-19
SLIDE 19 ❾ ✟ ▼ ❿ ✼ ✰ ✐ ✐ ✐ ✰ ❿ ➀ ◆

:

  • variate polynomials

Linearization [Yao-Yao, A.-Matouˇ

sek]

✫ Map

➊ ✍➄➃ ✎✙➋ ✂ ✵ ➌ ✂✶➍

,

➊ ✍ ➃ ✎ ✟ ✍ ➊ ✼ ✍ ➃ ✎ ✰ ✐ ✐ ✐ ✰ ➊ ➍ ✍ ➃ ✎ ✎

✫ Each

❿ ✞

maps to a

  • variate linear function
➎ ✞

;

❿ ✻ ➃ ✎ ❪ ❫ ❡ ➎ ✞ ✍ ➊ ✍ ➃ ✎ ✎ ❪ ❫

: Dimension of linearization Lemma:

➏ ✒ ➉

is an

  • kernel of
➉ ❡ ➇ ✟ ▼ ❿ ✞ ❉ ➎ ✞ ❇ ➏ ◆

is an

  • kernel of

. Theorem C:

: a family of

✁ ✮
  • variate polynomials,

: dimension of linearization,

✛ ❪ ❫

. We can compute an

  • kernel of
  • f size
✘ ❴ ✛ ➍ ❵ ✄

in time

✁ ✡ ✘ ❴ ✛ ➍ ❳ ✼ ❵ ✄

.

  • Kernels of Polynomials

Geometric Approximation Using Coresets 18

slide-20
SLIDE 20
  • : Set of

moving points in

✂ ✵ ✆ ✝ ✞ ✟ ✠ ✞ ✡ ☛ ✞ ☞

,

✠ ✞ ✰ ☛ ✞ ❇ ✂ ✵ ✆
☞ ✎ ✟ ▼ ✝ ✞ ✍ ☞ ✎ ❉ ✘ ❋ ➐ ❋ ✁ ◆

✑ ✒
  • an
  • kernel if
❭ ❱ ❇ ❲ ✵ ❳ ✼ ✰ ☞ ❇ ✂ ✍ ✘ ✚ ✛ ✎ ❨ ✍ ❱ ✰
☞ ✎ ✎ ❋ ❨ ✍ ❱ ✰ ✑ ✍ ☞ ✎ ✎

❨ ✍ ❱ ✰
☞ ✎ ✎ ✟ ✖ ✕ ✪ ✫ ✬ ✭ ❩ ✝ ✍ ☞ ✎ ✰ ❱ ❬ ✚ ✖ ✔★ ✫ ✬ ✭ ❩ ✝ ✍ ☞ ✎ ✰ ❱ ❬

ω(u,Q) ω(u,S) u

Define

❿ ✞ ✍ ❱ ✰ ☞ ✎ ✟ ❩ ✝ ✞ ✍ ☞ ✎ ✰ ❱ ❬

;

❿ ✞

is a

✓➑ ✧ ✍ ❂ ✎

polynomial Claim:

❾ ✟ ▼ ❿ ✼ ✰ ✐ ✐ ✐ ✰ ❿ ➀ ◆

,

❨ ✍ ❱ ✰
☞ ✎ ✎ ✟ ➆ ➂ ✍ ❱ ✰ ☞ ✎ ✛
  • kernel of
❾ ➌ ✛
  • kernel of
  • .

Apply Theorem C!

Application I: Kinetic Geometry

Geometric Approximation Using Coresets 19

slide-21
SLIDE 21

Corollary:

  • :

linearly moving points in

✂ ✵

,

✛ ❪ ❫

. An

  • kernel of size
✘ ❴ ✛ ✵ ❳ ✼ ❵ ✄

can be computed in

✁ ✡ ✘ ❴ ✛ ✄ ✵ ❳ ✜ ❵ ✄

time. Maintaining the

  • approximate bounding box of
  • :

✫ Compute an

  • kernel
  • f
  • ✫ Use a kinetic data structure to maintain the

extent of

  • in each direction

✫ Bounding box is defined by the left-, right-, top-, and bottom-most points ✫ Events: When one of these four points change ✫ Approach works for maintaining width, smallest enclosing ball/rectangle/simplex,

✐ ✐ ✐

Application I: Kinetic Geometry

Geometric Approximation Using Coresets 20

slide-22
SLIDE 22

✫ 100,000 moving points; their trajectories chosen to ensure large num- ber of events ✫ Trajectories linear or quadratic ✫ Error

❤ ❫ ✐ ❫ ➒

(98% time) and

❫ ✐ ❫➓

(100% time) for kernel 16.

−10 −5 5 10 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 Time Quality

Kernel Size = 16 Kernel Size = 32

−10 −5 5 10 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 Time Quality

Kernel Size = 16 Kernel Size = 28

Linear Motion Quadratic Motion

Bounding Box: Quality of Kernels

Geometric Approximation Using Coresets 21

slide-23
SLIDE 23

−10 −5 5 10 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 Time # Events

Linear Motion, Input Size = 10,000 Quadratic Motion, Input Size = 10,000

−10 −5 5 10 2 4 6 8 10 12 14 16 18 Time # Events

Linear Motion, Kernel Size = 24 Quadratic Motion, Kernel Size = 27

Exact algorithm Approximation

Bounding Box: Number of Events

Geometric Approximation Using Coresets 22

slide-24
SLIDE 24

✫ Maintaining the kernel of

✘ ❫ ✰ ❫ ❫ ❫

moving points ✫ Slow implementation of kinetic convex hull algorithm

−2 −1.5 −1 −0.5 0.5 1 1.5 2 0.75 0.8 0.85 0.9 0.95 1 Time Quality

Kernel Size = 46 Kernel Size = 128 Kernel Size = 399

−2 −1.5 −1 −0.5 0.5 1 1.5 2 0.85 0.9 0.95 1 Time Quality

Kernel Size = 46 Kernel Size = 128 Kernel Size = 399

−2 −1.5 −1 −0.5 0.5 1 1.5 2 0.85 0.9 0.95 1 Time Quality

Kernel Size = 46 Kernel Size = 128 Kernel Size = 399

Convex hull Diameter Width

Diameter & Width: Quality of Kernel

Geometric Approximation Using Coresets 23

slide-25
SLIDE 25

−2 −1.5 −1 −0.5 0.5 1 1.5 2 400 600 800 1000 1200 1400 1600 1800 2000 2200 Time # Events −2 −1.5 −1 −0.5 0.5 1 1.5 2 20 40 60 80 100 120 140 160 Time # Events

Kernel Size = 46 Kernel Size = 128 Kernel Size = 399

Exact algorithms

  • kernel

Convex Hull: Number of Events

Geometric Approximation Using Coresets 24

slide-26
SLIDE 26

Functions are not polynomials in many applications

Distance between point

and circle of radius

centered at

✝ ❿ ✍➄➃ ✎ ✟ ➔ ➃ ✚ ✝ ➔ ✚ ❆

❾ ✟ ▼ ❿ ✼ ✰ ✐ ✐ ✐ ✰ ❿ ➀ ◆

:

  • variate functions

❿ ✞➣→ ✍ ➎ ✞ ✎ ✼ ❵↕↔

,

➎ ✞

:

  • variate polynomial,
❆ ✗ ✘ ❇ ➙

➉ ✟ ▼ ➎ ✞ ❉ ✘ ❋ ➐ ❋ ✁ ◆

Theorem D:

➏ ✒ ➉

is an

❼ ✛ ↔
  • kernel of

,

❼ ❪ ❫

a constant, then

▼ ❿ ✞ ❉ ➎ ✞ ❇ ➏ ◆

is an

  • kernel of

. Corollary: If

admits a linearization of dimension

, then we can com- pute an

  • kernel of
  • f size
✘ ❴ ✛ ↔ ➍ ❵ ✄

in time

✁ ✡ ✘ ❴ ✛ ↔ ➍ ❳ ✼ ❵ ✄

.

  • Kernels of Fractional Polynomials

Geometric Approximation Using Coresets 25

slide-27
SLIDE 27
  • : Set of

points in

✂ ✄

✫ Find the best-fit circle

through

  • .

(minimize the max distance between

and

.)

❹ ✍ ➃ ✎

: Min width of annulus containing

  • centered at

✮ ✍➄➃ ✰ ✝ ✎

: Distance between

and

✝ ❹ ✍ ➃ ✎ ✟ ✖ ✕ ✪ ✫ ✬ ✭ ✮ ✍ ➃ ✰ ✝ ✎ ✚ ✖ ✔★ ✫ ✬ ✭ ✮ ✍ ➃ ✰ ✝ ✎

I O

r r x

❿ ✞ ✍ ➃ ✎ ✟ ✮ ✍ ➃ ✰ ✝ ✞ ✎

,

❾ ✟ ▼ ❿ ✼ ✰ ✐ ✐ ✐ ❿ ➀ ◆ ❹ ✍ ➃ ✎ ✟ ➆ ➂ ✍➄➃ ✎

Compute

➝ ✤ ✟ ✖ ✔ ★ ➞ ➆ ➂ ✍➄➃ ✎

✫ Compute an

  • kernel
  • f

;

❉ ➇ ❉ ✟ ✘ ❴ ✛

✫ Compute

➃ ✤ ✟ ✕ ✦ ✧ ✖ ✔★ ➞ ➆ ➈ ✍ ➃ ✎

✫ Return

➆ ➂ ✍ ➃ ✤ ✎

;

➆ ➂ ✍ ➃ ✤ ✎ ❋ ✍ ✘ ✡ ✛ ✎ ➝ ✤

✫ Time:

✁ ✡ ✘ ❴ ✛ ✺ ✻✽✼ ✾

Application II: Shape Fitting

Geometric Approximation Using Coresets 26

slide-28
SLIDE 28

  • : Set of points in
✂ ✄

✫ Find the best-fit circle

through

✍ ✿ ✰ ✣ ✎ ✟ ✖ ✕ ✪ ✫ ✬ ➟ ✮ ✍ ✝✰ ✣ ✎

A simple iterative algorithm ✫

❅ ✒
  • : Initially,
❉ ❅ ❉ ✟ ➒

➠ ✍ ❅ ✎

: Best fit circle for

✫ while

➡ ➢ ➜ ➤➦➥ ➢➨➧ ➩ ➩✽➫ ➢➨➭ ➯ ➲ ➩ ➡ ➢➨➧ ➤➦➥ ➢➨➧ ➩ ➩ ✆ ✠ ❇
  • : Point farthest from
➠ ✍ ❅ ✎ ✆ ❅ ✟ ❅ ➳ ▼ ✠ ◆

b c a

Claim: The algorithm terminates in

✳ ✍✙✘ ❴ ✛ ✎

steps. Works for other shape-fitting problems as well.

Shape Fitting: Incremental Algorithm

Geometric Approximation Using Coresets 27

slide-29
SLIDE 29

Input Input Running Output Type Size Time Width

q r➸➵ r ❸ r q ➺ ♠ ➻

0.0501

➼ ❧ r ❸ r ✇ q r➾➽ r ❸ r ♠ ➺ ♠ ➻

0.0500

q r➪➚ r ❸ q ♣ ➺ ♠ ➻

0.0500

q r➶➵ r ❸ r q ➺ ♠ ➻

0.5014

➼ ❧ r ❸ ✇ r q r➪➽ r ❸ r ✈ ➺ ♠ ➻

0.5004

q r➾➚ r ❸ ♠ ♦ ➺ ♠ ➻

0.5001

q r➸➵ r ❸ r ✉ ➺ t ➻

50.051

➼ ❧ ✇ r ❸ r q r➾➽ r ❸ q ♠ ➺ t ➻

50.018

q r➾➚ r ❸ ♦ ✉ ➺ t ➻

50.001

✫ Points chosen randomly inside an annulus of width

, inner radius

✘ ✐ ❫

✫ Number of iterations is

❤ ✘ ❫

Minimum Width Annulus

Geometric Approximation Using Coresets 28

slide-30
SLIDE 30

✫ Points chosen randomly on a cylindrical surface of radius

, height

✫ Algorithms APPR: Approximation, CORE: Kernel based INCR: Incremental

Input Input Running Time Output Radius Type Size

APPR CORE INCR APPR CORE INCR

④ ⑤ ⑥ ⑤ ⑤ ⑤ ■ ⑤ ⑦ ⑧❶ ⑤ ⑦ ⑧ ④ ⑤ ⑦ ④ ④ ➘ ③ ➴

1.024 1.012 1.009

➷ ① ■ ⑦ ⑤ ④ ⑤ ⑤ ⑥ ⑤ ⑤ ⑤ ■ ■ ③ ⑦ ❷ ⑩ ④ ⑦ ④ ② ⑤ ⑦ ■ ❶ ➘ ③ ➴

1.021 1.020 1.013

④ ⑥ ⑤ ⑤ ⑤ ⑥ ⑤ ⑤ ⑤ ■ ③ ② ⑤ ⑦ ④ ⑤ ④ ■ ⑦ ④ ⑩ ④ ⑦ ③ ⑧ ➘ ⑨ ➴

1.010 1.011 1.013

④ ⑤ ⑥ ⑤ ⑤ ⑤ ④ ③ ⑦ ❶ ■ ⑤ ⑦ ⑧ ⑤ ⑤ ⑦ ④ ④ ➘ ❷ ➴

1.029 1.078 1.072

➷ ① ■ ⑤ ⑦ ⑤ ④ ⑤ ⑤ ⑥ ⑤ ⑤ ⑤ ④ ❶ ❷ ⑦ ■ ④ ④ ⑦ ⑤ ③ ⑤ ⑦ ■ ⑩ ➘ ❷ ➴

1.086 1.056 1.021

④ ⑥ ⑤ ⑤ ⑤ ⑥ ⑤ ⑤ ⑤ ■ ⑤ ■ ③ ⑦ ⑨ ② ④ ■ ⑦ ② ❷ ■ ⑦ ⑧ ❷ ➘ ❶ ➴

1.066 1.039 1.068

④ ⑤ ⑥ ⑤ ⑤ ⑤ ④ ③ ⑦ ② ⑨ ⑤ ⑦ ■ ❶ ⑤ ⑦ ④ ④ ➘ ❷ ➴

1.052 1.094 1.050

➷ ① ■ ⑤ ⑤ ⑦ ⑤ ④ ⑤ ⑤ ⑥ ⑤ ⑤ ⑤ ④ ❶ ③ ⑦ ⑤ ■ ④ ⑦ ⑤ ② ⑤ ⑦ ④ ❶ ➘ ② ➴

1.030 1.092 1.018

④ ⑥ ⑤ ⑤ ⑤ ⑥ ⑤ ⑤ ⑤ ■ ⑤ ③ ❷ ⑦ ④ ⑩ ④ ④ ⑦ ⑩ ❶ ■ ⑦ ❶ ❶ ➘ ④ ⑤ ➴

1.072 1.039 1.037 bunny

⑧ ⑨ ⑥ ⑩ ② ❷ ③ ❶ ⑦ ⑤ ❶ ⑤ ⑦ ② ③ ⑤ ⑦ ④ ⑨ ➘ ③ ➴

0.0671 0.0672 0.0674 dragon

② ⑧ ❷ ⑥ ③ ② ⑨ ❶ ⑤ ⑩ ⑦ ❷ ❷ ■ ⑦ ⑩ ② ⑤ ⑦ ⑩ ⑩ ➘ ❷ ➴

0.0770 0.0770 0.0770 buddha

⑨ ② ⑧ ⑥ ③⑨ ■ ④ ④ ■ ③ ⑦ ■ ❷ ⑧ ⑦ ⑨ ❶ ④ ⑦ ④ ⑩ ➘ ❷ ➴

0.0408 0.0408 0.0408

Minimum Enclosing Cylinder

Geometric Approximation Using Coresets 29

slide-31
SLIDE 31

  • : Stream of points in
✂ ✄

✫ Maintain the

  • kernel using
✸ ✹ ✧ ✺ ✻✽✼ ✾ ✁

space ✫ Partition

into subsets

➬ ✼ ✰ ✐ ✐ ✐ ✰ ➬ ➮ ✆ ❉ ➬ ✞ ❉ ✟ ❂ ➱

for some

✃ ❋ ✸ ✹ ✧ ✄ ✁

,

✃ ✟ ✦ ✕ ★ ❐ ✍ ➬ ✞ ✎ ✆ ➬ ✞

’s are not maintained explicitly ✫ Maintain an

✍ ✛ ❴ ❂ ✎
  • kernel
✑ ✞
  • f
➬ ✞ ✆ ❉ ✑ ✞ ❉ ✟ ✃ ❴ ❒ ✛ ✆ ❮ ✞ ✑ ✞

is an

✍ ✛ ❴ ❂ ✎
  • kernel of

. ✫ Maintain an

✛ ❴➨❰
  • kernel
  • f
❮ ✞ ✑ ✞ ❉ ✑ ❉ ✟ ✘ ❴ ❒ ✛

P

1

P

2

P

3

P

4 4

Q Q

3

Application III: Handling Data Stream

Geometric Approximation Using Coresets 30

slide-32
SLIDE 32

✫ Create a new set

➬ Ï ✟ ▼ ✝ ◆

;

✑ Ï ✟ ➬ Ï

✫ If there are two sets

➬ ➞ ✰ ➬ Ð
  • f rank
✃ ✆

Compute an

✛ ❴ ✍ ✃ ✡ ✘ ✎ ✄
  • kernel
✑ Ñ
  • f
✑ ➞ ➳ ✑ Ð ✆

Delete

✑ ➞ ✰ ✑ Ð

and add

✑ Ñ

;

✆ ➬ Ñ ✟ ➬ ➞ ➳ ➬ Ð

;

✦ ✕ ★ ❐ ✍ ➬ Ñ ✎ ✟ ✃ ✡ ✘

✑ Ñ

is an

✍ ✛ ❴ ❂ ✎
  • kernel of
➬ Ñ

P

z y x

P P Q Q Q

x y z

Q U Q

x y

Space:

✸ ✹ ✧ ✄ ✍ ✁ ✎ ❴ ❒ ✛

, Processing time:

✳ ✍ ✘ ❴ ❒ ✛ ✎

(amortized) Improvement (Chan). Space:

✘ ❴ ✛

, time:

✳ ✍ ✘ ✎

(amortized) Extend to higher diemnsions. Corollary:

✍ ✘ ✚ ✛ ✎
  • approximation of width, smalelst enclosing box, ...

using

✘ ❴ ✛ ✺ ✻✽✼ ✾

space and time in the streaming model.

Inserting a Point

Geometric Approximation Using Coresets 31

slide-33
SLIDE 33

✫ Computing

  • kernels in high dimensions

[B˘ adoiu, Har-Peled, Indyk], [B˘ adoiu, Clarkson], [Har-Peled, Varadarajan], [Kumar, Mitchell, Yildirim], [Kumar, Yildirim]

Smallest enclosing ball

Ò ✘ ❴ ✛ Ó ✆

Smallest enclosing ellipsoid

✳ ✍ ✮ ❴ ✛ ✎ ✆ ✘
  • median
✘ ❴ ✛ ✺ ✻✽✼ ✾

✫ Computing

  • kernels in presence of outliers [Har-Peled, Wang]

✫ Computing

  • kernels for
  • clusters

[Har-Peled], [A., Procopiuc, Varadarajan]

✆ ✷
  • centers
✆ ✷
  • medians
✆ ✷
  • line-centers

Extensions

Geometric Approximation Using Coresets 32

slide-34
SLIDE 34

  • kernels in high dimensions

Polynomial dependence on

✮ ✰ ✘ ❴ ✛

✫ General technique for computing core sets for clustering ✫ Core sets for shape fitting if we want to minimize the rms distance

Given

  • , compute a cylinder

so that the rms distance between

and

  • is minimum

✫ Core sets and range spaces with finite VC dimensions

Conclusions

Geometric Approximation Using Coresets 33

slide-35
SLIDE 35

Review article. ✫ A., S. Har-Peled, K. Varadarajan, Geometric approximation via coresets, Cur- rent Trends in Combinatorial and Computational Geometry (E. Welzl, eds.), to appear. Technical artciles. ✫ A., S. Har-Peled, K. Varadarajan, Approximating extent measures of points,

  • J. ACM, 51(2004), 606–635.

✫ A., C. M. Procopiuc, and K. Varadarajan, Approximation algorithms for k-line center, 10th Annual European Sympos. Algorithms, 2002. ✫ T. M. Chan, Faster core-set constructions and data stream algorithms in fixed dimensions, in Proc. 20th Annu. ACM Sympos. Comput. Geom., 2004, 152– 159. ✫ H. Yu, A., R. Poreddy, K. Varadarajan, Practical methods for shape fitting and kinetic data structures using core sets, in Proc. 20th Annu. Sympos. Comput. Geom., 2004, 263–272.

References

Geometric Approximation Using Coresets 34