为什么布隆过滤器被称为“过滤器”?
为什么布隆过滤器被称为“过滤器”。它们的行为更像是集合,或者至少是可以查询成员资格的匿名集合。过滤器从哪里来?
Why are bloom filters called "filters". They behave more like sets, or at least an anonymous set that can be queried for membership. Where does filter come into it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
布隆过滤器之所以被称为过滤器,是因为它们通常被用作廉价的第一遍,以过滤掉数据集中与查询不匹配的部分。
ACM 数据库中最早引用的一篇标题中带有“Bloom Filter”的论文是:
数据库中对摘要中包含 Bloom Filter 的论文的最早引用是:
有一些早期的论文被列为引用原始论文,但没有一篇论文在摘要中引用它,而且全文都在付费墙后面。
Bloom filters are called filters because they are often used as a cheap first pass to filter out segments of a dataset that do not match a query.
The earliest reference in the ACM database to a paper with "Bloom Filter" in its title is:
The earliest reference in the database to a paper with Bloom Filter in its abstract is:
There are earlier papers that are listed as citing the original paper, but none of them cite it in their abstracts and the full texts are behind a pay wall.
布隆过滤器回答集合成员资格查询时会出现单方面错误:它们可以回复您的元素不是集合的成员,或者它可能是集合的成员。这与集合数据结构不同,集合数据结构可以精确地回答成员资格查询。在典型的应用程序中,您有一个查询成本高昂的集合结构以及一个布隆过滤器。你查询布隆过滤器,如果它说“不是成员”,你就相信它。如果它说“也许”,则您查询该集合。
Bloom filters answer set membership queries with one-sided error: They can reply that your element is not a member of the set, or that it may be a member of the set. This is different from a set data structure, which can answer membership queries precisely. In a typical application, you have a set structure which is costly to query and a bloom filter in addition. You query the bloom filter, if it says "not member" you believe it. If it says "maybe", you query the set.