TR10-087 Authors: Shachar Lovett, Ely Porat

Publication: 21st May 2010 16:55

Downloads: 5201

Keywords:

An approximate membership data structure is a randomized data

structure for representing a set which supports membership

queries. It allows for a small false positive error rate but has

no false negative errors. Such data structures were first

introduced by Bloom in the 1970's, and have since had numerous

applications, mainly in distributed systems, database systems, and

networks.

The algorithm of Bloom is quite effective: it can store a set $S$

of size $n$ by using only $\approx 1.44 n \log_2(1/\eps)$ bits

while having false positive error $\eps$. This is within a

constant factor of the entropy lower bound of $n \log_2(1/\eps)$

for storing such sets. Closing this gap is an important open

problem, as Bloom filters are widely used is situations were

storage is at a premium.

Bloom filters have another property: they are dynamic. That is,

they support the iterative insertions of up to $n$ elements. In

fact, if one removes this requirement, there exist static data

structures which receive the entire set at once and can almost

achieve the entropy lower bound; they require only $n

\log_2(1/\eps)(1+o(1))$ bits.

Our main result is a new lower bound for the memory requirements

of any dynamic approximate membership data structure. We show that

for any constant $\eps>0$, any such data structure which achieves

false positive error rate of $\eps$ must use at least $C(\eps)

\cdot n \log_2(1/\eps)$ memory bits, where $C(\eps)>1$ depends

only on $\eps$. This shows that the entropy lower bound cannot be

achieved by dynamic data structures for any constant error rate.