![Page 1: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/1.jpg)
A Space-Optimal Data-Stream Algorithm for A Space-Optimal Data-Stream Algorithm for Coresets in the PlaneCoresets in the Plane
Pankaj K Agarwal
Joint work with Hai Yu
2
Extent MeasuresExtent 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
ApproximationApproximation
ε-Kernel [A Har-Peled Varadarajan04]
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
wu
Wu
computable an -kernel of size 1d2 in O(n+1εd-32) time [A etal Chan]
results in linear-time approx algorithm for many extent measures
4
ResultsResults Previous results
Our main result a space-optimal data-stream algorithm in R2
O(1ε12) space O(log 1ε) update time (amortized)
Dimension Space Update time Ref
Rd (1ε(d-1)2)logd
n1ε3(d-1)2 [A Har-Peled
Varadarajan 04]
Rd 1εd-32logd
(1ε)1ε12 [Chan 04]
R2 1ε12 log (1ε) [HershbergerSuri04]
5
Problem is easy if point set is fat
Algorithm OverviewAlgorithm Overview
6
Problem is easy if point set is fat
Algorithm OverviewAlgorithm 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 OverviewAlgorithm Overview
8
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
9
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o xi
10
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
2||oxi||
xi
an epoch
11
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
12
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
2d(yjoxi
)
13
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
a subepoch
2d(yjoxi
)
yj
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 2: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/2.jpg)
2
Extent MeasuresExtent 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
ApproximationApproximation
ε-Kernel [A Har-Peled Varadarajan04]
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
wu
Wu
computable an -kernel of size 1d2 in O(n+1εd-32) time [A etal Chan]
results in linear-time approx algorithm for many extent measures
4
ResultsResults Previous results
Our main result a space-optimal data-stream algorithm in R2
O(1ε12) space O(log 1ε) update time (amortized)
Dimension Space Update time Ref
Rd (1ε(d-1)2)logd
n1ε3(d-1)2 [A Har-Peled
Varadarajan 04]
Rd 1εd-32logd
(1ε)1ε12 [Chan 04]
R2 1ε12 log (1ε) [HershbergerSuri04]
5
Problem is easy if point set is fat
Algorithm OverviewAlgorithm Overview
6
Problem is easy if point set is fat
Algorithm OverviewAlgorithm 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 OverviewAlgorithm Overview
8
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
9
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o xi
10
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
2||oxi||
xi
an epoch
11
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
12
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
2d(yjoxi
)
13
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
a subepoch
2d(yjoxi
)
yj
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 3: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/3.jpg)
3
ApproximationApproximation
ε-Kernel [A Har-Peled Varadarajan04]
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
wu
Wu
computable an -kernel of size 1d2 in O(n+1εd-32) time [A etal Chan]
results in linear-time approx algorithm for many extent measures
4
ResultsResults Previous results
Our main result a space-optimal data-stream algorithm in R2
O(1ε12) space O(log 1ε) update time (amortized)
Dimension Space Update time Ref
Rd (1ε(d-1)2)logd
n1ε3(d-1)2 [A Har-Peled
Varadarajan 04]
Rd 1εd-32logd
(1ε)1ε12 [Chan 04]
R2 1ε12 log (1ε) [HershbergerSuri04]
5
Problem is easy if point set is fat
Algorithm OverviewAlgorithm Overview
6
Problem is easy if point set is fat
Algorithm OverviewAlgorithm 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 OverviewAlgorithm Overview
8
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
9
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o xi
10
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
2||oxi||
xi
an epoch
11
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
12
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
2d(yjoxi
)
13
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
a subepoch
2d(yjoxi
)
yj
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 4: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/4.jpg)
4
ResultsResults Previous results
Our main result a space-optimal data-stream algorithm in R2
O(1ε12) space O(log 1ε) update time (amortized)
Dimension Space Update time Ref
Rd (1ε(d-1)2)logd
n1ε3(d-1)2 [A Har-Peled
Varadarajan 04]
Rd 1εd-32logd
(1ε)1ε12 [Chan 04]
R2 1ε12 log (1ε) [HershbergerSuri04]
5
Problem is easy if point set is fat
Algorithm OverviewAlgorithm Overview
6
Problem is easy if point set is fat
Algorithm OverviewAlgorithm 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 OverviewAlgorithm Overview
8
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
9
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o xi
10
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
2||oxi||
xi
an epoch
11
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
12
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
2d(yjoxi
)
13
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
a subepoch
2d(yjoxi
)
yj
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 5: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/5.jpg)
5
Problem is easy if point set is fat
Algorithm OverviewAlgorithm Overview
6
Problem is easy if point set is fat
Algorithm OverviewAlgorithm 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 OverviewAlgorithm Overview
8
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
9
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o xi
10
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
2||oxi||
xi
an epoch
11
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
12
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
2d(yjoxi
)
13
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
a subepoch
2d(yjoxi
)
yj
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 6: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/6.jpg)
6
Problem is easy if point set is fat
Algorithm OverviewAlgorithm 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 OverviewAlgorithm Overview
8
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
9
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o xi
10
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
2||oxi||
xi
an epoch
11
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
12
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
2d(yjoxi
)
13
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
a subepoch
2d(yjoxi
)
yj
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 7: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/7.jpg)
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 OverviewAlgorithm Overview
8
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
9
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o xi
10
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
2||oxi||
xi
an epoch
11
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
12
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
2d(yjoxi
)
13
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
a subepoch
2d(yjoxi
)
yj
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 8: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/8.jpg)
8
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
9
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o xi
10
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
2||oxi||
xi
an epoch
11
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
12
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
2d(yjoxi
)
13
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
a subepoch
2d(yjoxi
)
yj
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 9: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/9.jpg)
9
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o xi
10
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
2||oxi||
xi
an epoch
11
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
12
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
2d(yjoxi
)
13
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
a subepoch
2d(yjoxi
)
yj
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 10: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/10.jpg)
10
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
2||oxi||
xi
an epoch
11
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
12
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
2d(yjoxi
)
13
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
a subepoch
2d(yjoxi
)
yj
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 11: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/11.jpg)
11
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
12
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
2d(yjoxi
)
13
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
a subepoch
2d(yjoxi
)
yj
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 12: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/12.jpg)
12
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
o
yj
2||oxi||
xi
2d(yjoxi
)
13
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
a subepoch
2d(yjoxi
)
yj
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 13: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/13.jpg)
13
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
a subepoch
2d(yjoxi
)
yj
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 14: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/14.jpg)
14
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 15: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/15.jpg)
15
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 16: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/16.jpg)
16
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
2d(yjoxi
)
yj
a subepoch
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 17: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/17.jpg)
17
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
o xi
yj 2d(yjoxi
)
a subepoch
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 18: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/18.jpg)
18
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
yj+1
Starting a new subepoch
o xi
2d(yj+1oxi)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 19: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/19.jpg)
19
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
2||oxi||
2d(yj+1oxi)
Starting a new epoch
o xi
yj+1
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 20: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/20.jpg)
20
Epochs and subepochs
Algorithm OverviewAlgorithm Overview
Starting a new epoch
o
xi+1
2||oxi+1||
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 21: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/21.jpg)
21
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
o x
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 22: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/22.jpg)
22
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 23: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/23.jpg)
23
Algorithm OverviewAlgorithm Overview
Chanrsquos algorithm
Too close to point o
o x
Keep last log(1ε) epochs alive
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 24: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/24.jpg)
24
Algorithm OverviewAlgorithm Overview
Chanrsquos 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 OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 25: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/25.jpg)
25
Algorithm OverviewAlgorithm Overview Chanrsquos algorithm
Total space (1ε12) log2(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 IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 26: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/26.jpg)
26
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o
last log(1ε) epochs
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 27: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/27.jpg)
27
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 28: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/28.jpg)
28
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 29: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/29.jpg)
29
New IngredientNew Ingredient
Prune points of previous epochs at the beginning of each new epoch
o x
last log(1ε) epochs
j-th last O(j2(2jε)12)
Total space remains O(1ε12)
O(1) O(1ε12)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 30: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/30.jpg)
30
New IngredientNew 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ε)12)
last log(1ε) subepochs
O(1) O(1ε12)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 31: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/31.jpg)
31
Point set is always stretched in vertical direction
Intuition for SubepochIntuition for Subepoch
2||ox||
o x
2d(yi-
jox)
yi-j
yi
2d(yiox)
π2π4
0π2j
hellip
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 32: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/32.jpg)
32
Starting a SubepochStarting a Subepoch
Splitting and pruning π2
π4
0
π2j
hellip
π2
π4
0
π2j
hellip
π2j+1
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 33: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/33.jpg)
33
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 34: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/34.jpg)
34
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2π4
0π2j
hellip
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 35: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/35.jpg)
35
Point set is stretched in several directions
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 36: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/36.jpg)
36
Point set is stretched in several directions
Overlay two angular partitions and maintain proper invariants
Intuition for EpochIntuition for Epoch
π2
π4
0
hellipπ2j+1
π2π4
0π2j
hellip
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures
![Page 37: A Space-Optimal Data-Stream Algorithm for Coresets in the Plane Pankaj K. Agarwal Joint work with Hai Yu](https://reader030.vdocuments.mx/reader030/viewer/2022013011/56649ca15503460f949604c1/html5/thumbnails/37.jpg)
37
ExtensionsExtensions
Space-optimal approximation algorithm for maintaining width (smallest enclosing box etc) in R2
Space-optimal algorithm for maintaining (k ε)-kernels in R2
O(k ε12) space O(k log 1ε) update time
Improved algorithm for maintaining ε-kernels in Rd
O(1εd-32) space O(log 1ε) update time Similar results for (k ε)-kernels
Improved algorithms for numerous data-stream problems related to extent measures