For nearly six decades, the central open question in the study of hash tables has been to determine the optimal achievable tradeoff curve between time and space. State-of-the-art hash tables offer the following guarantee: If keys/values are Theta(log n) bits each, then it is possible to achieve constant-time insertions/deletions/queries while wasting only O(loglog n) bits of space per key when compared to the information-theoretic optimum. Even prior to this bound being achieved, the target of O(loglog n) wasted bits per key was known to be a natural end goal, and was proven to be optimal for a number of closely related problems (e.g., stable hashing, dynamic retrieval, and dynamically-resized filters). This paper shows that O(loglog n) wasted bits per key is not the end of the line for hashing. In fact, for any k \in [log* n], it is possible to achieve O(k)-time insertions/deletions, O(1)-time queries, and O(\log^{(k)} n) wasted bits per key (all with high probability in n). This means that, each time we increase insertion/deletion time by an \emph{additive constant}, we reduce the wasted bits per key \emph{exponentially}. We further show that this tradeoff curve is the best achievable by any of a large class of hash tables, including any hash table designed using the current framework for making constant-time hash tables succinct.
翻译:近60年来, 散列表格研究中的核心未决问题一直是确定时间和空间之间最佳可实现的折算曲线。 端点的散列表格提供了以下保证: 如果键/ 值为 Theta( log n) 位数, 那么在仅浪费 O( log n) 位数时, 可以实现恒定的插入/ 删除/ queries, 与信息理论最佳度相比, 每个键只浪费 O( log n) 位数。 即使在实现这一交界之前, O( log n) 的折叠比值目标已知为自然结束目标, 并且证明对于一些密切相关的问题( 例如, 稳定的散列、 动态检索和动态调整过滤器) 来说是最佳的 。 本文显示, 相对于信息理论的最佳行, 每个键( log n) 的浪费位数不是行的结尾。 事实上, 任何 k( ) [log n] 中, 任何框架都有可能实现O( k) 时间插入/ deletletion, O(1) 时间查询, 而O (\\ k) 高级递增了每个键 时间 工具, 显示我们所设计的累变的顺序。