A space optimal data stream algorithm for coresets in the plane
Download
1 / 39

A Space-Optimal Data-Stream Algorithm for Coresets in the Plane - PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on

A Space-Optimal Data-Stream Algorithm for Coresets in the Plane. Pankaj K. Agarwal Joint work with Hai Yu. Extent Measures. Diameter, width, convex hull Simple shapes that enclose point sets Min-radius ball, min-volume box, min-radius cylinder

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' A Space-Optimal Data-Stream Algorithm for Coresets in the Plane' - zeroun


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
A space optimal data stream algorithm for coresets in the plane

A Space-Optimal Data-Stream Algorithm for Coresets in the Plane

Pankaj K. Agarwal

Joint work with Hai Yu


Extent measures
Extent Measures Plane

  • 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


Approximation
Approximation Plane

  • ε-Kernel[A., Har-Peled, Varadarajan,04]

a small subset that ε-approximate directional width of input points in all directions


Approximation1
Approximation Plane

  • ε-Kernel[A., Har-Peled, Varadarajan,04]

  • This talk: maintaining an ε-kernel Q of a stream S of points

a small subset that ε-approximate directional width of input points in all directions

wu

u

computable an e-kernel of size 1/ed/2 in O(n+1/εd-3/2) time [A. etal, Chan]

Wu

results in linear-time approx algorithm for many extent measures


Results
Results Plane

  • Previous results

  • Our main result: a space-optimal data-stream algorithm in R2

    • O(1/ε1/2) space, O(log1/ε) update time (amortized)


Algorithm overview
Algorithm Overview Plane

  • Problem is easy if point set is fat


Algorithm overview1
Algorithm Overview Plane

  • Problem is easy if point set is fat


Algorithm overview2
Algorithm Overview Plane

  • 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

Apply affine transform if point set not fat


Algorithm overview3
Algorithm Overview Plane

  • Epochs and subepochs

o


Algorithm overview4
Algorithm Overview Plane

  • Epochs and subepochs

o

xi


Algorithm overview5
Algorithm Overview Plane

  • Epochs and subepochs

o

xi

2·||oxi||

an epoch


Algorithm overview6
Algorithm Overview Plane

  • Epochs and subepochs

yj

o

xi

2·||oxi||


Algorithm overview7
Algorithm Overview Plane

  • Epochs and subepochs

yj

2·d(yj,oxi)

o

xi

2·||oxi||


Algorithm overview8
Algorithm Overview Plane

  • Epochs and subepochs

yj

2·d(yj,oxi)

o

xi

2·||oxi||

a subepoch


Algorithm overview9
Algorithm Overview Plane

  • Epochs and subepochs

yj

2·d(yj,oxi)

o

xi

2·||oxi||

a subepoch


Algorithm overview10
Algorithm Overview Plane

  • Epochs and subepochs

yj

2·d(yj,oxi)

o

xi

2·||oxi||

a subepoch


Algorithm overview11
Algorithm Overview Plane

  • Epochs and subepochs

yj

2·d(yj,oxi)

o

xi

2·||oxi||

a subepoch


Algorithm overview12
Algorithm Overview Plane

  • Epochs and subepochs

yj

2·d(yj,oxi)

o

xi

2·||oxi||

a subepoch


Algorithm overview13
Algorithm Overview Plane

  • Epochs and subepochs

Starting a new subepoch

yj+1

2·d(yj+1,oxi)

o

xi

2·||oxi||


Algorithm overview14
Algorithm Overview Plane

  • Epochs and subepochs

yj+1

2·d(yj+1,oxi)

o

xi

Starting a new epoch

2·||oxi||


Algorithm overview15
Algorithm Overview Plane

  • Epochs and subepochs

2·||oxi+1||

o

Starting a new epoch

xi+1


Algorithm overview16
Algorithm Overview Plane

  • Chan’s algorithm

o

x


Algorithm overview17
Algorithm Overview Plane

  • Chan’s algorithm

  • Keep last log(1/ε) epochs alive

o

x

Too close to point o


Algorithm overview18
Algorithm Overview Plane

  • Chan’s algorithm

  • Keep last log(1/ε) epochs alive

o

x

Too close to point o


Algorithm overview19
Algorithm Overview Plane

  • Chan’s algorithm

  • Keep last log(1/ε) epochs alive

o

x

Too close to point o

Too close to line ox

  • Keep last log(1/ε) subepochs alive


Algorithm overview20
Algorithm Overview Plane

  • Chan’s algorithm

  • Total space: (1/ε1/2) log2(1/ε)

  • Keep last log(1/ε) epochs alive

o

x

Too close to point o

Too close to line ox

  • Keep last log(1/ε) subepochs alive


New ingredient
New Ingredient Plane

  • Prune points of previous epochs at the beginning of each new epoch

  • last log(1/ε) epochs

o


New ingredient1
New Ingredient Plane

  • Prune points of previous epochs at the beginning of each new epoch

  • last log(1/ε) epochs

o

x


New ingredient2
New Ingredient Plane

  • Prune points of previous epochs at the beginning of each new epoch

  • last log(1/ε) epochs

o

x


New ingredient3
New Ingredient Plane

  • Prune points of previous epochs at the beginning of each new epoch

  • last log(1/ε) epochs

o

x

  • j-th last: O(j2/(2jε)1/2)

  • O(1)

  • O(1/ε1/2)

  • Total space remains O(1/ε1/2) !


New ingredient4
New Ingredient Plane

  • 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/(2jε)1/2)

  • O(1/ε1/2)

  • O(1)

  • last log(1/ε) subepochs


Intuition for subepoch
Intuition for Subepoch Plane

  • Point set is always stretched in vertical direction

yi

2·d(yi,ox)

yi-j

2·d(yi-j,ox)

o

x

π/2

2·||ox||

π/4

π/2j

0


Starting a subepoch
Starting a Subepoch Plane

  • Splitting and pruning

π/2

π/2

π/4

π/4

π/2j

π/2j

π/2j+1

0

0


Intuition for epoch
Intuition for Epoch Plane

  • Point set is stretched in several directions

π/2

π/4

π/2j

0


Intuition for epoch1
Intuition for Epoch Plane

  • Point set is stretched in several directions

π/2

π/4

π/2j

0


Intuition for epoch2
Intuition for Epoch Plane

  • Point set is stretched in several directions

π/2

π/4

π/2j

π/2

0

π/4

π/2j+1

0


Intuition for epoch3
Intuition for Epoch Plane

  • Point set is stretched in several directions

  • Overlay two angular partitions and maintain proper invariants

π/2

π/4

π/2j

π/2

0

π/4

π/2j+1

0


Extensions
Extensions Plane

  • Space-optimal approximation algorithm for maintaining width (smallest enclosing box, etc) in R2

  • Space-optimal algorithm for maintaining (k, ε)-kernels in R2

    • O(k /ε1/2) space, O(k log 1/ε) update time

  • Improved algorithm for maintaining ε-kernels in Rd

    • 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


Open problems
Open Problems Plane

  • Is the query time log (1/e) optimal if O(1/e1/2) space allowed?

  • Coresets in the sliding window model?


ad