Download presentation

Presentation is loading. Please wait.

Published byJulio Youell Modified about 1 year 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

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google