Streaming Algorithms from Precision Sampling
Abstract
A technique introduced by Indyk and Woodruff [STOC 2005] has inspired several recent advances in data-stream algorithms. We show that a number of these results follow easily from the application of a single probabilistic method called Precision Sampling. Using this method, we obtain simple data-stream algorithms that maintain a randomized sketch of an input vector , which is useful for the following applications. 1) Estimating the -moment of , for . 2) Estimating the -norm of , for , with small update time. 3) Estimating cascaded norms for all . 4) sampling, where the goal is to produce an element with probability (approximately) . It extends to similarly defined -sampling, for . For all these applications the algorithm is essentially the same: scale the vector x entry-wise by a well-chosen random vector, and run a heavy-hitter estimation algorithm on the resulting vector. Our sketch is a linear function of x, thereby allowing general updates to the vector x. Precision Sampling itself addresses the problem of estimating a sum from weak estimates of each real . More precisely, the estimator first chooses a desired precision for each , and then it receives an estimate of every within additive . Its goal is to provide a good approximation to while keeping a tab on the "approximation cost" . Here we refine previous work [Andoni, Krauthgamer, and Onak, FOCS 2010] which shows that as long as , a good multiplicative approximation can be achieved using total precision of only .
Cite
@article{arxiv.1011.1263,
title = {Streaming Algorithms from Precision Sampling},
author = {Alexandr Andoni and Robert Krauthgamer and Krzysztof Onak},
journal= {arXiv preprint arXiv:1011.1263},
year = {2011}
}