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 x=(x1,...xn), which is useful for the following applications. 1) Estimating the Fk-moment of x, for k>2. 2) Estimating the p-norm of x, for p∈[1,2], with small update time. 3) Estimating cascaded norms p(q) for all p,q>0. 4) 1 sampling, where the goal is to produce an element i with probability (approximately) |xi|/\|x\|1. It extends to similarly defined p-sampling, for p∈ [1,2]. 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 Σi=1n ai from weak estimates of each real ai∈[0,1]. More precisely, the estimator first chooses a desired precision ui∈(0,1] for each i∈[n], and then it receives an estimate of every ai within additive ui. Its goal is to provide a good approximation to Σ ai while keeping a tab on the "approximation cost" Σi (1/ui). Here we refine previous work [Andoni, Krauthgamer, and Onak, FOCS 2010] which shows that as long as Σ ai=(1), a good multiplicative approximation can be achieved using total precision of only O(n n).
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.