# A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu.

## Presentation on theme: "A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu."— Presentation transcript:

A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu

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 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 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  Problem is easy if point set is fat Algorithm Overview

6  Problem is easy if point set is fat Algorithm Overview

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  Epochs and subepochs Algorithm Overview o

9  Epochs and subepochs Algorithm Overview o xixi

10  Epochs and subepochs Algorithm Overview o 2 ·|| ox i || xixi an epoch

11  Epochs and subepochs Algorithm Overview o yjyj 2 ·|| ox i || xixi

12  Epochs and subepochs Algorithm Overview o yjyj 2 ·|| ox i || xixi 2 ·d( y j, ox i )

13  Epochs and subepochs Algorithm Overview 2 ·|| ox i || o xixi a subepoch 2 ·d( y j, ox i ) yjyj

14  Epochs and subepochs Algorithm Overview 2 ·|| ox i || o xixi 2 ·d( y j, ox i ) yjyj a subepoch

15  Epochs and subepochs Algorithm Overview 2 ·|| ox i || o xixi 2 ·d( y j, ox i ) yjyj a subepoch

16  Epochs and subepochs Algorithm Overview 2 ·|| ox i || o xixi 2 ·d( y j, ox i ) yjyj a subepoch

17  Epochs and subepochs Algorithm Overview 2 ·|| ox i || o xixi yjyj 2 ·d( y j, ox i ) a subepoch

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  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  Epochs and subepochs Algorithm Overview Starting a new epoch o x i+1 2 ·|| ox i+1 ||

21 Algorithm Overview  Chan’s algorithm o x

22 Algorithm Overview  Chan’s algorithm Too close to point o o x Keep last log(1/ε) epochs alive

23 Algorithm Overview  Chan’s algorithm Too close to point o o x Keep last log(1/ε) epochs alive

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 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 New Ingredient  Prune points of previous epochs at the beginning of each new epoch o last log(1/ε) epochs

27 New Ingredient  Prune points of previous epochs at the beginning of each new epoch o x last log(1/ε) epochs

28 New Ingredient  Prune points of previous epochs at the beginning of each new epoch o x last log(1/ε) epochs

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 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  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 Starting a Subepoch  Splitting and pruning π/2 π/4 0 π/2 j … π/2 π/4 0 π/2 j … π/2 j+1

33  Point set is stretched in several directions Intuition for Epoch π/2 π/4 0 π/2 j …

34  Point set is stretched in several directions Intuition for Epoch π/2 π/4 0 π/2 j …

35  Point set is stretched in several directions Intuition for Epoch π/2 π/4 0 … π/2 j+1 π/2 π/4 0 π/2 j …

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 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

Download ppt "A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu."

Similar presentations