Bloom Multifilters for Multiple Set Matching

by   Francesco Concas, et al.

Bloom filter is a space-efficient probabilistic data structure for checking elements' membership in a set. Given multiple sets, however, a standard Bloom filter is not sufficient when looking for the items to which an element or a set of input elements belong to. In this article, we solve multiple set matching problem by proposing two efficient Bloom Multifilters called Bloom Matrix and Bloom Vector. Both of them are space efficient and answer queries with a set of identifiers for multiple set matching problems. We show that the space efficiency can be optimized further according to the distribution of labels among multiple sets: Uniform and Zipf. While both of them are space efficient, Bloom Vector can efficiently exploit Zipf distribution of data for further space reduction. Our results also highlight that basic ADD and LOOKUP operations on Bloom Matrix are faster than on Bloom Vector. However, Bloom Matrix does not meet the theoretical false positive rate of less than 10^-2 for LOOKUP operations if the represented data is not uniformly distributed among multiple sets. Consequently, we introduce Bloom Test to determine which structure is suitable for an arbitrary input dataset.



page 8

page 12


Multiple Set Matching and Pre-Filtering with Bloom Multifilters

Bloom filter is a space-efficient probabilistic data structure for check...

The Distributed Bloom Filter

The Distributed Bloom Filter is a space-efficient, probabilistic data st...

Hash Adaptive Bloom Filter

Bloom filter is a compact memory-efficient probabilistic data structure ...

Bloom filter variants for multiple sets: a comparative assessment

In this paper we compare two probabilistic data structures for associati...

Fully-Dynamic Space-Efficient Dictionaries and Filters with Constant Number of Memory Accesses

A fully-dynamic dictionary is a data structure for maintaining sets that...

RAMBO: Repeated And Merged Bloom Filter for Multiple Set Membership Testing (MSMT) in Sub-linear time

Approximate set membership is a common problem with wide applications in...

A Case for Partitioned Bloom Filters

In a partitioned Bloom Filter the m bit vector is split into k disjoint ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.