中文

基于 Bloom 多重过滤器的多集合匹配与预过滤

数据结构与算法 2019-01-14 v2

摘要

Bloom 过滤器是一种空间高效的概率数据结构,用于检查元素在集合中的成员资格。然而,给定多个集合,当查找某个元素或一组输入元素所属的项时,标准 Bloom 过滤器并不足够。在本文中,我们通过提出两种称为 Bloom Matrix 和 Bloom Vector 的高效 Bloom 多重过滤器来解决多集合匹配问题。二者均空间高效,并为多集合匹配问题返回一组标识符查询答案。我们展示了可根据标签在多个集合间的分布(Uniform 和 Zipf)进一步优化空间效率。虽然二者都空间高效,但 Bloom Vector 能有效利用数据的 Zipf 分布来进一步降低空间。我们的结果还强调,Bloom Matrix 上的基本 ADD 和 LOOKUP 操作比 Bloom Vector 更快。然而,若所表示的数据或标签在多个集合中非均匀分布,Bloom Matrix 无法满足 LOOKUP 操作低于 10210^{-2} 的理论假阳性率。因此,我们引入 \textit{Bloom Test},其使用 Bloom Matrix 作为预过滤结构,以确定哪种结构适合在任意输入数据集下获得改进性能。

关键词

引用

@article{arxiv.1901.01825,
  title  = {Multiple Set Matching and Pre-Filtering with Bloom Multifilters},
  author = {Francesco Concas and Pengfei Xu and Mohammad A. Hoque and Jiaheng Lu and Sasu Tarkoma},
  journal= {arXiv preprint arXiv:1901.01825},
  year   = {2019}
}

备注

12 pages, 11 figures, Submitted