Why simple hash functions work: Exploiting the entropy in a data stream (2008)
Cached
Download Links
- [eecs.harvard.edu]
- [eecs.harvard.edu]
- [www.eecs.harvard.edu]
- [eecs.harvard.edu]
- DBLP
Other Repositories/Bibliography
| Venue: | In Proceedings of the 19th Annual ACM-SIAM Symposium on Discrete Algorithms |
| Citations: | 27 - 6 self |
BibTeX
@INPROCEEDINGS{Mitzenmacher08whysimple,
author = {Michael Mitzenmacher and Salil Vadhan},
title = {Why simple hash functions work: Exploiting the entropy in a data stream},
booktitle = {In Proceedings of the 19th Annual ACM-SIAM Symposium on Discrete Algorithms},
year = {2008},
pages = {746--755}
}
OpenURL
Abstract
Hashing is fundamental to many algorithms and data structures widely used in practice. For theoretical analysis of hashing, there have been two main approaches. First, one can assume that the hash function is truly random, mapping each data item independently and uniformly to the range. This idealized model is unrealistic because a truly random hash function requires an exponential number of bits to describe. Alternatively, one can provide rigorous bounds on performance when explicit families of hash functions are used, such as 2-universal or O(1)-wise independent families. For such families, performance guarantees are often noticeably weaker than for ideal hashing. In practice, however, it is commonly observed that weak hash functions, including 2-universal hash functions, perform as predicted by the idealized analysis for truly random hash functions. In this paper, we try to explain this phenomenon. We demonstrate that the strong performance of universal hash functions in practice can arise naturally from a combination of the randomness of the hash function and the data. Specifically, following the large body of literature on random sources and randomness extraction, we model the data as coming from a “block source, ” whereby







