Download presentation
Presentation is loading. Please wait.
Published byJulio Youell Modified over 9 years ago
1
A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu
2
2 Extent Measures Diameter, width, convex hull Simple shapes that enclose point sets Min-radius ball, min-volume box, min-radius cylinder Min-width cylindrical shell, min-width spherical shell Maintaining shape descriptors for moving points Applications Computer graphics Solid modeling Machine learning Data mining Sensor networks
3
3 Approximation ε-Kernel [A., Har-Peled, Varadarajan,04] This talk: maintaining an ε-kernel Q of a stream S of points a small subset that ε -approximate width of original input in all directions u wuwu WuWu computable an -kernel of size 1/ d/2 in O(n+1/ε d-3/2 ) time [A. etal, Chan] results in linear-time approx algorithm for many extent measures
4
4 Results Previous results Our main result: a space-optimal data-stream algorithm in R 2 O(1/ε 1/2 ) space, O(log 1/ε) update time (amortized) DimensionSpaceUpdate timeRef RdRd (1/ε (d-1)/2 )log d n1/ε 3(d-1)/2 [A., Har-Peled, Varadarajan, 04] RdRd 1/ε d-3/2 log d (1/ε)1/ε 1/2 [Chan, 04] R2R2 1/ε 1/2 log (1/ε) [Hershberger,Suri,04]
5
5 Problem is easy if point set is fat Algorithm Overview
6
6 Problem is easy if point set is fat Algorithm Overview
7
7 Problem is easy if point set is fat Keep track of nearest neighbor of each grid point Can be implemented efficiently in O(log 1/ε) time per point Algorithm Overview
8
8 Epochs and subepochs Algorithm Overview o
9
9 Epochs and subepochs Algorithm Overview o xixi
10
10 Epochs and subepochs Algorithm Overview o 2 ·|| ox i || xixi an epoch
11
11 Epochs and subepochs Algorithm Overview o yjyj 2 ·|| ox i || xixi
12
12 Epochs and subepochs Algorithm Overview o yjyj 2 ·|| ox i || xixi 2 ·d( y j, ox i )
13
13 Epochs and subepochs Algorithm Overview 2 ·|| ox i || o xixi a subepoch 2 ·d( y j, ox i ) yjyj
14
14 Epochs and subepochs Algorithm Overview 2 ·|| ox i || o xixi 2 ·d( y j, ox i ) yjyj a subepoch
15
15 Epochs and subepochs Algorithm Overview 2 ·|| ox i || o xixi 2 ·d( y j, ox i ) yjyj a subepoch
16
16 Epochs and subepochs Algorithm Overview 2 ·|| ox i || o xixi 2 ·d( y j, ox i ) yjyj a subepoch
17
17 Epochs and subepochs Algorithm Overview 2 ·|| ox i || o xixi yjyj 2 ·d( y j, ox i ) a subepoch
18
18 Epochs and subepochs Algorithm Overview 2 ·|| ox i || y j+1 Starting a new subepoch o xixi 2 ·d( y j+1, ox i )
19
19 Epochs and subepochs Algorithm Overview 2 ·|| ox i || 2 ·d( y j+1, ox i ) Starting a new epoch o xixi y j+1
20
20 Epochs and subepochs Algorithm Overview Starting a new epoch o x i+1 2 ·|| ox i+1 ||
21
21 Algorithm Overview Chan’s algorithm o x
22
22 Algorithm Overview Chan’s algorithm Too close to point o o x Keep last log(1/ε) epochs alive
23
23 Algorithm Overview Chan’s algorithm Too close to point o o x Keep last log(1/ε) epochs alive
24
24 Algorithm Overview Chan’s algorithm Keep last log(1/ε) epochs alive Keep last log(1/ε) subepochs alive Too close to point o Too close to line ox o x
25
25 Algorithm Overview Chan’s algorithm Total space: (1/ε 1/2 ) log 2 (1/ε) Keep last log(1/ε) subepochs alive Too close to point o Too close to line ox o x Keep last log(1/ε) epochs alive
26
26 New Ingredient Prune points of previous epochs at the beginning of each new epoch o last log(1/ε) epochs
27
27 New Ingredient Prune points of previous epochs at the beginning of each new epoch o x last log(1/ε) epochs
28
28 New Ingredient Prune points of previous epochs at the beginning of each new epoch o x last log(1/ε) epochs
29
29 New Ingredient Prune points of previous epochs at the beginning of each new epoch o x last log(1/ε) epochs j -th last: O(j 2 /(2 j ε) 1/2 ) Total space remains O(1/ε 1/2 ) ! O(1)O(1/ε 1/2 )
30
30 New Ingredient Prune points of previous subepochs at the beginning of each new subepoch Algorithm for subepoch does not touch points of previous epochs o x j -th last: O(j/(2 j ε) 1/2 ) last log(1/ε) subepochs O(1) O(1/ε 1/2 )
31
31 Point set is always stretched in vertical direction Intuition for Subepoch 2 ·|| ox || o x 2 ·d( y i-j, ox ) y i-j yiyi 2 ·d( y i, ox ) π/2 π/4 0 π/2 j …
32
32 Starting a Subepoch Splitting and pruning π/2 π/4 0 π/2 j … π/2 π/4 0 π/2 j … π/2 j+1
33
33 Point set is stretched in several directions Intuition for Epoch π/2 π/4 0 π/2 j …
34
34 Point set is stretched in several directions Intuition for Epoch π/2 π/4 0 π/2 j …
35
35 Point set is stretched in several directions Intuition for Epoch π/2 π/4 0 … π/2 j+1 π/2 π/4 0 π/2 j …
36
36 Point set is stretched in several directions Overlay two angular partitions and maintain proper invariants Intuition for Epoch π/2 π/4 0 … π/2 j+1 π/2 π/4 0 π/2 j …
37
37 Extensions Space-optimal approximation algorithm for maintaining width (smallest enclosing box, etc) in R 2 Space-optimal algorithm for maintaining (k, ε) -kernels in R 2 O(k /ε 1/2 ) space, O(k log 1/ε) update time Improved algorithm for maintaining ε-kernels in R d O(1/ε d-3/2 ) space, O(log 1/ε) update time Similar results for (k, ε) -kernels Improved algorithms for numerous data-stream problems related to extent measures
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.