Geometric Approximation Using Coresets Pankaj K. Agarwal Department - - PowerPoint PPT Presentation
Geometric Approximation Using Coresets Pankaj K. Agarwal Department - - PowerPoint PPT Presentation
Geometric Approximation Using Coresets Pankaj K. Agarwal Department of Computer Science Duke University
- : 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
- : 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
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
✫
✿ ✟ ✍- ✰❁❀
,
❀ ✒❃❂ ✭: 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
✫ 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
✫ 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
- : Set of points in
ω(u,Q) ω(u,S) u
Directional width: For
❱ ❇ ❲ ✵ ❳ ✼,
❨ ✍ ❱ ✰- ✎
- kernel:
- is an
- kernel of
- if
- ✎
- Kernels
Geometric Approximation Using Coresets 7
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
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
✫ 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 ✈ ♠ rcylinder
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 ✉ ♣ qKernel Computation
Geometric Approximation Using Coresets 10
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
✫ 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 rdragon
♥ ✈ ✉ s ♦ ♥ ✇ ♠ ❸ ♥ ♥ r ❸ r q ♦ t r ❸ r r ♥buddha
✇ ♥ ✈ s ♦ ✇ ♠ ♠ ❸ ♣ ✉ r ❸ r q ♦ ♣ r ❸ r q rKernel Computation
Geometric Approximation Using Coresets 12
✫ 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
: 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
✫
- : 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
✫
❾ ✟ ▼ ❿ ✼ ✰ ✐ ✐ ✐ ✰ ❿ ➀ ◆:
✮- 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
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
:
✮- 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
- : 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
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
✫ 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
−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
✫ 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
−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
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
- : 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
✫
- : 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
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
✫ 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
✫
- : 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
✫ 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
✫ 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
✫
✛- 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
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.