English

BPTree: an $\ell_2$ heavy hitters algorithm using constant memory

Data Structures and Algorithms 2017-11-10 v4

Abstract

The task of finding heavy hitters is one of the best known and well studied problems in the area of data streams. One is given a list i1,i2,,im[n]i_1,i_2,\ldots,i_m\in[n] and the goal is to identify the items among [n][n] that appear frequently in the list. In sub-polynomial space, the strongest guarantee available is the 2\ell_2 guarantee, which requires finding all items that occur at least ϵf2\epsilon\|f\|_2 times in the stream, where the vector fRnf\in\mathbb{R}^n is the count histogram of the stream with iith coordinate equal to the number of times~ii appears fi:=#{j[m]:ij=i}f_i:=\#\{j\in[m]:i_j=i\}. The first algorithm to achieve the 2\ell_2 guarantee was the CountSketch of [CCF04], which requires O(ϵ2logn)O(\epsilon^{-2}\log n) words of memory and O(logn)O(\log n) update time and is known to be space-optimal if the stream allows for deletions. The recent work of [BCIW16] gave an improved algorithm for insertion-only streams, using only O(ϵ2logϵ1loglogn)O(\epsilon^{-2}\log\epsilon^{-1}\log\log n) words of memory. In this work, we give an algorithm \bptree for 2\ell_2 heavy hitters in insertion-only streams that achieves O(ϵ2logϵ1)O(\epsilon^{-2}\log\epsilon^{-1}) words of memory and O(logϵ1)O(\log\epsilon^{-1}) update time, which is the optimal dependence on nn and mm. In addition, we describe an algorithm for tracking f2\|f\|_2 at all times with O(ϵ2)O(\epsilon^{-2}) memory and update time. Our analyses rely on bounding the expected supremum of a Bernoulli process involving Rademachers with limited independence, which we accomplish via a Dudley-like chaining argument that may have applications elsewhere.

Keywords

Cite

@article{arxiv.1603.00759,
  title  = {BPTree: an $\ell_2$ heavy hitters algorithm using constant memory},
  author = {Vladimir Braverman and Stephen R. Chestnut and Nikita Ivkin and Jelani Nelson and Zhengyu Wang and David P. Woodruff},
  journal= {arXiv preprint arXiv:1603.00759},
  year   = {2017}
}

Comments

v4: PODS'17 camera-ready version, includes improved space l_2 tracking (by log(1/epsilon) factor); v3: fixed accidental mis-sorting of author last names; v2: added section explaining why pick-and-drop sampling fails for l2 heavy hitters, and fixed minor typos

R2 v1 2026-06-22T13:02:17.035Z