Bloom filter误判概率计算

1,385 阅读3分钟
原文链接: www.douban.com
快速注册

Bloom filter误判概率计算

luc luc 2014-04-01 19:33:29 Bloom filter主要用于判断一个元素是否存在于某个集合。得益于其简单的原理和极高的空间效率,被广泛用于海量数据处理,比如Web爬虫、垃圾邮件过滤、拼写检测等。

网络上关于Bloom filter的文章很多,文章尾部有列出一些。为了知其所以然,可以先读一下这些文章。其中比较有意思的是Bloom filter的误判概率计算、最优哈希函数个数、位数组大小选择问题,使用概率分布来判定哈希函数质量也是感兴趣的内容,日后再看。

Bloom filter误判指某个元素并不存在于集合中,却判定为存在于集合中。意即某元素经过k个哈希运算所得的索引都为1。本质是哈希碰撞。

假设:所选哈希函数生成的值是完全随机的,意即哈希函数输出的索引值落在m位数组上每一位的概率是相等的;kn < m(n为元素个数),则:

1、一个bit位被置为1的概率


2、一个bit位没有被置为1的概率


3、一个元素k次哈希后都没有把一个bit位置为1的概率


4、n个元素都经过k次哈希后没把一个bit位置为1的概率


5、如果一个元素存在误报,意即这个元素经过k次哈希后得到的k个索引全部都是1,概率是


6、根据自然对数底数e的定义,可以近似表示为:


带入k、m、n即可计算出误判概率。

www.cnblogs.com/yuyijq/arch…
www.programlife.net/bloom-filte…
blog.csdn.net/v_july_v/ar…
blog.csdn.net/liuaigui/ar…

常数e很神奇,目前我觉得对其最粗暴有力的解释是“增长的极限”。有本 《e的故事》讲得很详细。 数学 概率 布隆过滤 阅读全文   转发 微信扫码
  • 新浪微博
  • QQ好友
  • QQ空间
由谷歌提供的广告 回应 转发 收藏 luc luc (北京)

Logic, Probability, Beauty. Firmness, Utility, Delight. B站:https:...

由谷歌提供的广告

luc的最新日记  · · · · · ·  ( 全部 )

热门话题  · · · · · ·  ( 去话题广场 )

由谷歌提供的广告