Daisy Bloom Filters
KTH Royal Institute of Technology(皇家理工学院);University of Copenhagen(哥本哈根大学)
本文研究面向特定数据分布的过滤器空间优化问题,提出期望空间下界并证明其渐近紧性,同时设计了一种更快且更省空间的雏菊布隆过滤器。
2024-06-16 cs.DB cs.DS cs.LG
Cascaded Learned Bloom Filter for Optimizing Model-Filter Size Balance and Fast Rejection
The University of Tokyo(东京大学)
本文提出级联学习型布隆过滤器(CLBF),通过动态规划优化器平衡模型与过滤器尺寸,在真实数据集上较分区LBF内存降17%、拒斥时间缩65倍。
2026-08-25 cs.CC cs.DS cs.LG
Blocked Bloom Filters with Choices
本文提出带选择的分块布隆过滤器,通过为每个键提供多个备选块,在保留快速在线插入和轻微过载优势的同时,有效降低了空间消耗或假阳性率,并在生物信息学用例中验证了其实用价值。
2025-05-09 cs.DB cs.DS
A Bloom Filter Survey: Variants for Different Domain Applications
有大量的数据结构、算法和框架处理主要的数据流问题,如估计项目的频率、回答集合成员、关联和多样性查询,以及可以从大量数据流中提取的其他几个统计数据。在本调查中,我们将重点探索称为Bloom Filters的随机数据结构。该数据结构以假阳性概率fpp回答数据流中是否存在项。在本调查中,Bloom过滤器的许多变体将通过显示每个结构的优点及其缺点来涵盖,即一些Bloom过滤器处理插入和删除,而另一些则不处理,一些变体有效地使用内存但增加了fpp,而另一些则以相反的方式进行权衡。此外,在每个布隆过滤器结构中,误报概率将与显示其所呈现的改进的最重要的技术细节一起突出显示,而这项工作的主要目的是根据其适合的应用领域提供布隆过滤器结构的变体之间的总体比较。
2021-06-23 cs.DB cs.DS
Autoscaling Bloom Filter: Controlling Trade-off Between True and False Positives
布隆过滤器是一种简单的数据结构,支持对集合的成员查询。标准的Bloom过滤器不支持删除操作,因此,许多应用程序使用计数Bloom过滤器来启用删除。本文提出了一种广义的计数布隆过滤器的方法,称为“自动缩放布隆过滤器”,它允许调整其容量与概率界限的误报和误报。本质上,自动缩放布隆过滤器是具有可调整的二进制化阈值的二进制化计数布隆过滤器。我们提出的性能的数学分析,以及给出一个程序,以尽量减少误报率。
2017-12-27 cs.DS
Xor Filters: Faster and Smaller Than Bloom and Cuckoo Filters
布隆过滤器提供快速近似集合成员资格,同时使用很少的内存。工程师经常使用这些过滤器来避免磁盘或网络访问等缓慢操作。作为替代,布谷鸟过滤器可能需要比布隆过滤器更少的空间,并且它更快。Chazelle等人提出了一种称为Bloomier filter的Bloom filter。Dietzfelbinger和Pagh描述了Bloomier过滤器的一种变体,可以有效地用于近似成员查询。据我们所知,它从未经过经验检验。我们回顾了他们的方法的有效实现,我们称之为异或过滤器。我们发现,异或过滤器可以比布鲁姆和布谷鸟过滤器更快,同时使用更少的内存。我们进一步表明,一个更紧凑的版本的xor滤波器(xor+)可以使用更少的空间比高度紧凑的替代品(例如,Golomb压缩序列),同时提供与Bloom过滤器竞争的速度。
2020-01-27 cs.DS
A Model for Learned Bloom Filters and Related Structures
最近的工作建议通过使用预过滤器来增强布隆过滤器,基于应用机器学习来对布隆过滤器要表示的数据集进行建模。在这里,我们这样学习的布隆过滤器模型,澄清什么保证可以和不能与这样的结构相关联。
2018-02-03 cs.DS
RobustBF: A High Accuracy and Memory Efficient 2D Bloom Filter
Bloom Filter是一种重要的概率数据结构,用于减少成员过滤器的内存消耗。它应用于计算机网络、网络安全和隐私、物联网、边缘计算、云计算、大数据和生物识别等不同领域。但是Bloom Filter存在误报率的问题。为了解决这个问题,我们提出了一种新的鲁棒布隆过滤器,robustBF。robustBF是一个2D Bloom Filter,能够以高精度过滤数百万数据,而不会影响性能。我们提出的系统分为两部分。首先,我们修改了murmur哈希函数,并测试了所有修改后的哈希函数的改进,并通过实验选择了最好的修改哈希函数。其次,我们将改进的哈希函数嵌入到2D Bloom Filter中。实验结果表明,robustBF在各个方面都优于标准Bloom Filter和计数Bloom Filter。robustBF表现出几乎为零的假阳性概率,其存储器消耗分别比标准布隆过滤器和计数布隆过滤器低$10\times$和$44\times$。
2021-09-08 cs.DS
Shed More Light on Bloom Filter's Variants
Bloom Filter是一种概率成员关系数据结构,在成员关系查询中大量使用数据结构。Bloom Filter成为近似隶属度过滤中的主导数据结构。Bloom Filter极大地增强了查询的响应时间,响应时间非常快。Bloom filter(Bloom filter)是用来检测一个元素是否属于一个给定的集合。Bloom Filter返回True Positive(TP)、False Positive(FP)或True Negative(TN)。布隆过滤器被广泛应用于许多领域,以提高系统的性能。在本文中,我们提出了a)对Bloom Filter的深入了解,以及b)Bloom Filter的突出变体。
2019-03-17 cs.DS
Meta-Learning Neural Bloom Filters
DeepMind(深度思维);University College London(伦敦大学学院)
最近有一种趋势是训练神经网络来取代手工制作的数据结构,目的是更快的执行,更好的准确性或更大的压缩。在这种设置中,通过在其输入的许多时期上训练网络直到收敛来实例化神经数据结构。在输入达到高吞吐量或短暂的应用中,从头开始训练网络是不切实际的。这激发了对Few-Shot神经数据结构的需求。在本文中,我们探讨了通过元学习在一个单一的一组数据的近似集成员的学习。我们提出了一种新的内存架构,神经布隆过滤器,这是能够实现显着的压缩增益超过经典的布隆过滤器和现有的内存增强神经网络。
2019-06-10 cs.DB cs.DS cs.LG
Learned LSM-trees: Two Approaches Using Learned Bloom Filters
Harvard University(哈佛大学)
本文提出两种将学习型预测集成到LSM树查找路径的方法:分类器跳过布隆过滤器探测以降低延迟,以及学习型布隆过滤器减少内存占用,实验显示延迟降低2.28倍、内存减少70-80%。
2025-07-24 cs.DS cs.LG
Split block Bloom filters
这篇短文描述了一个布隆过滤器变体,它利用现代SIMD指令将速度提高了30%-450%。这个过滤器,分裂块Bloom过滤器,被StarRocks,Apache Impala,Apache Kudu,Apache Parquet,Apache Arrow,Apache Drill和阿里云的Hologres使用。
2023-01-20 cs.DS
The Deletable Bloom filter: A new member of the Bloom family
我们引入了可删除布隆过滤器(DLBF)作为流行的数据结构的一个新的自旋的基础上,压缩编码的冲突发生时,插入元素的信息。DlBF设计使得能够以存储器消耗的一小部分成本进行无假阴性删除,这对于某些概率过滤器应用是有吸引力的。
2010-05-03 cs.DS
Fast Partitioned Learned Bloom Filter
针对分区学习型布隆过滤器(PLBF)构建时间复杂度过高的问题,本文提出快速PLBF与快速PLBF++两种方法,分别将构建复杂度降至O(N²k)和O(Nk log N + Nk²),在保持或接近PLBF内存效率的同时实现最高761倍加速。
2023-10-28 cs.DS
Bloomier Filters: A second look
布隆过滤器是用于存储静态集合的空间高效结构,其中空间效率是以小的误报概率为代价获得的。Bloomier过滤器概括了Bloom过滤器,以紧凑地存储具有静态支持的函数。在这篇文章中,我们给出了一个简单的构造一个Bloomier过滤器。该结构在空间上是线性的,需要恒定的时间来评估。我们的Bloomier过滤器的创建需要线性时间,比现有的构造更快。我们展示了如何以增加创建数据结构的时间为代价来进一步提高空间利用率。
2008-07-06 cs.DS
Optimizing Learned Bloom Filters by Sandwiching
我们提供了一个简单的方法,用于提高最近推出的学习布隆过滤器的性能,通过显示,当学习功能夹在两个布隆过滤器之间时,它们的性能更好。
2018-03-05 cs.DS
The Distributed Bloom Filter
分布式布隆过滤器是一种空间高效的概率数据结构,被设计用于在分布式系统中执行更有效的集合协调。它保证了系统中节点之间状态的最终一致性,同时仍然保持布隆过滤器的大小尽可能紧凑。通过调整分布式布隆过滤器的参数,可以根据需要调整可能性。通过结合两个新颖的想法,数据结构的可扩展性以及准确性成为可能:第一个想法引入了一种新的,计算成本低廉的方式来填充布隆过滤器,使得在与对等体交互时可以快速计算新的布隆过滤器。第二个想法引入了对等体之间唯一布隆过滤器映射的概念。通过应用这两个简单的想法,人们可以在网络中实现令人难以置信的带宽效率的集合协调。我们没有试图最小化单个布隆过滤器的误报率,而是使用唯一的布隆过滤器映射来增加元素在网络中传播的概率。我们比较了标准的布隆过滤器与分布式布隆过滤器,并表明,即使有50%的误报率,即即使有一个非常小的布隆过滤器的大小,分布式布隆过滤器仍然设法达到完整的一套和解在整个网络中的高度空间效率,以及时间效率的方式。
2020-02-19 cs.DC cs.DS
Prefix Filter: Practically and Theoretically Better Than Bloom
近似成员查询数据结构或过滤器的许多应用程序只需要支持插入但不支持删除的增量过滤器。然而,增量过滤器的设计空间缺少一个“最佳点”过滤器,它结合了空间效率、快速查询和快速插入。增量过滤器,例如Bloom和Blocked Bloom过滤器,不是空间有效的。动态滤波器(即,支持删除),如布谷鸟或向量商过滤器,是空间有效的,但不能表现出一致的快速插入和查询。在本文中,我们提出了前缀过滤器,一个增量过滤器,解决了上述挑战:(1)它的空间(以比特为单位)是类似于最先进的动态过滤器;(2)查询吞吐量是高的,是可比的布谷鸟过滤器;以及(3)插入吞吐量高,总构建时间比$1.39\times$的向量商滤波器和布谷鸟滤波器的构建时间快。分别为$1.46\times$和$3.2\times$ - $3.5\times$。我们提出了一个严格的分析前缀过滤器,也适用于实际的集大小(即,$n=2^{25}$)。该分析涉及失败的概率、误报率以及操作需要访问多个缓存行的概率。
2022-10-25 cs.DB cs.DS
countBF: A General-purpose High Accuracy and Space Efficient Counting Bloom Filter
Bloom Filter是一种用于成员关系查询的概率数据结构,它在减少内存消耗和提高系统性能方面得到了广泛的应用。Bloom Filter分为两大类:计数Bloom Filter(CBF)和非计数Bloom Filter。CBF具有比标准布隆过滤器(SBF)更高的误报概率,即,CBF使用比SBF更高的内存占用。但是CBF可以解决假阴性概率的问题。值得注意的是,SBF也是无假阴性的,但它不支持像CBF这样的删除操作。为了解决这些问题,我们提出了一种新的计数布隆过滤器的基础上SBF和二维布隆过滤器,称为countBF。countBF使用修改的杂音散列函数,以提高其各种要求,这是实验评估。我们的实验结果表明,countBF使用$1.96\times$和$7.85\times$更少的内存分别比SBF和CBF,而保持较低的误报率和执行时间比SBF和CBF。countBF的总体精度为$99.999921$,证明了countBF优于SBF和CBF。同时,我们还与其他先进的计数型Bloom过滤器进行了比较。
2021-06-06 cs.DS
Multiple Set Matching and Pre-Filtering with Bloom Multifilters
布隆过滤器是一种空间有效的概率数据结构,用于检查集合中元素的成员关系。然而,给定多个集合,在查找元素或输入元素的集合所属的项时,标准布隆过滤器是不够的。在这篇文章中,我们解决了多个集合匹配问题,提出了两个有效的布隆多重过滤器,称为布隆矩阵和布隆向量。它们都是空间有效的,并回答查询与多个集合匹配问题的一组标识符。我们表明,空间效率可以根据标签在多个集合之间的分布进一步优化:Uniform和Zipf。虽然它们都是空间有效的,但Bloom Vector可以有效地利用数据的Zipf分布来进一步减少空间。我们的研究结果还强调,基本的ADD和LOOKUP操作的布隆矩阵比布隆向量更快。然而,如果所表示的数据或标签不均匀地分布在多个集合之间,则Bloom Matrix不满足用于查找操作的小于$10^{-2}$的理论误报率。因此,我们引入了\textit{Bloom Test},它使用Bloom矩阵作为预过滤器结构,以确定哪种结构适合于提高任意输入数据集的性能。
2019-01-11 cs.DS
Rateless Bloom Filters: Set Reconciliation for Divergent Replicas with Variable-Sized Elements
针对可变大小元素且差异基数较大的集合调和问题,提出两阶段混合协议 RBF-IBLT,通过动态适应未知差异的 Rateless Bloom Filter 优化通信,在 Jaccard 指数低于 85% 时较现有技术降低超 20% 通信成本。
2025-10-31 cs.DB cs.DS
Matrix Bloom Filter: An Efficient Probabilistic Data Structure for 2-tuple Batch Lookup
随着大数据规模的不断扩大,概率结构作为一种高效的近似存储和查询处理方法受到越来越多的关注。例如,Bloom过滤器(BF)可以在牺牲误报的情况下获得令人满意的性能,用于近似成员存在查询。然而,标准的Bloom过滤器只能处理单变量数据和单成员存在查询,这对于OLAP和机器学习应用是不够的。在本文中,我们专注于一个常见的多元数据类型,即2元组,或等价的,键-值对。我们设计的矩阵布隆过滤器作为一个高维扩展的标准布隆过滤器。这种新的概率数据结构不仅可以有效地插入和查找一个单一的二元组,但也支持这些操作有效地在批处理--一个关键的要求OLAP和机器学习任务。为了进一步平衡不同工作负载模式的插入和查询效率,我们提出了两个变体,即最大自适应矩阵BF和最小存储矩阵BF。通过理论和实证研究,我们证明了矩阵Bloom过滤器在具有共同统计分布的数据集上的性能是优越的;即使没有它们,它也只是退化为标准Bloom过滤器。
2019-12-16 cs.DS
Technical Report: Modeling Average False Positive Rates of Recycling Bloom Filters
本文针对网络应用中回收型布隆过滤器,提出基于更新过程和马尔可夫模型的平均假阳性率计算方法,取代过于保守的最坏情况界限,并验证了模型准确性及两阶段变体的效率优势。
2024-02-03 cs.DS
Bloom filter variants for multiple sets: a comparative assessment
在本文中,我们比较了两个概率数据结构的关联查询派生出著名的布隆过滤器:移位布隆过滤器(ShBF),和空间布隆过滤器(SBF)。相对于原始数据结构,两种变体都增加了使用不同策略在同一过滤器中存储多个子集的能力。我们分析了这两种数据结构在误报概率和集合间错误概率(集合中的元素被识别为属于错误子集的概率)方面的性能。作为我们分析的一部分,我们扩展了移位Bloom过滤器的功能,优化了任何非平凡数量的子集的过滤器。我们提出了一个新的广义ShBF定义与我们的特定域之外的应用,并提出了新的概率公式。比较的结果表明,ShBF提供了更好的空间效率,但在一个显着更高的计算成本比SBF。
2019-08-28 cs.DS
Sampling and Reconstruction Using Bloom Filters
在本文中,我们解决的问题,从一组采样和重建存储为一个布隆过滤器。据我们所知,我们的工作是解决这一问题的第一步。我们引入了一种新的分层数据结构称为BloomSampleTree,它可以帮助我们设计有效的算法,从存储在布隆过滤器中的集合中提取几乎均匀的样本,并允许我们有效地重建集合。在布隆过滤器实现中使用的散列函数是部分可逆的情况下,在这个意义上,它很容易计算映射到特定散列值的元素集,我们提出了第二个,更节省空间的方法称为HashInvert的重建。我们研究这两种方法的性能分析以及实验。我们提供的运行时间的方法和样本质量的BloomSampleTree算法的界限,并通过广泛的实验评估表明,我们的方法是高效和有效的。
2017-09-06 cs.DS
Distance Sensitive Bloom Filters Without False Negatives
布隆过滤器是一种广泛使用的数据结构,用于表示集合$S$并回答形式为“$x$在$S$中吗?".通过允许一些错误的肯定回答(当答案实际上是“否”时说“是”),Bloom过滤器使用的空间大大低于存储$S$所需的空间。在距离敏感设置中,我们使用一组(汉明)向量$S$,并寻求提供类似折衷的数据结构,但回答形式为“$x$是否接近$S$的元素?”(以汉明距离计)。以前的工作距离敏感的布隆过滤器接受假阳性和假阴性的答案。在Bloom过滤器的许多应用中,没有假阴性是至关重要的,因此很自然地会问这是否也可以在距离敏感设置中实现。我们的主要贡献是在距离敏感设置中不允许假阴性的空间使用的上限和下限(在某些情况下是紧的)。
2016-11-02 cs.DS
Dynamic Partition Bloom Filters: A Bounded False Positive Solution For Dynamic Set Membership (Extended Abstract)
动态Bloom过滤器(DBF)是由Guo等人提出的。在2010年,为了解决这样的情况,即将被存储的压缩机的集合的大小事先不知道或者在应用过程中可能改变。我们提出了一个新的竞争对手DBF具有以下重要的属性,DBF是无法实现的:我们的结构是能够保持一个约束的假阳性率的集合成员查询在所有可能的大小的集存储在it.The新的数据结构,我们建议是一个动态的结构,我们称之为动态分区布隆过滤器(DPBF)。DPBF基于我们的Bloom分区树的新概念,Bloom分区树是在叶子处具有标准Bloom过滤器的树结构。DPBF优于标准Bloom过滤器,因为它可以有效地处理大量不同大小集合的并集和交集,同时控制误报率。这使DPBF成为我们所知的第一个这样做的结构。我们提供了理论界比较DPBF的假阳性概率DBF。
2019-01-19 cs.DS
In oder Aus
布隆过滤器是一种数据结构,用于确定元素的集合成员关系,其应用范围从字符串匹配到网络和安全问题。这些结构的青睐,因为它们减少了内存消耗和快速挂钟和渐近的时间界限。一般来说,Bloom过滤器保持恒定的成员查询时间,使它们在其利基中非常快。然而,它们的局限性在于缺乏清除操作,以及它们的概率性质。在本文中,我们讨论了各种迭代和替代品的通用布隆过滤器,已被研究和实施,以克服其固有的局限性。布隆过滤器,特别是当与其他数据结构结合使用时,仍然是强大而有效的数据结构;我们进一步讨论它们在工业和研究中的使用,以优化资源利用率。
2019-02-19 cs.DB cs.DS
On Occupancy Moments and Bloom Filter Efficiency
证明了两个多元委员会分布分别属于Berg阶乘级数分布族和Kemp广义超几何阶乘矩分布族。精确的矩公式,上界和下界,统计参数估计提供了经典的占用和委员会分布。推导出的矩方程用于确定准确的公式的误报率和效率的布隆过滤器-概率数据结构用于解决集成员问题。该研究表明,传统的Bloom过滤器分析高估了最小化误报率所需的哈希函数的数量,并表明Bloom过滤器的效率在哈希函数的数量上是单调的。
2019-08-13 cs.DS cs.IT math.CO
Binary Fuse Filters: Fast and Smaller Than Xor Filters
Bloom和Cuckoo过滤器提供快速的近似集合成员,同时使用很少的内存。工程师使用它们来避免昂贵的磁盘和网络访问。最近引入的异或过滤器可以比Bloom和cuckoo过滤器更快更小。XOR过滤器在存储中的理论下限的23%以内,而Bloom过滤器为44%。受Dietzfelbinger和Walzer的启发,我们构建了概率过滤器-称为二进制融合过滤器-在存储下限的13%以内-而不会牺牲查询速度。作为额外的益处,新的二进制熔丝滤波器的构造可以比异或滤波器的构造快两倍以上。通过略微牺牲查询速度,我们进一步将存储减少到下限的8%以内。我们比较的性能对广泛的竞争力的替代品,如布隆过滤器,阻止布隆过滤器,矢量商过滤器,布谷鸟过滤器,和最近的丝带过滤器。我们的实验表明,二进制熔丝滤波器优于异或滤波器。
2022-01-04 cs.DS
The Bloom Tree
我们引入了一个数据结构,允许有效的(概率)存在证明和非概率不存在证明的带宽效率和安全的方式。Bloom树结合了Bloom过滤器和Merkle树的思想。布隆过滤器用于验证集合中元素的存在或不存在。在Bloom树的情况下,我们感兴趣的是以安全和带宽有效的方式验证和传输元素的存在或不存在。而不是发送整个Bloom过滤器来检查元素的存在或不存在,Bloom树通过使用紧凑的Merkle多重证明来实现有效的验证。
2020-02-19 cs.CR cs.DS
Sliding Bloom Filters
布隆过滤器是一种通过允许小的错误概率来减少表示集合所需的空间(存储器)的方法。在本文中,我们考虑一个\emph{Sliding Bloom Filter}:一个数据结构,给定的元素流,支持成员查询的最后$n$元素(滑动窗口)的集合,同时允许一个小的错误概率。我们正式定义了数据结构及其相关参数,并分析了实现它们所需的时间和内存要求。我们给出了一个低空间结构,运行在O(1)时间每次更新的高概率(也就是说,对于所有序列的高概率所有操作都需要恒定的时间),并提供了一个几乎匹配的空间上的下界,表明我们的建设有最好的空间消耗添加剂低阶项。
2013-10-09 cs.DS
A Bloom filter based semi-index on $q$-grams
我们提出了一个简单的$q$ -gram的半索引,它允许寻找一个模式通常只在一小部分的文本块。几个时空权衡。Pizza & Chili数据集上的实验表明,我们的解决方案比Claude等人的\cite{CNPSTjda10}半索引快三个数量级。
2015-07-10 cs.DS
A Persistent Hierarchical Bloom Filter-based Framework for Authentication and Tracking of ICs
本研究提出持久化分层Bloom过滤器(PHBF)框架,通过处理含噪PUF签名,在供应链中实现准确率100%的快速IC认证。
2024-09-22 cs.CR cs.DS
Towards EXPTIME One Way Functions: Bloom Filters, Succinct Graphs, Cliques, & Self Masking
该研究提出基于Bloom过滤器和植入团的构造方法,构建可在多项式时间内生成的图,证明黑盒哈希下求逆该映射函数很可能无法在多项式时间完成,为构造EXPTIME单向函数提供思路。
2025-08-03 cs.CC cs.CR cs.DS
Pay for a Sliding Bloom Filter and Get Counting, Distinct Elements, and Entropy for Free
对于许多网络应用程序来说,最近的数据比旧数据更重要,因此需要滑动窗口解决方案。DDoS检测和负载均衡等各种功能需要了解多个指标,包括布隆过滤器、每流计数、计数区分和熵估计。在这项工作中,我们提出了一个统一的建设,解决了所有上述问题的滑动窗口模型。我们的单一解决方案提供了一个更好的空间,以准确性权衡比国家的最先进的每一个这些个别的问题!我们通过分析和运行多个真实的互联网骨干和数据中心数据包跟踪来证明这一点。
2017-12-05 cs.DS
Using cascading Bloom filters to improve the memory usage for de Brujin graphs
De Brujin图广泛用于生物信息学中处理下一代测序数据。由于NGS数据集的规模非常大,因此有必要表示de Bruijn图,最近已经提出了几种解决这个问题的方法。在这项工作中,我们展示了如何减少[3]中使用Bloom过滤器表示de Brujin图的算法所需的内存。与[3]的方法相比,我们的方法需要的内存减少了30%到40%,对构建时间的影响微不足道。与此同时,我们的实验显示了比[3]更好的查询时间。据我们所知,这是de Bruijn图的最佳实用表示。
2013-05-21 cs.DS
Ribbon filter: practically smaller than Bloom and Xor
过滤器数据结构过度近似一组可散列键,即集合成员查询可能不正确地得出肯定结果。已知具有假阳性率$f \in (0,1]$的过滤器需要每个密钥$\ge \log_2(1/f)$比特。至少对于较大的$f \ge 2^{-4}$,现有的实际滤波器需要相对于该信息理论界限至少20%的空间开销。我们介绍了丝带过滤器:一个新的过滤器的静态集具有广泛的可配置的空间开销和误报率在该范围内具有竞争力的速度,特别是对于较大的$f \ge 2^{-7}$。在许多情况下,Ribbon在相同的空间开销下比现有的过滤器更快,或者可以在增加一些CPU时间的情况下实现低于10%的空间开销。具有负载均衡的实验性Ribbon设计甚至可以实现低于1%的空间开销。带状滤波器类似于修改为最大化局部性的异或滤波器,并且通过求解布尔变量上的带状线性系统来构造。在以前的工作中,Dietzfelbinger和Walzer描述了这个线性系统和一个有效的高斯求解器。我们提出并分析了一个更快,更适应性更强的解决过程,我们称之为“快速增量布尔带状飞行”,这类似于哈希表建设。我们还提出并分析了一个有吸引力的丝带变体的基础上,使线性系统齐次,并描述了几个更实际的增强。
2021-03-08 cs.DB cs.DS
An Optimal Bloom Filter Replacement Based on Matrix Solving
我们提出了一种方法来保持一个字典数据结构,映射键的值,在布隆过滤器的精神。我们建议的字典的空间需求比哈希表小得多。我们允许存储n个键,每个键映射到一个k位字符串的值。我们建议的方法需要nk + o(n)位的空间来存储字典,O(n)时间来产生数据结构,并允许在O(1)内存探测中回答成员查询。字典的大小不依赖于键的大小。然而,减少数据结构的空间需求是以一定的代价来实现的。我们的词典出现片面错误的可能性很小。当试图获取存储在字典中的键的值时,我们总是得到正确的答案。然而,当测试一个没有存储在字典中的元素的成员资格时,我们可能会得到一个错误的答案,当请求这样一个元素的值时,我们可能会得到一个特定的随机值。我们的方法基于求解GF(2^k)中的方程并使用几个哈希函数。我们建议的方法的另一个显著优点是,我们不需要使用复杂的哈希函数。我们只需要两两独立的哈希函数。我们还建议一个数据结构,只需要nk位的空间,有O(n2)的预处理时间,并有一个O(log n)的查询时间。然而,这种数据结构需要统一的哈希函数。为了以2^{-k}的错误概率替换n个元素的Bloom Filter,我们需要nk + o(n)个存储位,O(1)查询时间,O(n)预处理时间,并且仅需要成对独立的哈希函数。即使是最先进的布隆过滤器也需要nk+O(n)的空间,以及一个统一的哈希函数,所以我们的方法消耗的空间显著减少,特别是当k很小时…
2008-04-11 cs.DB cs.DS
RAMBO: Repeated And Merged BloOm Filter for Ultra-fast Multiple Set Membership Testing (MSMT) on Large-Scale Data
多集成员测试(MSMT)是各种搜索和查询应用程序中的一个众所周知的问题。给定K个不同集合的数据集和查询q,它的目标是找到包含查询的所有集合。简单地说,MSMT实例可以减少到K个成员资格测试实例,每个实例具有相同的q,从而使用简单的布隆过滤器阵列导致O(K)查询时间。我们提出了一种数据结构,称为RAMBO(重复和合并的布隆过滤器),实现O(\sqrt{K} log K)查询时间的期望与额外的最坏情况下的内存成本因素O(log K)超出了阵列的布隆过滤器。因此,RAMBO是一种非常快速和准确的数据结构。除了非常并行,支持流输入的廉价更新,零假阴性率和低假阳性率之外,RAMBO击败了最先进的基因组索引方法:COBS(紧凑位切片签名索引),序列Bloom树(基于Bloofi的实现),HowDeSBT,SSBT和文档索引方法,如BitFunnel。所提出的数据结构只是一个成员资格测试实用程序(在我们的情况下是布隆过滤器)的count-min草图类型的安排。它索引k-gram并提供基于近似成员测试的搜索实用程序。算法的简单性和并行架构使我们能够在100个节点的集群上仅用14小时就索引170 TB的基因组数据集,而竞争方法需要数周。
2020-07-17 cs.DS cs.IR
A Shifting Bloom Filter Framework for Set Queries
集合查询是计算机系统和应用程序中的基本操作,本文讨论了设计一种概率数据结构的基本问题,该结构能用少量内存快速处理集合查询。我们提出了一个移位布隆过滤器(ShBF)表示和查询集的框架。我们证明了ShBF的有效性,使用三种类型的流行集查询:成员资格,关联和多重性查询。ShBF的关键新颖性在于将集合元素的辅助信息编码在位置偏移中。相反,现有的基于BF的集合数据结构分配附加存储器来存储辅助信息。为了与现有技术相比评估ShBF,我们使用真实世界的网络轨迹进行实验。结果表明,ShBF显着进步的最先进的所有三种类型的集合查询。
2016-03-22 cs.DS
In-stream Probabilistic Cardinality Estimation for Bloom Filters
来自物联网传感器、社交网络、蜂窝网络等不同来源的数据量在过去几年中呈指数级增长。概率数据结构(PDS)是确定性数据结构的有效替代方案,适合于大数据处理和流式应用。它们主要用于近似隶属度查询、频率计算、基数估计和相似性研究。在大型数据集或流数据中查找不同元素的数量是一个活跃的研究领域。在这项工作中,我们表明,通常的方法的基础上,这种基数估计的布鲁姆过滤器是相对准确的平均,但有一个高的方差。因此,减少该方差对于获得准确的统计数据是有意义的。我们提出了一种概率方法来更准确地估计基于其参数,即,散列函数的数目$k$、大小$m$、以及每当元素不在过滤器中时递增的计数器$s$(即,当对该元素的成员资格查询的结果为负时)。由于Bloom filter的性质,计数器的值永远不会大于确切的基数,但哈希冲突可能会导致它低估它。这会产生一个计数误差,我们可以准确地估计,在流中,以及它的标准差。我们还讨论了一种方法来优化参数的布隆过滤器的计数误差的基础上。我们评估我们的方法与合成数据从分析移动网络运营商提供的移动数据集的移动电话记录计算的位移矩阵的形式创建。这里提出的方法至少在平均上执行得一样好,并且具有比现有技术方法低得多的方差(大约6到7倍)。
2022-11-01 cs.DS
Guarded Epoch Bloom Filters for Sliding-Window Membership
Bahçeşehir University(巴切希尔大学)
提出受保护纪元布隆过滤器,通过划分比特预算、旋转纪元并引入保护纪元,实现滑动窗口内确定性存活覆盖和有限过期保留,在14比特/存活项下将假阳性率从0.191降至0.02225且零假阴性。
2026-06-18 cs.DS
In-packet Bloom filters: Design and networking applications
布隆过滤器(Bloom filter,BF)是一种众所周知的空间高效的数据结构,其以一定的误报概率回答集合成员查询。在试图解决当前互联网络架构的许多限制时,一些最近的提议依赖于在分组报头中包括小BF以用于路由、安全、责任或将应用状态移动到分组本身中的其他目的。在本文中,我们考虑这样的包内布隆过滤器(iBF)的设计。我们的主要贡献是探索设计空间和评估一系列扩展(1)以提高iBF的实用性和性能,(2)实现无假阴性元素删除,以及(3)提供安全增强。除了理论估计,广泛的模拟多个设计参数和实施方案验证的有用性的扩展,提供增强和新颖的iBF网络应用。
2010-01-20 cs.DS cs.IT cs.NI
Extending the Applicability of Bloom Filters by Relaxing their Parameter Constraints
Technical University of Munich(慕尼黑工业大学)
本文提出有理布洛姆过滤器,通过允许非整数哈希函数数量和可变大小块结构,优化布洛姆过滤器的性能和适用性。
2025-12-15 cs.DS
Towards "Intelligent Compression" in Streams: A Biased Reservoir Sampling based Bloom Filter Approach
随着世界范围内存储信息的爆炸式增长,数据密集型计算已成为研究的中心领域。有效管理和处理来自不同来源的大量指数级数据,例如电信呼叫数据记录、在线交易记录等,从如此庞大(数十亿条记录)的数据集中去除冗余,从而提高下游处理的资源和计算效率,这是一个重要的研究领域。流媒体场景中的“智能压缩”或重复数据删除技术,由于数据到达的实时性,从无限数据流中精确识别和消除重复数据是一个更大的挑战。稳定布隆过滤器(Stable Bloom Filter,SBF)在一定程度上解决了这个问题。然而,SBF存在较高的漏报率(FNR)和较慢的收敛速度,从而使其对于FNR容忍度较低的应用程序效率低下。提出了一种新的基于池采样的Bloom Filter(RSBF)数据结构,它将池采样和Bloom Filter的概念相结合,用于数据流中重复项的近似检测.通过详细的理论分析,我们证明了它的误报率(FPR)、漏报率(FNR)和低内存要求下的收敛速度的解析界.我们表明RSBF具有目前最低的误报率和收敛速度,在相同的内存条件下,其性能优于SBF算法(300万条记录)和大约10亿条记录的合成数据集,我们证明了FNR的2倍改进,与SBF相比具有更好的收敛速度,同时表现出相当的FPR。据我们所知,这是首次尝试将存储器采样方法与布隆过滤器集成以用于流场景中的去重。
2011-11-03 cs.DS cs.IR
Yes-no Bloom filter: A way of representing sets with fewer false positives
布隆过滤器(Bloom filter,BF)是一种空间高效的随机化数据结构,特别适合于表示支持近似成员查询的集合。由于其简单性和灵活性,BF已被广泛用于许多应用中,特别是在网络中。BF的性能主要取决于查询开销、空间需求和误报。本文的目的是关注假阳性。最近的BF在一个新的多播转发结构的信息为中心的网络的应用程序的启发,本文提出了是-否BF,一种新的方式表示一组,基于BF,但具有显着较低的误报和无误报。虽然它在形成阶段需要稍微多一点的处理,但它为成员资格查询提供了与BF相同的处理要求。在引入是非BF后,我们通过仿真表明,它比BF具有更好的误报性能。
2016-03-03 cs.DS cs.NI
Adversary Resilient Learned Bloom Filters
针对学习型布隆过滤器缺乏抗自适应对手安全证明的问题,本文定义多种自适应安全概念,提出并证明 PRP-LBF 与 Cuckoo-LBF 在单向函数假设下安全,且保持良好 FPR 与内存开销。
2025-09-01 cs.CR cs.DS
Efficient Adaptive Implementation of the Serial Schedule Generation Scheme using Preprocessing and Bloom Filters
大多数调度元算法使用解的间接表示作为有效探索搜索空间的一种方式。因此,这种元分析的一个关键部分是一个“时间表生成方案”-将间接解决方案表示转换为时间表的过程。每次需要评估新的候选解决方案时,都使用调度生成方案。由于速度相对较慢,它消耗了元启发式算法的大部分运行时间,因此,它的速度对元启发式算法的性能起着重要作用。尽管它的重要性,很少有人注意到在文献中的有效实施的时间表生成计划。我们给出了详细的描述串行调度生成方案,包括新的改进,并提出了一种新的方法来加快它,通过使用布隆过滤器。通过参数的自动控制,结果得到进一步加强。最后,我们采用在线算法选择来动态选择使用这两种实现。这种混合方法在广泛的实例上显著优于传统的实现。
2017-08-25 cs.DS cs.PF
Straggler Identification in Round-Trip Data Streams via Newton's Identities and Invertible Bloom Filters
我们介绍的掉队者识别问题,其中一个算法必须确定的身份后,它已经有大量的插入和删除操作执行的一组剩余的成员,现在有相对较少的剩余成员。我们的目标是在O(n)空间中实现这一点,其中n是恒等式的总数。掉队者识别问题有应用,例如,在确定一组未确认的数据包在高带宽多播数据流。我们提供了一个确定性的解决方案,仅使用O(d log n)位的掉队者识别问题,是基于一个新的应用牛顿的身份对称多项式。这个解决方案可以识别任何子集的d掉队者从一组n个O(log n)位标识符,假设没有错误删除的身份已经在集合中。事实上,我们给出了一个下界参数,表明任何小空间的确定性解决方案的落伍者识别问题不能保证处理错误删除。然而,我们发现,有一个简单的随机化的解决方案,使用O(d log n log(1/n))位,可以保持一个多集和解决的掉队者识别问题,容忍假删除,其中n>0是一个用户定义的参数边界的概率不正确的反应。这种随机化的解决方案是基于一种新型的布隆过滤器,我们称之为可逆布隆过滤器。
2009-09-10 cs.DS
Biff (Bloom Filter) Codes : Fast Error Correction for Large Data Sets
大型数据集在云和虚拟化环境中越来越常见。例如,多个千兆字节的传输是常见的,这种大小的复制块也是如此。在这种情况下,即使预期的错误数量很小,也需要快速纠错或数据协调。出于这样的云协调问题,我们考虑为大数据设计的纠错方案,解释为什么以前的方法似乎不合适。我们介绍了Biff码,这是基于布隆过滤器,是专为大数据。对于具有长度为$L$和$E$错误的消息的Biff码,编码时间为$O(L)$,解码时间为$O(L + E)$,空间开销为$O(E)$。Biff码是低密度奇偶校验码;它们类似于Tornado码,但设计用于错误而不是擦除。此外,Biff码被设计得非常简单,去除了任何显式的图结构,并且完全基于哈希表。我们从最近开发的数据结构,可逆布隆查找表的一组和解算法,通过一个简单的减少Biff码。虽然基本理论非常简单,但使这种代码特别有吸引力的是它可以实现的容易性和解码的速度。我们提出了一个原型实现的结果,解码消息的100万个字,数千个错误,远远低于一秒。
2012-08-03 cs.DS
Time-limited Bloom Filter
针对现有滑动窗口布隆过滤器难以按时间范围管理数据流元素的问题,提出限时布隆过滤器,可按时间段存查数据、自动移除过期数据,支持可变插入率并维持目标误报率,还提供了Redis模块参考实现。
2023-06-11 cs.DC cs.DS
Stretching Your Data With Taffy Filters
流行的近似成员查询结构,如布隆过滤器和布谷鸟过滤器,广泛用于数据库,安全和网络。这些结构近似地表示集合,并且支持至少两个操作-插入和查找;查找总是在插入到结构中的元素上返回true;它还在未插入到结构中的元素上以一定概率$0 < \varepsilon < 1$返回true。后一种元素称为假阳性。为了补偿这些误报,过滤器可以比表示相同集合的哈希表小得多。然而,与哈希表不同,布谷鸟过滤器和布隆过滤器必须使用要执行的插入的预期数量来初始化,并且不能增长更大-超过这个数量的插入失败或显著增加误报概率。本文介绍了过滤器的设计和实现,可以增长,插入失败,没有有意义地增加误报概率,即使过滤器创建的初始大小很小。生成的代码在GitHub上以许可的开源许可证提供。
2022-01-14 cs.DB cs.DS
Hierarchical Bloom Filter Trees for Approximate Matching
字节近似匹配算法近年来在检测字节级相似的文件方面显示出了重要的前景。这对于数字取证调查人员非常有用,他们经常面临通过被扣押的设备搜索相关数据的问题。一种常见的情况是,调查人员拥有一批“已知非法”文件(例如虐待儿童材料),并希望查明这些文件的副本是否存储在被查获的设备上。近似匹配解决了传统散列的缺点,它只能找到相同的文件,也能够处理合并文件,嵌入文件,部分文件,或者如果文件以任何方式被更改的情况。大多数近似匹配算法通过比较成对的文件来工作,当面对大型语料库时,这不是一种可伸缩的方法。本文证明了使用“分层布隆过滤树”(HBFT)数据结构,以减少集合对集合匹配的运行时间的有效性,具体集中在MRSH-v2算法。三个实验进行了讨论,探讨不同配置的HBFT的效果。所提出的方法大大减少了所需的成对比较的数量,并证明了显着的速度增益,同时保持有效性。
2017-12-12 cs.CR cs.DS