Perfect $L_p$ Sampling with Polylogarithmic Update Time
Abstract: Perfect $L_p$ sampling in a stream was introduced by Jayaram and Woodruff (FOCS 2018) as a streaming primitive which, given turnstile updates to a vector $x \in {-\text{poly}(n), \ldots, \text{poly}(n)}n$, outputs an index $i* \in {1, 2, \ldots, n}$ such that the probability of returning index $i$ is exactly [\Pr[i* = i] = \frac{|x_i|p}{|x|_pp} \pm \frac{1}{nC},] where $C > 0$ is an arbitrarily large constant. Jayaram and Woodruff achieved the optimal $\tilde{O}(\log2 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 $L_p$-sampler with the same optimal amount of memory but with only $\text{poly}(\log 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.
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.