使用固定数量的函数,如果给出误报概率,我如何计算布隆filter的大小?

我需要实现一个bloomfilter。 我无法找到解决方法。

使用固定数量的函数,如果给出误报概率,我如何计算布隆filter的大小?

例如,我希望filter有10%的误报,我有数字函数和集合中的元素数。

如何计算与假阳性概率匹配的布隆filter的大小?

其公式在维基百科上 。 假设您有足够的哈希函数可用,则每个元素需要~4.8位,假设您指定的误报率为0.1。

在这种情况下,看起来4个散列函数将是最佳的。 请注意,更多的哈希函数并不总是更好 – 如果相对于filter的大小有很多哈希函数,您可以快速设置几乎所有的位,并且您会得到很多误报。