【发布时间】:2016-11-10 15:53:06
【问题描述】:
我正在尝试根据本文Compressed Bloom Filters by Michael Mitzenmacher 实现压缩的布隆过滤器实现。我需要计算 m - 位数和 k - 给定固定误报概率的哈希函数数。例如:
我知道如果我有 n = 1000 个元素(要插入到布隆过滤器中)并且给定概率 p = 0.01,布隆过滤器的“最佳”位数将将是(-n * Math.log(p) / (Math.log(2) * Math.log(2))) = 9585
而且我还需要 k = (9585/1000)*Math.log(2) = 7 - 哈希函数。也就是说,我会得到 0.01 的误报率。
为了“压缩”布隆过滤器,我们需要构建更多“稀疏”过滤器——获得更少的散列函数和更多的向量位数。
但我不知道如何计算这个稀疏过滤器的哈希函数数和位数。如果我们将 k 减 1,将如何增加位数?比例是多少?
【问题讨论】:
-
如果您在这里没有得到答复,请尝试给作者发送电子邮件。
标签: math hash bloom-filter