d-Left Counting Bloom Filter (5)
来源:互联网 发布:淘宝支付前怎么改地址 编辑:程序博客网 时间:2024/05/18 01:22
最后,我们将d-left counting bloom filter与标准的counting bloom filter作一比较。假设要表示的集合有m个元素,构造d-left counting bloom filter的各个参数如下:
1. d-left哈希表包含4个子表;
2. 每个子表包含m/24个bucket,使得bucket的平均负载是6个元素;
3. 子表中每个bucket可以容纳8个cell,8个就能以很高的概率保证不会溢出;
4. cell中每个counter包含2位,可以容纳4个相同的fingerprint;注意,我们必须给fingerprint设置一个表示空的状态,比如全0,这样才能用2位counter表示4个fingerprint。
假设用r位表示fingerprint,那么false positive的概率就是24 · 2-r。其中两个fingerprint完全相同的概率为(1/2)r,又因d-left hashing使得查找时有4个选择(有4个子表),每个选择对应一个bucket,一个bucket平均负载是6,所以需乘以24。整个d-left counting bloom filter所需的所有位数为4m(r+2)/3。其中r+2表示一个cell的位数,m是集合元素个数,一个bucket能容纳8个cell,但平均负载是6个,所以乘以4/3就得到全部的位数。
现在来看标准的counting bloom filter。假设对于m个元素的集合,counting bloom filter使用cm个counter,每个counter使用4位,哈希函数的个数k使用最优值cln2,得到false positive的概率为(2-ln2)c,总共使用4cm位。
如果令c = (r+2)/3,那么两种方法使用的位数相同,这时我们来比较一下false positive的概率。我们发现在r ≥ 7时
(2-ln2)(r+2)/3 > 24 · 2-r
而且使用的位数越多,两个false positive概率的差距就越大。当r = 14时,c = 16/3,虽然两个结构使用的位数相同,但counting bloom filter比d-left counting bloom filter的false positive概率大了100倍以上。
现在换个角度,看看在false positive概率相同的情况下两者占用空间的情况。假设标准的counting bloom filter使用9个4位的counter(每个元素36位),6个独立的哈希函数,得到的false positive概率为0.01327。d-left counting bloom filter使用11位的fingerprint(每个元素52/3位),得到的false positive概率为0.01172。我们计算一下,52/3÷36= 0.48,也就是说,d-left counting bloom filter只使用了counting bloom filter不到一半的空间,就得到了比counting bloom filter更低的错误率。
参考论文:An Improved Construction for Counting Bloom Filters
- d-Left Counting Bloom Filter (5)
- d-Left Counting Bloom Filter (1)
- d-Left Counting Bloom Filter (2)
- d-Left Counting Bloom Filter (3)
- d-Left Counting Bloom Filter (4)
- 评价d-Left Counting Bloom Filter
- Counting Bloom Filter
- Counting Bloom Filter
- Counting Bloom Filter
- Counting Bloom Filter
- Counting Bloom Filter
- Counting Bloom Filter
- Counting Bloom Filter
- Bloom Filter and Counting Bloom Filter
- Bloom Filter 系列改进之Counting Bloom Filter
- Bit-map (2) Bloom Filter 和 Counting Bloom Filter
- Bloom Filter 算法简介 (增加 Counting Bloom Filter 内容)
- Bloom Filter, Counting Bloom Filter和Dynamic Count Filter源码下载
- linux下出现NoClassDefFoundError解决方案
- 简单的Tab选项卡
- 轻松实现Apache,Tomcat集群和负载均衡
- NOD32 2.70.32 Full ( Информация по инсталяции + Фикс + Обновления )
- SharpDevelop设计模式(Decorator)
- d-Left Counting Bloom Filter (5)
- 从命令行调用web service
- linux shell 快速参考(unix/linux shell分析及高级编程读书笔记)
- 喝白酒与啤酒的区别
- 命 or 能力
- 正式起用杯子℃的研究所!
- 耦合性和内聚性
- J2EE之四书五经~
- ORACLE 树形结构