The Power of Hashing with Mersenne Primes
计算$k$ -通用散列函数的经典方法是使用素数域$\mathbb Z_p$上的随机次数$(k-1)$多项式。为了快速计算多项式,通常选择素数$p$作为梅森素数$p=2^b-1$。在本文中,我们表明,还有其他很好的优点,使用梅森素数。我们的观点是,散列函数的输出是一个$b$位整数,它均匀分布在$\{0, \dots, 2^b-1\}$中,只是缺少$p$(二进制中的所有\texttt 1的值)。统一位串有许多很好的属性,比如分裂成子串,这给了我们两个或多个散列函数,同时保持了强大的理论性质。我们称之为“二选一”散列,我们在经典的Count Sketch算法中的4-通用散列上演示了它,用于二阶矩估计。我们还提供了一个新的快速无分支码的除法和模梅森素数。对比我们的分析工作,这个代码推广到任何伪梅森素数$p=2^b-c$小$c$。
2021-05-06 cs.DS
CoveringLSH: Locality-sensitive Hashing without False Negatives
我们考虑一个新的构造的局部敏感的哈希函数的汉明空间是\emph{covering}在这个意义上,它保证产生一个冲突的每一对向量在一个给定的半径$r$。该构造是\emph{efficient},因为对于给定的$c>1$,距离为~ $cr$的向量之间的哈希冲突的预期数量接近于没有覆盖保证的最佳可能的数据无关LSH的哈希冲突的数量,即,Indyk和Motwani(STOC '98)的开创性LSH构造。当搜索半径不太大时,新构造的效率基本上是\emph{matches}它们的界限-例如,当为$cr = o(\log(n)/\log\log n)$时,其中$n$为数据集中的点数,当为$cr = \log(n)/k$时,其中$k$为整数常数。一般来说,它在时间界限的指数上最多相差一个因子$\ln(4)$。因此,在汉明空间中基于LSH的相似性搜索可以在很小或没有效率成本的情况下避免误报问题。
2016-01-07 cs.DS
Learned Monotone Minimal Perfect Hashing
本文提出LeMonHash,一种通过PGM索引学习单调映射并用BuRR解决冲突的整数最小完美哈希构建技术,显著降低空间开销并大幅提升查询速度,同时扩展至变长字符串场景。
2023-08-30 cs.DS
Modern Minimal Perfect Hashing: A Survey
Karlsruhe Institute of Technology(卡尔斯鲁厄理工学院);BARC, University of Copenhagen(哥本哈根大学 BARC);Ca’ Foscari University of Venice(威尼斯大学);Università degli Studi di Milano(米兰大学)
本文综述了现代极简完美哈希的发展,涵盖最新进展及应用,提供选择合适哈希函数的指导
2026-02-05 cs.DS
Linear Hashing is Not That Awesome
Tel Aviv University(特拉维夫大学)
该研究分析线性散列的最大负载,证明其无多对数级最大负载,将界扩展到乘移散列族,建立其与算术 Kakeya 集密度变体的等价性,还表明改进其上界可推动算术 Kakeya 集研究。
2026-08-25 cs.DS
RecSplit: Minimal Perfect Hashing via Recursive Splitting
最小完美散列函数将全域$U$中的密钥集$S$双射映射到第一个$|S|$自然数。例如,最小完美散列函数用于在紧凑空间中映射形状不规则的键(如字符串),以便元数据可以简单地存储在数组中。虽然已知每个密钥仅需要$1.44$位来存储最小完美函数,但是在实践中没有公开的技术可以低于每个密钥$2$位。我们提出了一种新的技术,用于存储最小的完美散列函数与预期的线性建设时间和预期的恒定的查找时间,使其有可能建立第一次,例如,结构需要$1.56$位每个键,也就是说,在$8.3$ %的下限,在小于$2$毫秒每个键。我们表明,我们的建设的实例能够同时击败建设时间,空间使用和查找时间的国家的最先进的数据结构达到$2$位每键。此外,我们提供的参数选择给出的结构是有竞争力的替代,更大的数据结构的空间和查找时间方面。我们的数据结构的构造可以容易地并行化或映射到分布式计算单元(例如,在MapReduce框架内),并且大于可用RAM的结构可以直接构建在大容量存储器中。
2019-11-30 cs.DS
Engineering Minimal k-Perfect Hash Functions
本文针对当前缺乏高效 k-完美哈希函数的问题,提出四种新的构造方法,在空间消耗、构建时间和查询时间上同时超越既有方案,复兴了 k-完美哈希研究领域。
2025-07-02 cs.DS
PTHash: Revisiting FCH Minimal Perfect Hashing
给定$n$不同键的集合$S$,将$S$的键双射映射到范围$\{0,\ldots,n-1\}$中的函数$f$被称为$S$的最小完美散列函数。当$n$很大并且保持恒定的计算时间时,找到这样的函数的算法具有实际意义;例如,搜索引擎和数据库通常使用最小完美散列函数来快速地将标识符分配给可变长度键(例如字符串)的静态集合。挑战是设计一种算法,这是有效的,在三个不同的方面:时间找到$f$(建设时间),时间评估$f$上的关键$S$(查找时间),和空间的$f$的表示。已经提出了几种算法来权衡这些方面。1992年,Fox,Chen,and Heath(FCH)在SIGIR上提出了一种算法,提供了非常快速的查找评估。然而,这种方法很少受到关注,因为与其他后续技术相比,它的施工时间长,占用空间大。大约30年后,我们重新审视了他们的框架,并提出了一种改进的算法,该算法可以很好地扩展到大型集合,并完全减少了空间消耗,而不会影响查找时间。我们进行了广泛的实验评估,并表明该算法发现的功能,在空间上具有竞争力的最先进的技术,并提供$2-4\times$更好的查找时间。
2021-05-28 cs.DS
Computing All Distinct Squares in Linear Time for Integer Alphabets
给定一个整数字母表上的字符串,我们提出了一个算法,计算属于这个字符串的所有不同的广场在时间线性的字符串长度的集合。作为应用,我们展示了如何在线性时间内计算最小增广后缀树的树拓扑。除此之外,我们详细说明了一个算法计算最长的前一个表在一个简洁的表示使用压缩的工作空间。
2017-02-20 cs.DS
Computational Performance Evaluation of Two Integer Linear Programming Models for the Minimum Common String Partition Problem
在最小公共串划分(MCSP)问题中,给出了两个相关的输入串。“相关”是指两个字符串都由相同的字母集合组成,并且在两个字符串中出现的次数相同。MCSP寻求将一个字符串划分为非重叠子串的最小基数划分,该划分也是第二个字符串的有效划分。这个问题在生物信息学中有应用,例如在分析相关的DNA或蛋白质序列中。对于长度小于约1000个字母的字符串,先前公布的整数线性规划(ILP)公式产生,当用最先进的求解器,如CPLEX,令人满意的结果。在这项工作中,我们提出了一个新的,替代ILP模型相比,前一个。虽然多面体的研究表明,这两个模型的线性规划松弛是同样强大的,一个全面的实验比较,使用真实世界以及人工创建的基准实例表明新配方的计算优势。
2015-03-26 cs.DS
Converting an Integer to a Decimal String in Under Two Nanoseconds
Université du Québec (TELUQ)(魁北克大学(特卢夸))
本文提出了一种基于SIMD的算法,利用现代AMD和Intel处理器的整数乘加指令,高效地将二进制整数转换为可变长度的十进制字符串,同时引入双变体设计以适应不同输入特性。
2026-04-28 cs.DS
PtrHash: Minimal Perfect Hashing at RAM Throughput
ETH Zurich(苏黎世联邦理工学院)
PtrHash通过优化内存和吞吐量,实现高效构建和查询的最小完美哈希函数,适用于大规模数据处理。
2025-05-27 cs.DS
Optimal Time and Space Construction of Suffix Arrays and LCP Arrays for Integer Alphabets
后缀数组和LCP数组是广泛用于各种字符串处理的最基本的数据结构之一。考虑了整数字母表上长度为$N$的只读字符串的两个问题:对于$1 \leq σ\leq N$,字符串包含$σ$不同字符,后缀数组的构造,以及后缀数组和LCP数组的同时构造.对于字RAM模型,我们提出的算法来解决这两个问题,在$O(N)$的时间,通过使用$O(1)$额外的字,这是最佳的时间和空间。额外的字意味着除了输入字符串和输出后缀数组和LCP数组的空间之外所需的空间。我们的贡献改进了以前最有效的算法,[Nong,TOIS 2013]使用$σ+O(1)$额外单词的$O(N)$时间和[Franceschini和Muthukrishnan,ICALP 2007]使用$O(1)$额外单词的$O(N \log N)$时间,用于构建后缀数组,并且它改进了以前在$O(N)$时间中运行的最有效的解决方案,该解决方案使用$σ+ O(1)$额外的字来构造后缀数组和LCP数组,[Nong,TOIS 2013]和[Manzini,SWAT 2004]的组合。
2019-07-13 cs.DS
On the String Consensus Problem and the Manhattan Sequence Consensus Problem
在曼哈顿序列一致性问题(MSC问题)中,我们给出了$k$整数序列,每个长度为$l$,并且我们要找到长度为$l$的整数序列$x$(称为一致性序列),使得$x$与每个输入序列的最大曼哈顿距离最小化。对于二进制序列,曼哈顿距离与汉明距离一致,因此在这种情况下,串一致性问题(也称为串中心问题或最近串问题)是MSC的特殊情况。我们的主要结果是一个实际有效的$O(l)$ -时间算法解决MSC的$k\le 5$序列。我们的算法的实用性已被实验验证。它改进了Amir等人的二次型算法。(SPIRE 2012)用于$k=5$二进制字符串的字符串一致性问题。与Amir算法类似,我们使用基于列的框架。我们取代隐含的一般整数线性规划,其容易的特殊情况下,由于组合性质的MSC $k\le 5$。我们还表明,对于一个一般的参数$k$的任何实例可以减少在线性时间的大小$k!$的内核,所以问题是固定参数听话。然而,对于$k\ge 4$,这对于任何幼稚的解决方案来说仍然太大,在实践中是可行的。
2014-07-23 cs.DS
ShockHash: Towards Optimal-Space Minimal Perfect Hashing Beyond Brute-Force
ShockHash 利用布谷鸟哈希与伪森林图,将最小完美哈希的种子尝试次数从 e^n 降至 (e/2)^n,空间接近理论下界,比暴力搜索快近 2^n 倍。
2023-11-13 cs.DS
ShockHash: Near Optimal-Space Minimal Perfect Hashing Beyond Brute-Force
本文提出 ShockHash,利用高度过载布谷鸟哈希表与伪森林结构,以近最优空间和远低于暴力搜索的代价构造 MPHF,并在 RecSplit 等框架中实现显著加速。
2024-06-05 cs.DS
Speeding Up String Matching by Weak Factor Recognition
字符串匹配是找到与给定模式匹配的文本的所有子字符串的问题。它是计算机科学中研究最多的问题之一,主要是由于它在几个领域中的非常不同的应用。近年来,字符串匹配领域的研究主要集中在搜索过程的效率和灵活性上,并且已经提出了非常有效的技术来加速现有的解决方案。在这种情况下,基于因素识别的算法是最好的解决方案之一。在本文中,我们提出了一个简单的和非常有效的字符串匹配算法的基础上弱因子识别和散列。我们的算法有一个二次最坏情况下的运行时间。然而,尽管它的二次复杂性,实验结果表明,我们的算法在大多数情况下获得最佳的运行时间相比,在各种条件下,对文献中最有效的算法。在小字母和长模式的情况下,运行时间的增益达到28%。这使得我们提出的算法在实际情况下最灵活的解决方案之一。
2017-07-03 cs.DS cs.IR
Pb-Hash: Partitioned b-bit Hashing
LinkedIn Ads(领英广告)
本文提出 Pb-Hash 算法,通过将哈希值分块重复使用以大幅减小模型规模,理论分析与实验表明其在准确率损失可控的前提下,对线性 SVM 和深度学习模型均有效。
2023-06-28 cs.DS cs.IR cs.LG
Mathematical Programming Strategies for Solving the Minimum Common String Partition Problem
University of the Basque Country UPV/EHU(巴斯克大学 UPV/EHU);Universidad Santo Tomás(圣托马斯大学)
最小公共串划分问题是计算生物学中的一个NP-难组合优化问题。在这项工作中,我们提出了第一个整数线性规划模型来解决这个问题。此外,整数线性规划模型的基础上,我们开发了一个确定性的两阶段启发式算法,适用于较大的问题实例。结果表明,对于文献中的中小规模问题实例,用CPLEX求解所提出的整数线性规划模型,可以得到较好的最优解。此外,新的最知名的解决方案,从文献中获得所有考虑的问题实例。关于启发式,我们能够表明,它优于相关文献中的启发式竞争对手。
2014-05-22 cs.AI cs.DS
Linear-time Computation of DAWGs, Symmetric Indexing Structures, and MAWs for Integer Alphabets
本文提出在整数字母表上利用后缀树以线性时间构造 DAWG 的算法,并据此首次实现词缀树、对称 CDAWG 等结构的线性时间构建,同时给出 MAW 的最优输入输出敏感计算。
2023-07-04 cs.DS cs.FL
On an almost-universal hash function family with applications to authentication and secrecy codes
通用散列是由Carter和Wegman于1979年发现的,在计算机科学中有许多重要的应用。MMH $^*$,在1997年被Halevi和Krawczyk证明是$Δ$ -通用的,是一个著名的通用散列函数家族。我们引入MMH $^*$的一个变体,我们称之为GRDH,其中我们使用任意整数$n>1$代替素数$p$,并让密钥$\mathbf{x}=\langle x_1, \ldots, x_k \rangle \in \mathbb{Z}_n^k$满足条件$\gcd(x_i,n)=t_i$($1\leq i\leq k$),其中$t_1,\ldots,t_k$被赋予$n$的正因子。然后通过将泛散列问题与限制线性同余的解的个数联系起来,证明了对于某些$\varepsilon<1$,族GRDH是$\varepsilon$ -几乎- $Δ$ -泛散列函数族当且仅当$n$是奇数且$\gcd(x_i,n)=t_i=1$ $(1\leq i\leq k)$ .此外,如果满足这些条件,则GRDH是$\frac{1}{p-1}$ -几乎- $Δ$ -泛的,其中$p$是$n$的最小素因子。最后,作为我们的结果的应用,我们提出了一个具有保密性的认证码方案,该方案是Alomair等人[{ \it J. Math. Cryptol.} { \bf 4}(2010),121- 148]和[{ \it J.UCS} …
2017-04-21 cs.CR cs.DS math.CO