SicHash -- Small Irregular Cuckoo Tables for Perfect Hashing
完美散列函数(Perfect Hash Function,PHF)是一种在给定输入集上没有冲突的散列函数。PHF可以用于阵列中数据的空间有效存储,或者用于确定集合中每个对象的紧凑表示。在本文中,我们提出了PHF构造算法SicHash -用于完美哈希的小不规则布谷鸟表。在其核心,SicHash使用一种已知的技术:它将对象放在布谷鸟哈希表中,然后将每个对象的最终哈希函数选择存储在检索数据结构中。我们将这个想法与不规则的布谷鸟散列相结合,其中每个对象都有不同数量的散列函数。此外,我们使用许多小表,我们超载超过其渐近最大负载因子。最节省空间的竞争对手通常使用蛮力方法来确定PHF。SicHash提供了一种更直接的构造算法,很少需要重新计算部分。我们的实现提高了最先进的空间利用率与建设时间方面的各种配置。同时,它提供了非常快速的查询。
2022-11-08 cs.DS
Generalized Cuckoo Hashing with a Stash, Revisited
Cuckoo hashing是一种常见的哈希技术,在最坏的情况下保证恒定时间的查找。Kirsch、Mitzenmacher和Wieder在SICOMP 2010上提出了增加储藏,作为降低故障概率的一种方式(即,有效的布谷鸟分配不存在的概率)。此后,它已成为密码学等领域的标准技术,这些领域通常需要可以忽略的失败概率。我们专注于Cuckoo哈希的扩展,允许每个桶有多个项目,这提高了负载因子。Kirsch \emph{et al.}也在存在藏匿物的情况下分析了该延伸。特别是,假设$d$是每个桶的项目数,$s$是存储大小,Kirsch \emph{et al.}表明,对于恒定的$d$和$s$,失败概率是$\mathcal{O}(n^{(s+1)(1-d)})$。在本文中,我们首先报告了一个错误的分析基尔希\emph{et al.}显示一个反例,导致一个渐进较大的失败概率$Ω(n^{-d-s-1})$。然后给出了(几乎)任意$d$和$s$的失效概率的一般分析和上界,而不是常数,这对密码学中的应用是有用的。最后,我们从一般分析中推导出一个紧界$Θ(n^{-d-s})$的故障概率,常数$d$和$s$。
2022-12-31 cs.DS
Fully De-Amortized Cuckoo Hashing for Cache-Oblivious Dictionaries and Multimaps
字典(或映射)是一种要求所有键都是唯一的键值存储,而多映射是一种允许多个值与同一个键相关联的键值存储。我们为字典和多重映射设计基于哈希的索引方案,以实现最坏情况下的查找和更新的最佳性能,数据结构需要哈希操作的概率很小或可以忽略不计,这取决于我们是否在外部存储器(I/O)模型或随机存取机(RAM)模型的一个众所周知的版本中工作。我们的构造的主要特征之一是它们是\emph{fully de-amortized},这意味着它们的性能边界保持不变,而无需使用某些性能参数来调整它们的构造,例如故障概率指数中的常数因子,或者在外部存储器模型的情况下,块或高速缓存行的大小以及内部存储器的大小(即,我们的外部存储器算法是高速缓存不经意的)。我们的解决方案是基于一个完全de-amortized实现布谷鸟散列,这可能是独立的利益。该哈希方案使用两个布谷鸟哈希表,一个“嵌套”在另一个内部,其中一个作为主要结构,另一个作为辅助支持队列/存储结构,其相对于传统辅助结构是超大的,但仍然向我们的方案增加了可忽略不计的存储。这种辅助结构使得cuckoo hashing的成功概率非常高,这在加密或数据密集型应用中非常有用。
2011-07-21 cs.DS
On the insertion time of random walk cuckoo hashing
Cuckoo Hashing是Pagh和Rodler发明的一种哈希算法。它使用$d\geq 2$不同的哈希函数将项插入到哈希表中。一段时间以来,随机漫步插入添加项目的预期时间一直是一个悬而未决的问题。我们表明,如果哈希函数$d=O(1)$的数量是足够大的,那么预期的插入时间是$O(1)$每项。
2017-01-08 cs.DS math.CO
A cuckoo hashing variant with improved memory utilization and insertion time
Cuckoo hashing [4]是一种多选择哈希方案,其中每个项目可以放置在多个位置,并且通过将项目移动到其替代位置来解决冲突。在双向布谷鸟哈希的经典实现中,内存被划分为连续的不相交的固定大小的桶。每个项目被散列到两个桶中,并且可以存储在这些桶中的任何位置。参考文献[2]分析了一种变化,其中桶是连续和重叠的。但是,许多系统从辅存中检索相同大小的块(称为页)中的数据。获取页面是一个相对昂贵的过程;但是一旦获取了页面,就可以更快地访问其内容。我们利用这个属性的内存检索,提出了一个变种的布谷鸟哈希纳入以下约束:每个桶必须完全包含在一个页面,但桶不一定是连续的。实验结果表明,这种修改提高了内存利用率,减少了插入一个项目所需的迭代次数。如果每个项目被散列到两个容量为2的桶,页面大小为8,并且每个桶完全包含在单个页面中,则内存利用率在经典的连续不相交桶变体中等于89.71%,在连续重叠桶变体中等于93.78%,并且在我们的新的非连续桶变体中增加到97.46%。当内存利用率为92%时,我们使用广度优先搜索来查找空闲位置,插入新项所需的迭代次数从连续重叠桶变体中的545次大幅减少到我们新的非连续桶变体中的52次。除了经验的结果,我们提出了一个理论上的下限的内存利用率的变化作为页面大小的函数。
2011-11-15 cs.DS
Backyard Cuckoo Hashing: Constant Worst-Case Operations with a Succinct Representation
动态字典的性能主要由其更新时间、查找时间和空间消耗来衡量。在更新时间和查找时间方面,存在以高概率保证最坏情况下的恒定时间操作的已知构造,并且在空间消耗方面,存在使用基本上最优空间的已知构造。然而,尽管对动态字典的第一次分析可以追溯到45年前(当Knuth在1963年分析线性探测时),但这些性能方面之间的权衡仍然没有完全理解。在本文中,我们解决了两个基本的开放问题:-我们构建了第一个动态字典,享有最好的两个世界:它存储n个元素使用(1+ 1)n内存字,并保证在最坏的情况下,高概率的恒定时间操作。具体地,对于任何Ω = Ω((\log \log n / \log n)^{1/2})并且对于多项式多运算的任何序列,在初始化阶段的随机性上具有高概率,所有运算在与Ω无关的恒定时间内执行。该构造是布谷鸟散列的两级变体,增加了一个处理大部分元素的“后院”,以及一个用于消除对重复的依赖的去摊销的完美散列方案。- 我们提出了上述构造的一个变体,它只使用(1+o(1))B个比特,其中B是表示从大小为u的论域中取的大小为n的集合的信息论下限,并保证在最坏情况下具有高概率的恒定时间操作,如前所述。这个问题甚至在摊销设置中也是公开的。我们构建的主要成分之一是基于置换的cuckoo hashing变体,它在处理相当小的宇宙时显着改善了cuckoo hashing的空间消耗。
2010-08-16 cs.DS
Tight Thresholds for Cuckoo Hashing via XORSAT
我们解决了离线cuckoo hashing的严格阈值问题。这个问题可以表述如下:我们有n个键要被散列到m个桶中,每个桶都能容纳一个键。每个键具有k>= 3个(不同的)相关联的桶,这些桶是随机地均匀选择的,并且独立于其他键的选择。如果每个键都可以放入其中一个桶中,则可以成功构建哈希表。我们寻求阈值alpha_k,使得当n趋于无穷大时,如果对于某个alpha <alpha_k,n/m <= alpha,则哈希表可以以高概率成功构建,并且如果对于某个alpha> alpha_k,n/m>= alpha,则哈希表不能以高概率成功构建。在这里,我们考虑的是问题的离线版本,其中所有的键和哈希值都是给定的,因此这个问题相当于以前的多选择哈希模型。我们发现所有k> 2的值的阈值,表明他们实际上是相同的随机k-XORSAT问题的先前已知的阈值。然后,我们扩展这些结果的设置键可以有不同数量的选择,并提供证据的形式的算法的猜想扩展这一结果的布谷鸟哈希表存储多个键在一个桶。
2010-12-21 cs.DS
Cuckoo Hashing in Cryptography: Optimal Parameters, Robustness and Applications
本文提出使用更多哈希函数的布谷鸟哈希构造,显著降低查询开销并证明最优性,同时引入鲁棒布谷鸟哈希应对恶意输入,并应用于改进批量码和PIR构造。
2023-06-20 cs.CR cs.DS
Maximum Bipartite Matching Size And Application to Cuckoo Hashing
Cuckoo hashing with a stash是一种具有高内存利用率的健壮的多选择散列方案,可用于许多网络设备应用程序。不幸的是,对于超过0.5的内存负载,对其性能知之甚少。在本文中,我们分析其平均性能在这样的负载。我们解决这个问题,通过重铸的问题作为一个给定的随机二分图的预期最大匹配大小的分析。我们提供任何有限系统的精确结果,并推导出渐近结果的内存大小的增加。我们进一步考虑这个问题的其他变体,并最终评估我们的模型在互联网骨干网上的表现。更一般地说,我们的结果给出了一个严格的下限的大小所需的任何多项选择哈希方案的隐藏。
2011-08-09 cs.DS cs.NI
Load Thresholds for Cuckoo Hashing with Overlapping Blocks
Dietzfelbinger和Weidling [DW 07]提出了一种布谷鸟散列的自然变体,其中每个$cn$对象在大小为$\ell$的线性(或循环)散列表中被分配大小为$k = 2$的间隔,并且两个起始点都是独立且均匀随机选择的。每个对象必须在其间隔内放置到表格单元格中,但每个单元格只能容纳一个对象。实验表明,该方案优于其中间隔以$\ell$的倍数对齐的块的变体。特别地,负载阈值更高,即可以以高概率实现的负载$c$。例如,Lehman和Panigrahy [LP 09]根据经验观察到$\ell = 2$的阈值约为$96.5\%$,而使用块的阈值约为$89.7\%$。他们设法确定了大$\ell$的阈值的渐近性,但精确的值无法进行严格的分析。我们建立了一种方法来确定这些负载阈值的所有$\ell \geq 2$,事实上,一般$k \geq 2$。例如,对于$k = \ell = 2$,我们得到$\approx 96.4995\%$。我们采用的关键工具是Leconte,Lelarge和Massoulié [LLM13]提出的一个有见地的一般定理,该定理将统计物理学的方法应用于超图可定向性的世界。实际上,我们的图族的可定向性阈值由某些图限制的置信传播方程确定。作为旁注,我们提供了实验证据,表明可以使用Khosla [Kho13]的算法的改编版本在线性时间内构建放置,负载接近阈值。
2019-12-17 cs.DS
Compact Parallel Hash Tables on the GPU
本文研究GPU上紧凑哈希表设计,提出紧凑桶式布谷鸟哈希和紧凑冰山哈希两种方案,并通过CUDA实现与基准测试证明紧凑性可显著提升查找和插入吞吐量,同时保持动态操作性能。
2024-06-13 cs.DS
Fast Insertion for Bucketized Cuckoo Hashing
Carnegie Mellon University(卡内基梅隆大学)
研究布谷鸟哈希的快速插入问题,提出新插入过程,能将哈希表填充到接近最优阈值的负载因子,有poly(ε^-1)插入时间界和强摊销保证,传统算法无法匹配,且查询算法能大概率猜出键所在桶,提升查询效率。
2026-07-28 cs.DS
O(1) Expected Insertion for Random Walk d-ary Cuckoo Hashing up to the Load Threshold
Carnegie Mellon University(卡内基梅隆大学)
本文提出了一种在负载阈值内实现随机游走 d-ary 鸽巢 hashing 的 O(1) 插入算法,通过理论分析证明了插入时间的期望为常数。
2026-10-14 cs.DS math.CO
Fast Concurrent Cuckoo Kick-Out Eviction Schemes for High-Density Tables
Cuckoo hashing保证了恒定时间的查找,而不管表的密度如何,这使得它成为高密度表的可行候选者。然而,Cuckoo hashing插入在高表密度下表现不佳。在本文中,我们通过引入新的踢出驱逐算法来缓解这个问题。实验上,我们的算法减少了高达10倍的因素,每次插入高密度表查看箱的数量。我们还介绍了一个乐观的并发方案,事务多作家布谷鸟哈希表(不使用硬件事务内存)。对于轻删除工作负载,我们的kick-out算法避免了插入之间的所有竞争,并显着降低了事务中止频率。使用称为声明标志的新同步机制,将此结果扩展到任意工作负载。
2016-05-17 cs.DC cs.DS
Sharp Load Thresholds for Cuckoo Hashing
多种选择的范例已经显著地影响了高效数据结构的设计,尤其是哈希表。Cuckoo hashing是扩展这个概念的一种技术。在那里,我们得到一个包含$n$位置的表,并且我们假设每个位置可以保存一个项目。每个要插入的项目随机选择k>1个位置,并必须放置在其中任何一个位置。在冲突阻止将可用项成功分配到所选位置之前,cuckoo hashing可以处理多少负载?这种方法的实际评估表明,可以分配的元素的数量是表的大小的一个大的比例,非常接近1,即使对于小的k值,如4或5。在本文中,我们表明,有一个临界值为这个比例:与高概率,当可用项目的数量低于这个值,那么这些可以成功地分配,但当它超过这个值,分配变得不可能。对于每个k>1,我们明确给出这个临界值。这回答了Mitzenmacher(ESA '09)提出的一个悬而未决的问题,并在理论上支持了实验结果。我们的证明是基于将问题转化为一个超图的设置,并研究了随机k-一致超图的相关典型性质。
2009-10-27 cs.DM cs.DS math.CO
Efficient $d$-ary Cuckoo Hashing at High Load Factors by Bubbling Up
本文提出冒泡上浮杜鹃哈希,在高负载因子下用接近最优的哈希函数数量同时实现快速插入和 O(1) 正查询时间。
2025-01-04 cs.DS math.CO
What if we tried Less Power? -- Lessons from studying the power of choices in hashing-based data structures
本综述回顾了两次选择在布谷鸟哈希表等空间高效数据结构中的作用,指出超过2次选择的代价往往超过收益,并提出一种在比逐元素更粗粒度上运用1+ε次选择的数据结构。
2023-07-02 cs.DS
Analysing the Performance of GPU Hash Tables for State Space Exploration
在过去的几年中,通用图形处理器(GPU)已被用于显着加速许多应用程序。GPU最近带来显著加速的领域之一是模型检验。在模型检验中,状态空间,即,大的有向图,探索,以验证模型是否满足所需的属性。GPUexplore是一个基于GPU的模型检查器,它使用一个哈希表来有效地跟踪已经探索过的状态。由于在这种探索期间发现并存储了大量的状态,因此哈希表应该能够快速地并发处理许多插入和查询。在本文中,我们实验比较了两种不同的哈希表优化的GPU,一个是GPU探索哈希表,另一个使用布谷鸟哈希。我们使用从模型检验实验中获得的随机和非随机数据来比较两种哈希表的性能,以分析两种哈希表用于状态空间探索的适用性。我们得出的结论是,对于随机数据,Cuckoo哈希比GPU explore哈希快三倍,对于非随机数据,Cuckoo哈希快五到九倍。这表明在不久的将来进一步加速GPU探索的巨大潜力。
2017-12-27 cs.DC cs.DS
Variant tolerant read mapping using min-hashing
DNA读段作图是生物信息学中普遍存在的任务,并且已经开发了许多工具来解决读段作图问题。然而,有两个趋势正在改变readmapping的前景:首先,新的测序技术提供了具有高错误率(高达15%)的非常长的读取。其次,群体中的许多遗传变异是已知的,因此参考基因组不被认为是ACGT上的单个字符串,而是包含这些变异的复杂对象。大多数现有的读取映射器不能适当地处理这些新情况。我们引入了一个新的读映射器原型称为VATRAM,认为变量。它基于参考基因组窗口的q-gram集的最小散列。Min-Hashing是一种局部敏感哈希。变体直接插入到VATRAM索引中,从而实现快速映射过程。我们的研究结果表明,VATRAM实现了更好的精度和召回比国家的最先进的读取映射器,如BWA在某些情况下。VATRAM是开源的,可以在https://bitbucket.org/Quedenfeld/vatram-src/上访问。
2017-02-08 cs.DS q-bio.GN
External-Memory Multimaps
许多数据结构支持字典,也称为映射或关联数组,它们存储和管理一组键值对。\emph{multimap}是允许多个值与同一个键关联的泛化。例如,在支持搜索引擎的基础设施中预先使用的倒排文件数据结构是一种多映射,其中单词用作键,文档指针用作值。我们研究了多映射抽象数据类型,以及如何在外部存储器框架中有效地在线实现,并具有恒定的预期I/O性能。用于实现我们的结果的关键技术是布谷鸟散列的组合,使用桶,持有多个项目与多队列实现,以应付不同数量的值,每个键。我们的外部记忆结果是标准的两级记忆模型。
2011-09-16 cs.DS
Fast approximate furthest neighbors with data-dependent hashing
我们提出了一种新的近似最远邻居搜索的哈希策略,使用数据分布选择投影基地。这种策略导致了一种算法,我们称之为DrusillaHash,它能够超越现有的近似最远邻居策略。我们的策略的动机是最远邻居搜索问题的行为的实证研究,这给我们的算法是最有用的直觉。我们还提出了一个变体的算法,给出了一个绝对近似的保证;据我们所知,这是第一个这样的近似最远邻居散列方法给这样的保证。性能研究表明,DrusillaHash可以实现与其他算法相当的近似水平,同时放弃一个数量级的加速。在mlpack机器学习库(可在http://www.mlpack.org找到)中提供了一个实现。
2016-05-31 cs.DS
Peeling Close to the Orientability Threshold: Spatial Coupling in Hashing-Based Data Structures
在多选数据结构中,$m$键的集合$S$中的每个元素$x$通过散列函数与具有容量$\ell \geq 1$的桶的随机集合$e(x) \subseteq [n]$相关联。此设置由超图$H = ([n],\{e(x) \mid x \in S\})$捕获。将每个键容纳在相关联的桶中相当于找到$\ell$ -$H$的方向,该方向将关联顶点分配给每个超边,使得每个顶点被分配至多$\ell$超边。若$H$的每个子超图的最小度至多为$\ell$,则可找到一个$\ell$ -定向图,称$H$为$\ell$ -可剥图.可剥离性在可逆Bloom查找表中具有核心作用,并且可以加快检索数据结构、完美散列函数和布谷鸟散列表的构造。许多超图在$\ell$ -可定向性和$\ell$ -可剥离性方面表现出尖锐的密度阈值,即当密度$c = \frac{m}{n}$增长超过临界值时,这些属性的概率从几乎$1$下降到几乎$0$。在完全随机的$k$ -均匀超图中,$\ell$-可定向性的阈值$c_{k,\ell}^*$显著超过$\ell$ -可剥离性的阈值.本文对任意的$k \geq 2$和$\ell \geq 1$,对任意的$(k,\ell) \neq (2,1)$和任意的$z > 0$,构造了一类新的具有独立同分布的随机$k$ -一致超图.随机超边,使得$\ell$ -可剥离性和$\ell$ -可定向性阈值都接近$c…
2020-11-02 cs.DS
Revisiting Consistent Hashing with Bounded Loads
动态负载均衡是分布式缓存的核心。这里,目标是以提供负载均衡的方式将对象(负载)分配给服务器(计算节点),同时动态地调整服务器的添加或移除。一个基本要求是,添加或删除小型服务器不应该要求我们重新计算整个分配。一个流行且被广泛采用的解决方案是二十年历史的一致性哈希(CH)。最近,提供了一个优雅的扩展来说明服务器边界。在本文中,我们确定,现有的方法CH及其变种遭受级联溢出,导致不良的负载均衡。这种级联效应导致哈希过程的性能随着负载的增加而降低。为了克服级联效应,我们提出了一个简单的解决方案,CH的基础上快速minwise哈希的最新进展。我们表明,理论和经验,我们提出的解决方案是显着优于负载均衡,在许多意义上是最佳的。在AOL搜索数据集和印第安纳大学点击数据集与真实的用户活动,我们提出的解决方案减少了几个数量级的缓存未命中。
2020-06-16 cs.DS
On the Relationship Between Several Variants of the Linear Hashing Conjecture
针对线性哈希最坏情形期望最大负载是否为 n^{o(1)} 的开放难题,论文提出一组中间问题,揭示其等价或关联关系并给出部分进展。
2024-05-18 cs.DM cs.DS
TH*:Scalable Distributed Trie Hashing
在当今的计算机世界中,处理大量数据并不罕见。现在比以往任何时候都更迫切需要分发这些数据,以提高其可用性和访问性能。由于这些原因,有必要开发可伸缩的分布式数据结构。在本文中,我们提出了一个TH * 分布式变体的Trie哈希数据结构。本文首先提出了一种新的数字树(trie)中不含Nil节点的TH算法,并使之适用于多机环境。仿真结果表明,TH * 是可扩展的,在这个意义上,它的增长优雅,一个桶的时间,大量的服务器,TH * 也提供了一个良好的存储空间利用率和高查询效率,特别是排序操作。
2012-05-02 cs.DB cs.DC cs.DS
Differentially Private One Permutation Hashing and Bin-wise Consistent Weighted Sampling
LinkedIn Ads(领英广告部门)
本文将差分隐私与单排列哈希结合,提出含三个变体的DP-OPH框架,还扩展至分箱一致加权采样提出DP-BCWS算法,实验验证了二者在相似度搜索和分类任务上的优异效用与隐私保障。
2023-06-13 cs.CR cs.DS cs.LG
Faster Deterministic Modular Subset Sum
考虑模子集和问题:给定一个由$\mathbb{Z}_m$和一个目标整数$t$组成的集合$X$,判断是否存在一个$X$的子集,其和等于$t \pmod{m}$ .红衣主教和Iacono(SOSA'21),Axiotis等人(SOSA'21)最近的独立工作提供了简单的和近线性的算法,这个问题。Cardinal和Iacono给出了在$O(m \log m)$时间内运行的随机算法,而Axiotis等人给出了在$O(m \text{ polylog } m)$时间内运行的确定性算法。这两个结果的工作减少到一个文本的问题,这是解决使用动态字符串数据结构。在这项工作中,我们开发了一个简单的数据结构,专门设计用于处理模块子集和算法中出现的文本问题。我们的数据结构,我们称之为移位树,是段树的一个简单变体。我们提供了一个基于散列和确定性的移位树的变体。然后将我们的数据结构应用于模子集和问题,得到了两个算法。第一种算法是蒙特卡罗随机化的,并且与Cardinal和Iacono的Las-Vegas算法的$O(m \log m)$运行时相匹配。第二种算法是完全确定性的,并且在$O(m \log m \cdot α(m))$时间内运行,其中$α$是逆阿克曼函数。
2021-07-03 cs.DS
Tight Static Lower Bounds for Non-Adaptive Data Structures
本文研究非自适应数据结构的静态单元探测复杂度,给出字典问题的紧下界,揭示单轮与多轮自适应字典的二分性,并得到非自适应前驱问题的更强静态下界。
2024-04-17 cs.DS
Top Tree Compression of Tries
我们提出了一种基于顶树压缩的压缩表示[ICALP 2013],它适用于标准的、基于比较的指针机计算模型,并支持高效的前缀搜索查询。也就是说,我们展示了如何预处理一组字符串的总长度$n$在一个字母表的大小$σ$到一个压缩的数据结构的最坏情况下的最佳大小$O(n/\log_σn)$,给定一个模式字符串$P$的长度$m$确定如果$P$是一个前缀的字符串之一的时间$O(\min(m\log σ,m + \log n))$。我们表明,这个查询时间实际上是最优的,无论大小的数据结构。现有的解决方案要么使用$Ω(n)$空间,要么依赖于字RAM技术,例如制表、散列、地址算术或字级并行,因此不能在指针机器上工作。我们的结果是第一个解决方案的指针机器,实现最坏情况下的$o(n)$空间。一路上,我们开发了几个有趣的数据结构,工作在一个指针机器和独立的利益。这些包括一个最佳的数据结构随机访问的语法压缩字符串和一个最佳的数据结构的一个变种的水平祖先的问题。
2019-09-20 cs.DS
Fair Near Neighbor Search: Independent Range Sampling in High Dimensions
IT University of Copenhagen(哥本哈根信息技术大学);University of Padova(帕多瓦大学)
相似性搜索是一种基本的算法原语,广泛应用于计算机科学的许多学科。相似性搜索问题有几种变体,最相关的一种是$r$ -近邻($r$-NN)问题:给定半径$r>0$和一组点$S$,构造一个数据结构,对于任何给定的查询点$q$,返回一个点$p$,该点距离$q$至多$r$。本文从公平性的角度研究了$r$ -NN问题。我们从机会均等的意义上考虑公平性:距离查询$r$以内的所有点都应该有相同的概率被返回。在低维情况下,这个问题首先由Hu,Qiao和Tao(PODS 2014)研究。局部敏感哈希(LSH),理论上最强的方法,在高维相似性搜索,不提供这样的公平性保证。为了解决这一问题,我们提出了有效的数据结构$r$ -NN在$S$中的所有点附近的$q$有相同的概率被选择和返回的查询。具体来说,我们首先提出了一个黑盒的方法,给定任何LSH方案,构造一个数据结构均匀采样点的查询附近。然后,我们开发了一个数据结构公平的相似性搜索下的内积,需要近线性空间,并利用局部敏感的过滤器。本文最后的实验评估,突出(不)公平的建议设置在现实世界的数据集,并讨论了固有的不公平引入解决其他变量的问题。
2020-06-15 cs.CG cs.DS cs.IR
Discovering Data Structures: Nearest Neighbor Search and Beyond
Université de Montréal(蒙特利尔大学);Mila;HEC Montréal(蒙特利尔高等商学院);Microsoft Research(微软研究院);University of Southern California(南加州大学);Stanford University(斯坦福大学)
提出一个端到端学习数据结构的通用框架,自动适应数据分布并控制查询与空间复杂度,在最近邻搜索中逆向工程出二分搜索、插值搜索、k-d树和局部敏感哈希等算法。
2026-06-06 cs.AI cs.DS cs.LG
Sampling a Near Neighbor in High Dimensions -- Who is the Fairest of Them All?
IT University of Copenhagen(哥本哈根信息技术大学);University of Illinois at Urbana-Champaign (UIUC)(伊利诺伊大学厄巴纳-香槟分校(UIUC));Toyota Technological Institute at Chicago (TTIC)(芝加哥丰田理工学院(TTIC));University of Copenhagen(哥本哈根大学);University of Padova(帕多瓦大学)
相似性搜索是一种基本的算法原语,广泛应用于计算机科学的许多学科。给定一组点$S$和半径参数$r>0$,$r$ -近邻($r$ -NN)问题要求一个数据结构,该数据结构在给定任何查询点$q$的情况下,返回距离$q$至多$r$的点$p$。在本文中,我们研究了$r$ -NN问题的光个人的公平性和提供平等的机会:距离$r$从查询的所有点应该有相同的概率被返回。在低维情况下,这个问题首先由Hu,Qiao和Tao(PODS 2014)研究。局部敏感哈希(LSH),理论上最强的方法,在高维相似性搜索,不提供这样的公平性保证。在这项工作中,我们表明,基于LSH的算法可以做到公平,而没有显着的效率损失。我们提出了几个有效的数据结构的准确和近似的公平NN问题的变种。我们的方法更普遍地适用于从给定集合的集合的子集合中均匀采样,并且可以在其他一些应用中使用。我们还开发了一个数据结构公平的相似性搜索下的内积,需要近线性空间,并利用局部敏感的过滤器。最后,本文的实验评估,突出了固有的不公平的NN数据结构,并显示我们的算法在现实世界的数据集上的性能。
2021-01-26 cs.DB cs.DS cs.LG