Download presentation
Presentation is loading. Please wait.
Published byCaroline Cook Modified over 6 years ago
1
Bloom Filters Burton Bloom (1970) Favorite Data Structure
Underutilized Many Applications
2
Successful vs. unsuccessful search
Quick fail method Checking file without accessing it
3
Basic idea Lo……ng Bit String n hash functions
4
24-bit Example H1(x) = H2(x) = H3(x) = 000000000000000000000000
5
What are the effects of size of filter and number of hash functions?
6
m – number of bits in filter
k – number of records in file α - % of records in file to total population Pset = 1/m Punset = 1 – 1/m
7
For n transformations (hash functions) (1-1/m)n
Pn.unset = (1-1/m)n For k records Pnk.unset = (1-1/m)nk Pnk.set = 1 - Pnk.unset Pnk.set = (1- (1-1/m)nk)
8
Pallset = (Pnk.set)n Pallset = [1- (1-1/m)nk]n Pfalse.drop = (1 – α)Pallset
9
Figure 7.1 (Gremillion, 1982)
11
Table II (Ramakrishna, 1989) hc,d(x) = ((cx + d) mod p) mod m, and
H1 ={hc,d( ) | 0 < c < p, 0 ≤ d < p} 0 ≤ Key values ≤ p – 1 0 ≤ Hash values ≤ m - 1
12
k = number of transformations
13
How could Bloom Filters be used to eliminate duplicates?
How could Bloom Filters be used with signature hashing?
14
Additions? Deletions? Counting Bloom Filters
15
More Applications Spell Checking Distributed Databases
Web Page Caching Peer-to-peer Networks Increase Bandwidth in Cellular Networks
16
See A. Broder and M. Mitzenmacher, “Network Applications of Bloom Filters: A Survey,” in Fortieth Annual Allerton Conference on Communication, Control, and Computing, 2002.
17
Other Applications?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.