基于梅森素数的哈希之威力
数据结构与算法
2021-05-07 v2
摘要
计算 -通用哈希函数的经典方法是使用素数域 上的随机 次多项式。为快速计算该多项式,素数 常选为梅森素数 。本文中,我们展示了使用梅森素数还有其他良好优势。我们的视角是,哈希函数的输出是在 中均匀分布的 位整数,只是缺失了 (二进制全为 \texttt{1} 的值)。均匀比特串具有许多良好性质,例如拆分为子串可让我们以一份代价获得两个或更多哈希函数,同时保持强的理论性质。我们称此技巧为“二合一”哈希,并在经典 Count Sketch 算法用于二阶矩估计中展示了它在 4-通用哈希上的应用。我们还提供了一种用于梅森素数除法与取模的新的无分支快速代码。与我们的分析工作相对,该代码可推广到任意伪梅森素数 (其中 较小)。
引用
@article{arxiv.2008.08654,
title = {The Power of Hashing with Mersenne Primes},
author = {Thomas Dybdahl Ahle and Jakob Tejs Bæk Knudsen and Mikkel Thorup},
journal= {arXiv preprint arXiv:2008.08654},
year = {2021}
}