【发布时间】:2023-04-09 07:57:01
【问题描述】:
我用 3 个哈希函数实现了一个布隆过滤器,现在我应该计算该过滤器中误报的确切数量(不可能)。有没有一种有效的计算方法?过滤器项数为2亿,位数组大小为4亿
【问题讨论】:
-
你的意思是这样的吗? hur.st/bloomfilter
-
@Andrej Kesely 不,这给出了误报的概率,我想要我的布隆过滤器中误报的确切数量
-
布隆过滤器是一种概率数据结构。根据定义,您无法计算 Bloom 过滤器中将出现的误报的确切数量,因为它取决于输入。即使您有一个填充的 Bloom 过滤器并且您想知道有多少键会被错误识别,这也将非常困难(取决于键类型,甚至是不可能的),因为可能键的范围本质上是无限的,您将拥有检查每一个。
-
问题不清楚。就键或散列而言,误报的确切数量是多少?对于 32 个哈希,您可以计算(使用蛮力)。对于钥匙:你有钥匙列表吗?然后您可以使用循环进行计算。如果不是,并假设它们是例如字符串,你不能,因为可能的键数是无限的。
标签: python dataframe hash bloom-filter