English

Fast Pseudo-Random Fingerprints

Data Structures and Algorithms 2010-09-30 v1

Abstract

We propose a method to exponentially speed up computation of various fingerprints, such as the ones used to compute similarity and rarity in massive data sets. Rather then maintaining the full stream of bb items of a universe [u][u], such methods only maintain a concise fingerprint of the stream, and perform computations using the fingerprints. The computations are done approximately, and the required fingerprint size kk depends on the desired accuracy ϵ\epsilon and confidence δ\delta. Our technique maintains a single bit per hash function, rather than a single integer, thus requiring a fingerprint of length k=O(ln1δϵ2)k = O(\frac{\ln \frac{1}{\delta}}{\epsilon^2}) bits, rather than O(loguln1δϵ2)O(\log u \cdot \frac{\ln \frac{1}{\delta}}{\epsilon^2}) bits required by previous approaches. The main advantage of the fingerprints we propose is that rather than computing the fingerprint of a stream of bb items in time of O(bk)O(b \cdot k), we can compute it in time O(blogk)O(b \log k). Thus this allows an exponential speedup for the fingerprint construction, or alternatively allows achieving a much higher accuracy while preserving computation time. Our methods rely on a specific family of pseudo-random hashes for which we can quickly locate hashes resulting in small values.

Keywords

Cite

@article{arxiv.1009.5791,
  title  = {Fast Pseudo-Random Fingerprints},
  author = {Yoram Bachrach and Ely Porat},
  journal= {arXiv preprint arXiv:1009.5791},
  year   = {2010}
}
R2 v1 2026-06-21T16:20:45.871Z