More Optimal Bloom Filters

April 18, 2008

The Bloom filter, conceived by Burton H. Bloom in 1970, is a
space-efficient probabilistic data structure that is used to test
whether an element is a member of a set. False positives are possible,
but false negatives are not. Elements can be added to the set, but not
removed (though this can be addressed with a counting filter). The
more elements that are added to the set, the larger the probability of
false positives.

For example, one might use a Bloom filter to do spell-checking in a
space-efficient way. A Bloom filter to which a dictionary of correct
words has been added will accept all words in the dictionary and
reject almost all words which are not, which is good enough in some
cases. Depending on the false positive rate, the resulting data
structure can require as little as a byte per dictionary word.

In the last few years Bloom filter become hot topic again and there
were several modifications and improvements. In this talk I will
present my last few improvements in this topic.

Speaker: Ely Porat
Ely Porat received his Doctorate from Bar-Ilan University in 2000.
Following that, he fulfilled his military service and, in parallel,
worked as a faculty member at Bar-Ilan University. Having spent the
spring 2007 semester as a Visiting Scientist in Google, he is now back
at Bar-Ilan University.

The main body of Ely Porat’s work concerns matching problems: string
matching, pattern matching, subset matching. He also worked on the
nearest pair problem in high-dimensional spaces as well as sketching
and edit distance.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: