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
Perfect Hashing for Data Management Applications
完美散列函数可以潜在地用于压缩与各种数据管理任务相关的数据。尽管人们对如何构造好的完美哈希函数做了大量的工作,但现有的最小完美哈希方法在理论和实践上都存在一定的差距。一方面,对于大型密钥集,存在良好的理论结果,但没有实验证明的实用性。另一方面,理论上分析的时间和空间使用算法假设真正的随机哈希函数是免费的,这是一个不切实际的假设。在本文中,我们试图弥合理论与实践之间的差距,使用一些技术从文献中获得一个新的计划,在理论上是很好的理解,并在同一时间实现了一个数量级的性能增长相比,以前的“实用”的方法。这种改进来自一个新的,理论上最佳的完美的散列方案,大大简化了以前的方法相结合,我们的算法是为了充分利用存储层次结构的事实。我们证明了我们的算法的可扩展性,通过考虑一组超过10亿的URL从万维网的平均长度为64,我们构建了一个最小的完美的哈希函数在一个商品PC在一个多小时。我们的方案产生最小的完美散列函数,每个密钥使用略多于3位。对于在范围$\{0,...,2n-1\}$中的完美散列函数,空间使用下降到每键刚好超过2位(即,比表示密钥的最佳值多一位)。这明显低于先前对于非常大的$n$值所实现的。
2007-02-27 cs.DB cs.DS
Global certification via perfect hashing
本文通过完美哈希技术,证明了图同态全局认证中先前下界的最优性,推翻了改进下界的猜想,并给出了匹配的上界。
2024-02-06 cs.DC cs.DS
Near-Isometric Binary Hashing for Large-scale Datasets
我们开发了一个可扩展的算法来学习二进制哈希码索引大规模数据集。近等距二进制哈希(Near-isometric binary hashing,NIBH)是一种数据相关的哈希方案,它量化学习的低维嵌入的输出以获得二进制哈希码。与通常依赖于$\ell_2$范数(即,平均失真)最小化,NIBH基于$\ell_{\infty}$ -范数(即,最坏情况失真)最小化,其提供若干益处,包括优越的距离、排名和近邻保存性能。我们开发了一个实用和高效的算法NIBH列生成的基础上,规模以及大型数据集。一系列的实验评估表明,NIBH的优越性超过10个国家的最先进的二进制哈希方案。
2016-03-12 cs.DS
Engineering Minimal k-Perfect Hash Functions
本文针对当前缺乏高效 k-完美哈希函数的问题,提出四种新的构造方法,在空间消耗、构建时间和查询时间上同时超越既有方案,复兴了 k-完美哈希研究领域。
2025-07-02 cs.DS
TH*:Scalable Distributed Trie Hashing
在当今的计算机世界中,处理大量数据并不罕见。现在比以往任何时候都更迫切需要分发这些数据,以提高其可用性和访问性能。由于这些原因,有必要开发可伸缩的分布式数据结构。在本文中,我们提出了一个TH * 分布式变体的Trie哈希数据结构。本文首先提出了一种新的数字树(trie)中不含Nil节点的TH算法,并使之适用于多机环境。仿真结果表明,TH * 是可扩展的,在这个意义上,它的增长优雅,一个桶的时间,大量的服务器,TH * 也提供了一个良好的存储空间利用率和高查询效率,特别是排序操作。
2012-05-02 cs.DB cs.DC cs.DS
Locality-Preserving Minimal Perfect Hashing of k-mers
本文针对连续提取的 k-mer 提出一种保局部性最小完美哈希函数,利用相邻 k-mer 的重叠关系突破经典空间下界,使连续 k-mer 映射到连续地址,实验表明其空间占用更小且查询更快。
2023-04-12 cs.DS
PHOBIC: Perfect Hashing with Optimized Bucket Sizes and Interleaved Coding
本文提出PHOBIC技术,通过优化预期桶大小的闭式分布和分区交错种子编码方案,在相同查询时间和构造吞吐量下比PTHash节省0.17位/键空间,并提供GPU加速实现。
2024-04-29 cs.DS
PHORMA: Perfectly Hashable Order Restricted Multidimensional Arrays
在本文中,我们提出了一个简单而有效的数据结构产生一个完美的散列相当一般的数组。该数据结构被命名为phorma,它是完美散列顺序限制多维数组的首字母缩写。关键词:完美散列函数,有向图,隐枚举,Nijenhuis-Wilf组合族。
2003-03-23 cs.DS
Learned Monotone Minimal Perfect Hashing
本文提出LeMonHash,一种通过PGM索引学习单调映射并用BuRR解决冲突的整数最小完美哈希构建技术,显著降低空间开销并大幅提升查询速度,同时扩展至变长字符串场景。
2023-08-30 cs.DS
PtrHash: Minimal Perfect Hashing at RAM Throughput
ETH Zurich(苏黎世联邦理工学院)
PtrHash通过优化内存和吞吐量,实现高效构建和查询的最小完美哈希函数,适用于大规模数据处理。
2025-05-27 cs.DS
AnchorHash: A Scalable Consistent Hash
一致性哈希(CH)是许多网络应用程序中的核心构建块,从数据中心负载平衡到分布式存储。不幸的是,最先进的CH解决方案无法确保在任意更改下的完全一致性,并且/或者无法在保持合理的内存占用和更新时间的同时进行扩展。我们提出了AnchorHash,一个可扩展的和完全一致的哈希算法。AnchorHash实现了高密钥查找率、低内存占用和低更新时间。我们正式建立其强有力的理论保证,并提出了先进的实现,每个资源只有几个字节的内存占用。此外,广泛的评估表明,它的性能优于最先进的算法,并且它可以在单核上扩展到1亿个资源,同时仍然实现每秒超过1500万个键的键查找速率。
2020-11-22 cs.DS
MorphisHash: Improving Space Efficiency of ShockHash for Minimal Perfect Hashing
本文提出 MorphisHash 技术,通过几乎完全消除 ShockHash 中候选位置映射的冗余,在最小完美哈希中实现 Θ(ln(n)) 比特的理论空间节省,实际空间开销降低约 20 倍。
2025-07-02 cs.DS
De Dictionariis Dynamicis Pauco Spatio Utentibus
我们开发动态字典的字RAM,使用渐近最优的空间,常数因子,插入和删除,并支持完美的哈希查询和/或成员查询,每个操作在恒定的时间与高概率。当只支持成员查询时,我们得到了Theta(n lg(u/n))位的最佳空间界,其中n和u分别是字典和宇宙的大小。以前的字典要么没有达到这个空间界限,要么只有预期和摊销的时间界限。当支持完美散列查询时,最佳空间界限取决于范围{1,2,. n+t}个哈希码作为输出。我们证明了当只支持完美哈希查询时,最优空间界为Theta(nlg(u/n)+nlg(n/(t+1)bits,当也支持成员查询时,最优空间界为Theta(nlg(u/n)+nlg(n/(t+1)bits.所有的上界都是新的,Omega(n lg(n/(t+1)下界也是新的。
2005-12-20 cs.DS
Non-Minimal $k$-Perfect Hashing: Tight Lower Bounds and an Application to Fast Static Hash Tables
Karlsruhe Institute of Technology(卡尔斯鲁厄理工学院)
研究非最小k完美哈希,给出其在加速静态哈希表方面的应用。通过理论分析确定k - PHF紧密空间下界,实践中基于PtrHash开发并调优k - PHF用于静态哈希表,实现大小略超下界,在查询速度上有显著提升。
2026-08-28 cs.DS
ShockHash: Near Optimal-Space Minimal Perfect Hashing Beyond Brute-Force
本文提出 ShockHash,利用高度过载布谷鸟哈希表与伪森林结构,以近最优空间和远低于暴力搜索的代价构造 MPHF,并在 RecSplit 等框架中实现显著加速。
2024-06-05 cs.DS
Combined Search and Encoding for Seeds, with an Application to Minimal Perfect Hashing
本文提出一种种子组合搜索与编码算法,使成功种子序列的熵比传统方法减少 Ω(n) 比特,并基于此构造出空间需求 (1+ε)OPT、构造时间 O(n/ε) 的最小完美哈希函数,在 ε ≤ 3% 时构造吞吐量超越现有方法两个数量级以上。
2025-07-02 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
PHast -- Perfect Hashing made fast
Faculty of Mathematics and Computer Science, University of Łódź(罗兹大学数学与计算机科学学院);Karlsruhe Institute of Technology(卡尔斯鲁厄理工学院)
本文提出PHast完美哈希方法,通过改进桶放置机制、采用小范围哈希与并行构建实现高速查询、快速构建和低空间消耗,其PHast+变体更将构建速度提升一个数量级。
2025-10-22 cs.DB cs.DS cs.PF
Simplified Tight Bounds for Monotone Minimal Perfect Hashing
本文针对单调最小完美哈希(MMPHF)的空间复杂度,在更宽泛的参数范围内证明了紧下界,并简化了先前证明,几乎完全解决了该问题。
2024-04-17 cs.DS
PHastR: Faster Minimal Perfect Hashing with Rotated Layouts
Dipartimento di Informatica, Università degli Studi di Milano(米兰大学计算机系)
该研究提出PHastR最小完美哈希函数,通过旋转布局避免自碰撞,空间与PHast+相当,构建和查询速度更快,多线程扩展性更好,还推导了键放置碰撞比例的下界。
2026-10-16 cs.DS
Sparse Hashing for Scalable Approximate Model Counting: Theory and Practice
National University of Singapore(新加坡国立大学);Indian Institute of Technology, Bombay(印度理工学院孟买分校)
给定n个变量的CNF公式F,模型计数或#SAT的问题是计算F的满足赋值的数量。模型计数是计算机科学中的一个基本而又困难的问题,有着广泛的应用。近年来,人们对开发有效的算法技术进行了大量的努力,这些技术将经典的2-universal hashing与过去十年中SAT求解的显着进步相结合。这些技术增加了CNF公式F与随机XOR约束,并调用NP预言反复对所得CNF-XOR公式。在实践中,对NP oracle调用的调用被SAT求解器取代,SAT求解器的运行时性能受到XOR约束的大小的不利影响。2-通用散列函数的标准构造选择概率p = 1/2的每个变量,从而导致期望大小为n/2的XOR约束。因此,挑战在于设计稀疏散列函数,其中可以以较小的概率选择变量并导致较小大小的XOR约束。在本文中,我们从理论和实践的角度来应对这一挑战。首先,我们正式放松的通用散列,称为集中散列,并建立一个新的和美丽的连接,这些散列函数的浓度措施和布尔超立方体上的等周不等式。这允许我们获得方差和分散指数的(log m)紧界,并表明p = O(log(m)/m)足以设计从{0,1}^n到{0,1}^m的稀疏散列函数。然后,我们使用稀疏散列函数属于这个集中的哈希家庭开发新的近似计数算法。我们的算法在1893基准测试的综合实验评估表明,稀疏散列函数的使用可以导致显着的加速。
2020-04-30 cs.DS cs.LG cs.LO
Beating Fredman-Komlós for perfect $k$-hashing
我们说子集$C \subseteq \{1,2,\dots,k\}^n$是$k$散列码(也称为$k$分离的),如果对于来自$C$的每个$k$码字子集,存在一个坐标,其中所有这些码字具有不同的值。理解$k$ -散列码的最大可能速率(以比特为单位)(定义为$(\log_2 |C|)/n$)是一个经典问题。它出现在两个等价的上下文中:(i)将$N$元素的全域映射到$\{1,2,\dots,k\}$中的完美散列族的可能的最小大小,以及(ii)对于特定组合信道,利用大小小于$k$的列表进行解码的零错误容量。对于任何$k \geq 4$,Fredman和Komlós在1984年得到了一个关于$k$ -散列码的速率的$k!/k^{k-1}$的一般上界(在大$n$的限制下)。虽然已经获得了$k=4$的更好的界限,但它们的原始界限仍然是每个$k \ge 5$的最佳界限。在这项工作中,我们得到了第一个改进的Fredman-Komlós界的每$k \ge 5$。虽然我们得到明确的(数值)界为$k=5,6$,对于较大的$k$,我们只表明,FK界可以提高一个积极的,但未指定的,量。在单纯形上某个多项式优化问题的最优值的猜想下,我们的方法允许对每个$k$计算有效界。
2018-05-10 cs.DM cs.DS cs.IT
DxHash: A Scalable Consistent Hash Based on the Pseudo-Random Sequence
本文提出基于伪随机序列的可扩展一致性哈希算法DxHash及加权变体,在负载均衡、最小扰动等六项指标上全面优于现有方案,百万节点集群50%故障率下仍达每秒1330万次查询。
2023-11-18 cs.DS cs.NI
A Simple Hash Class with Strong Randomness Properties in Graphs and Hypergraphs
研究了由简单散列函数生成的图和超图的随机性。通过研究$d$ -均匀随机($d$ -partite)超图的结构,可以分析几种散列应用,其中$d$ -partite超图是从$n$密钥的集合$S$和通过将每个密钥$x\in S$与超边$\{h_1(x),\dots, h_d(x)\}$相关联的$d$随机选择的散列函数$h_1,\dots,h_d$获得的.通常假定$h_1,\dots,h_d$表现出高度的独立性。我们提出了一个简单的构造散列类,其散列函数具有小的常数评估时间,可以存储在次线性空间。我们设计的一般技术来分析这些哈希函数所产生的图和超图的随机性,我们表明,它们可以取代其他,不太有效的建设布谷鸟哈希(有和没有藏),模拟一个统一的哈希函数,建设一个完美的哈希函数,广义布谷鸟哈希和不同的负载均衡的情况。
2016-10-31 cs.DS
Quicksort, Largest Bucket, and Min-Wise Hashing with Limited Independence
随机算法和数据结构通常是在假设可以访问完美的随机性源的情况下进行分析的。用来衡量哈希函数或随机数生成器的“随机性”的最基本度量是其独立性:如果每个变量都是均匀的,并且每个大小$k$子集都是独立的,则随机变量序列被称为$k$独立的。在本文中,我们考虑三个经典的算法在有限的独立性。我们提供了新的界限随机快速排序,最小明智的哈希和最大桶大小有限的独立性。我们的结果可以总结如下。- 随机快速排序当使用与$5$无关的散列函数计算枢轴元素时,Karloff和Raghavan,J.ACM'93展示了$O ( n \log n)$对于特殊版本的快速排序的预期最坏情况运行时间。我们改进了这一点,表明相同的运行时间是实现只有$4$独立。- 最小值哈希对于集合$A$,考虑特定元素被映射到最小散列值的概率。已知$5$独立性意味着最优概率$O (1 /n)$。Broder等人,STOC'98表明$2$独立性意味着它是$O(1 / \sqrt{|A|})$。我们展示了一个匹配的下界,以及新的紧界$3$和$4$独立的哈希函数。- 最大的桶我们考虑使用独立于$k$的哈希函数将$n$球分配到$n$桶的情况,并分析最大桶大小。Alon et.等人,STOC'97表明存在$2$独立的散列函数,其暗示大小为$Ω( n^{1/2})$的桶。我们推广的界限,提供一个$k$独立的家庭的功能,意味着大小$Ω( n^{1/k})$…
2015-02-19 cs.DS
Adaptive Hashing: Faster Hash Functions with Fewer Collisions
Google DeepMind(谷歌DeepMind)
本文提出了一种自适应哈希方法,通过在线调整哈希函数以减少碰撞并提高速度。
2026-02-05 cs.DS
Geometric Hashing in MPC with Applications to Clustering and Stochastic Embeddings
Indian Institute of Technology Bombay(印度理工学院孟买分校);Bar Ilan University(巴伊兰大学);POSTECH(韩国科学技术院)
本文提出首个MPC模型下针对未知加倍度量空间的一致性哈希并行构造算法,基于该算法实现了聚类、随机嵌入等几何问题的高效MPC求解。
2026-10-16 cs.CG cs.DS
BinomialHash: A Constant Time, Minimal Memory Consistent Hash Algorithm
本文提出 BinomialHash 一致性哈希算法,实现常数时间查找与最小内存占用,并通过伪代码、理论证明及对比实验验证其性能与边界。
2025-03-17 cs.DC cs.DS
Fast Scalable Construction of (Minimal Perfect Hash) Functions
有限域上的随机线性系统的最新进展已经为使用相对于现有技术更少的空间来构造表示静态函数和最小完美散列函数的恒定时间数据结构铺平了道路。这些结果的任何实际应用的主要障碍是解决这些线性系统所需的10-时间高斯消除:尽管它们可以做得很小,但计算仍然太慢而不可行。在本文中,我们详细描述了一些算法和编程技术,以加快解决这些系统的几个数量级,使整体建设的竞争力与标准和广泛使用的MWHC技术,这是基于超图剥离。特别是,我们介绍了广泛的编程技术,快速方程操作和惰性高斯消除算法。我们还描述了一些技术改进的数据结构,进一步减少空间使用和提高查找速度。我们的实现这些技术产生一个最小的完美的哈希函数数据结构占用2.24位每个元素,相比2.68 MWHC为基础的,和一个静态函数数据结构,减少乘法开销从1.23到1.03。
2016-03-22 cs.DS
Distortion-Resistant Hashing for rapid search of similar DNA subsequence
生物信息学的基本任务之一是定位一个短的子序列$S$,在测序时读取,在一个长的参考序列$R$,如人类基因组。一种自然的快速方法是找到$S$的散列值,并将其与$R$的每个长度$|S|$序列的散列值的准备数据库进行比较。这种方法的问题在于,它只会发现一个完美的匹配,而实际上有很多小的变化:替换,删除和插入。这个问题可以修复,如果有一个哈希函数设计为容忍一些小的失真,相应的比对度量(如Needleman-Wunch):设计为使两个相似的序列应该最有可能给出相同的哈希值。本文讨论了抗失真哈希(DRH)的建设,以产生这样的指纹快速搜索相似的序列。所提出的方法是基于率失真理论:在一个几乎均匀的长度$|S|$序列的子集,哈希值表示最接近的序列$S$。这提供了对冲突距离的一些控制:具有相同哈希值的序列。
2016-02-18 cs.DS cs.IT math.IT
FastContext: an efficient and scalable implementation of the ConText algorithm
University of Utah(犹他大学)
目的:开发和评估FastContext,一种高效、可扩展的ConText算法实现,适用于超大规模临床自然语言处理。背景资料:上下文算法在检测临床叙述中的经验者、否定状态和概念提及的时间性方面具有最先进的准确性。然而,其当前实现的速度限制阻碍了其在大数据处理中的使用。研究方法:我们通过对ConText规则进行散列来开发FastContext,并将其速度和准确性与两种广泛使用的Java实现JavaConText和GeneralConText进行了比较。结果如下:与本研究中用于比较的其他两种实现相比,FastContext的运行速度快了两个数量级,并且由于规则增加而减速较少。此外,FastContext随着规则的增加(添加新规则的预期结果)不断获得准确性的提高,而其他两个实现则没有。结论:FastContext是流行的ConText算法的一种高效、可扩展的实现,适用于非常大的临床语料库上的自然语言应用。
2019-04-30 cs.CL cs.DS
PaCHash: Packed and Compressed Hash Tables
我们引入PaCHash,一个哈希表,它将对象连续存储在一个数组中,即使对象的大小可变,也不需要插入空间。具体地,每个对象可以使用标准压缩技术来压缩。小的搜索数据结构允许在恒定的预期时间内定位对象。PaCHash最自然地被描述为静态外部哈希表,其中它需要每个外部存储器块的内部存储器的恒定位数。在这里,从某种意义上说,PaCHash击败了k-完美散列的空间消耗下限。快速SSD的实现需要每个外部存储器块大约5位的内部存储器,每个搜索操作仅需要一次磁盘访问(可变长度),并且与磁盘访问成本相比具有较小的内部搜索开销。我们的实验表明,即使考虑相同大小的对象,它的空间消耗也比之前所有方法都低。
2022-11-08 cs.DS