ECCC-Report TR10-087https://eccc.weizmann.ac.il/report/2010/087Comments and Revisions published for TR10-087en-usFri, 21 May 2010 16:55:24 +0300
Paper TR10-087
| A lower bound for dynamic approximate membership data structures |
Shachar Lovett,
Ely Porat
https://eccc.weizmann.ac.il/report/2010/087An 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.
Fri, 21 May 2010 16:55:24 +0300https://eccc.weizmann.ac.il/report/2010/087