Perfect Lp Sampling with Polylogarithmic Update Time
Abstract
Perfect Lp sampling in a stream was introduced by Jayaram and Woodruff (FOCS 2018) as a streaming primitive which, given turnstile updates to a vector x ∈ \-poly(n), …, poly(n)\n, outputs an index i* ∈ \1, 2, …, n\ such that the probability of returning index i is exactly \[[i* = i] = |xi|p\|x\|pp 1nC,\] where C > 0 is an arbitrarily large constant. Jayaram and Woodruff achieved the optimal O(2 n) bits of memory for 0 < p < 2, but their update time is at least nC per stream update. Thus an important open question is to achieve efficient update time while maintaining optimal space. For 0 < p < 2, we give the first perfect Lp-sampler with the same optimal amount of memory but with only poly( n) update time. Crucial to our result is an efficient simulation of a sum of reciprocals of powers of truncated exponential random variables by approximating its characteristic function, using the Gil-Pelaez inversion formula, and applying variants of the trapezoid formula to quickly approximate it.
Turn this paper into a full lesson
ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.