因此,Bloom过滤器非常酷-它们是支持成员资格检查的集,没有错误否定,但很少有错误肯定的机会。不过最近,我一直想要一种“布隆过滤器”,它可以保证相反的结果:没有误报,但可能有误报。
我的动机很简单:鉴于有大量要处理的项目(包含重复项),我们希望避免处理以前见过的项目。处理重复副本没有什么坏处,只是浪费时间。但是,如果我们忽略处理元素,那将是灾难性的。使用“反向布隆过滤器”,可以以很小的空间开销存储看到的项目,并通过测试集合中的成员资格来避免以高概率处理重复项。
但是我似乎找不到任何东西。我找到的最接近的是“ 修饰过的Bloom过滤器 ”,它可以使选定的误报以较高的误报率进行交易。但是,当我想删除所有误报时,我不知道其数据结构的性能如何。
有人看到过这样的东西吗?:)