ShockHash:迈向暴力搜索之外的最优空间极小完美哈希
数据结构与算法
2023-11-14 v2
摘要
极小完美哈希函数(MPHF)将包含 个键的集合 映射到前 个整数而不发生冲撞。表示 MPHF 所需空间的下界为 比特。通过暴力搜索算法——不断尝试随机哈希函数直至偶然得到一个 MPHF 并存储该函数的种子——可获得与之匹配的上界。期望需测试 个种子。以往构造 MPHF 最节省空间的算法均以此暴力搜索方法为基本构件。本文中,我们引入 ShockHash——小型、重度过载的布谷鸟哈希表。ShockHash 使用两个哈希函数 和 ,期望存在函数 使得 是 上的 MPHF。用图论术语说,ShockHash 生成 条边的随机图,直至偶然得到一个伪森林——每个连通分量中边数等于节点数的图。随后利用布谷鸟哈希,ShockHash 在线性时间内由伪森林导出 MPHF。它使用 1-bit 检索数据结构以 比特存储 。通过仔细分析随机图成为伪森林的概率,我们表明 ShockHash 期望仅需尝试 个哈希函数种子,将存储种子所需空间减少约 比特。这使得 ShockHash 比暴力搜索快近 倍,同时保持渐近最优的空间消耗。在 RecSplit 框架内的实现产生了当前最节省空间的 MPHF,即竞争方法需多约两个数量级的计算量才能达到相同空间。
引用
@article{arxiv.2308.09561,
title = {ShockHash: Towards Optimal-Space Minimal Perfect Hashing Beyond Brute-Force},
author = {Hans-Peter Lehmann and Peter Sanders and Stefan Walzer},
journal= {arXiv preprint arXiv:2308.09561},
year = {2023}
}