a space optimal data stream algorithm for coresets in the plane
Download
Skip this Video
Download Presentation
A Space-Optimal Data-Stream Algorithm for Coresets in the Plane

Loading in 2 Seconds...

play fullscreen
1 / 39

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


  • 89 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
  • 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
  • ε-Kernel[A., Har-Peled, Varadarajan,04]

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

approximation1
Approximation
  • ε-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
  • 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
  • Problem is easy if point set is fat
algorithm overview1
Algorithm Overview
  • Problem is easy if point set is fat
algorithm overview2
Algorithm Overview
  • 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
  • Epochs and subepochs

o

algorithm overview4
Algorithm Overview
  • Epochs and subepochs

o

xi

algorithm overview5
Algorithm Overview
  • Epochs and subepochs

o

xi

2·||oxi||

an epoch

algorithm overview6
Algorithm Overview
  • Epochs and subepochs

yj

o

xi

2·||oxi||

algorithm overview7
Algorithm Overview
  • Epochs and subepochs

yj

2·d(yj,oxi)

o

xi

2·||oxi||

algorithm overview8
Algorithm Overview
  • Epochs and subepochs

yj

2·d(yj,oxi)

o

xi

2·||oxi||

a subepoch

algorithm overview9
Algorithm Overview
  • Epochs and subepochs

yj

2·d(yj,oxi)

o

xi

2·||oxi||

a subepoch

algorithm overview10
Algorithm Overview
  • Epochs and subepochs

yj

2·d(yj,oxi)

o

xi

2·||oxi||

a subepoch

algorithm overview11
Algorithm Overview
  • Epochs and subepochs

yj

2·d(yj,oxi)

o

xi

2·||oxi||

a subepoch

algorithm overview12
Algorithm Overview
  • Epochs and subepochs

yj

2·d(yj,oxi)

o

xi

2·||oxi||

a subepoch

algorithm overview13
Algorithm Overview
  • Epochs and subepochs

Starting a new subepoch

yj+1

2·d(yj+1,oxi)

o

xi

2·||oxi||

algorithm overview14
Algorithm Overview
  • Epochs and subepochs

yj+1

2·d(yj+1,oxi)

o

xi

Starting a new epoch

2·||oxi||

algorithm overview15
Algorithm Overview
  • Epochs and subepochs

2·||oxi+1||

o

Starting a new epoch

xi+1

algorithm overview16
Algorithm Overview
  • Chan’s algorithm

o

x

algorithm overview17
Algorithm Overview
  • Chan’s algorithm
  • Keep last log(1/ε) epochs alive

o

x

Too close to point o

algorithm overview18
Algorithm Overview
  • Chan’s algorithm
  • Keep last log(1/ε) epochs alive

o

x

Too close to point o

algorithm overview19
Algorithm Overview
  • 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
  • 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
  • Prune points of previous epochs at the beginning of each new epoch
  • last log(1/ε) epochs

o

new ingredient1
New Ingredient
  • Prune points of previous epochs at the beginning of each new epoch
  • last log(1/ε) epochs

o

x

new ingredient2
New Ingredient
  • Prune points of previous epochs at the beginning of each new epoch
  • last log(1/ε) epochs

o

x

new ingredient3
New Ingredient
  • 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
  • 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
  • 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
  • Splitting and pruning

π/2

π/2

π/4

π/4

π/2j

π/2j

π/2j+1

0

0

intuition for epoch
Intuition for Epoch
  • Point set is stretched in several directions

π/2

π/4

π/2j

0

intuition for epoch1
Intuition for Epoch
  • Point set is stretched in several directions

π/2

π/4

π/2j

0

intuition for epoch2
Intuition for Epoch
  • Point set is stretched in several directions

π/2

π/4

π/2j

π/2

0

π/4

π/2j+1

0

intuition for epoch3
Intuition for Epoch
  • 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
  • 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
  • Is the query time log (1/e) optimal if O(1/e1/2) space allowed?
  • Coresets in the sliding window model?
ad