TY - GEN
T1 - A lower bound for dynamic approximate membership data structures
AU - Lovett, Shachar
AU - Porat, Ely
PY - 2010
Y1 - 2010
N2 - 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 ≈ 1:44n log2(1/ε) bits while having false positive error ε. This is within a constant factor of the entropy lower bound of n log2(1/ε) 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 log2(1/ε)(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 ε > 0, any such data structure which achieves false positive error rate of ε must use at least C(ε)·n log2(1/ε) memory bits, where C(ε) > 1 depends only on ε. This shows that the entropy lower bound cannot be achieved by dynamic data structures for any constant error rate. In fact, our lower bound holds even in the setting where the insertion and query algorithms may use shared randomness, and where they are only required to perform well on average.
AB - 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 ≈ 1:44n log2(1/ε) bits while having false positive error ε. This is within a constant factor of the entropy lower bound of n log2(1/ε) 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 log2(1/ε)(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 ε > 0, any such data structure which achieves false positive error rate of ε must use at least C(ε)·n log2(1/ε) memory bits, where C(ε) > 1 depends only on ε. This shows that the entropy lower bound cannot be achieved by dynamic data structures for any constant error rate. In fact, our lower bound holds even in the setting where the insertion and query algorithms may use shared randomness, and where they are only required to perform well on average.
KW - Bloom filters
KW - Dynamic data structures
KW - Lower bounds
UR - http://www.scopus.com/inward/record.url?scp=78751478325&partnerID=8YFLogxK
U2 - 10.1109/FOCS.2010.81
DO - 10.1109/FOCS.2010.81
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:78751478325
SN - 9780769542447
T3 - Proceedings - Annual IEEE Symposium on Foundations of Computer Science, FOCS
SP - 797
EP - 804
BT - Proceedings - 2010 IEEE 51st Annual Symposium on Foundations of Computer Science, FOCS 2010
PB - IEEE Computer Society
T2 - 2010 IEEE 51st Annual Symposium on Foundations of Computer Science, FOCS 2010
Y2 - 23 October 2010 through 26 October 2010
ER -