您的位置:首页 > 其它

Partial Bloom Filter

2012-10-05 23:09 357 查看
转自:http://blog.csdn.net/jiaomeng/article/details/1502910

Partial Bloom Filter

焦萌 2007年2月5日


在标准的Bloom Filter中,我们用k个相互独立的哈希函数将一个集合映射到长度为m的位数组中,其中每个哈希函数的映射范围都为{0,
… , m-1}。除了这种标准的实现方式之外,还有一种实现被广泛采用,就是所谓的Partial Bloom Filter。



Partial Bloom Filter和标准Bloom Filter唯一不同的地方在于哈希函数的映射范围。在Partial Bloom Filter中,位数组被等分成k个区域,每个哈希函数只映射到其中一个区域。也就是说,每个哈希函数映射范围都是{0,
… , m/k - 1},但互不重叠,大家各自负责各自的区域。



下面我们来估算一下这种实现的错误率。位数组中某一位只可能被一个哈希函数选中,且选中的概率为k/m,所以这一位不被选中的概率为1 – k/m。假设集合有n个元素,那么这一位在存储完整个集合后还保持为0的概率为(1
– k/m)n。由于(1 – k/m)n ≈ e-kn/m,所以Partial Bloom Filter和标准Bloom Filter的错误率很近似。如果一定要分出个高下,实际上标准Bloom
Filter错误率要小一些,因为对于k≥1,有





在实际应用中,Partial Bloom Filter有一定的优势,因为一旦哈希函数的映射范围也独立开来,k个哈希函数就可以并行访问位数组,从而提高程序性能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: