【问题标题】:Compressed Bloom Filters with fixed false positive probability具有固定误报概率的压缩布隆过滤器
【发布时间】: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


【解决方案1】:

嗯,我没有发现哈希函数的数量和具有固定误报率的位数之间的任何具体比率。但我找到了这些值的预先计算表。 Here 您可以找到哈希函数的数量和位向量长度的值以及相应的误报率。由于我们有这样的表,我们可以找到散列函数的数量(小于最佳值)和相应的位向量长度,其中误报率小于或等于给定值。 Here 是构建“稀疏”布隆过滤器的实现。 希望这会在将来节省某人的时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多