English
Related papers

Related papers: The Power of Simple Tabulation Hashing

200 papers

Randomized algorithms are often enjoyed for their simplicity, but the hash functions employed to yield the desired probabilistic guarantees are often too complicated to be practical. Here we survey recent results on how simple hashing…

Data Structures and Algorithms · Computer Science 2017-01-04 Mikkel Thorup

Simple tabulation hashing dates back to Zobrist in 1970 and is defined as follows: Each key is viewed as $c$ characters from some alphabet $\Sigma$, we have $c$ fully random hash functions $h_0, \ldots, h_{c - 1} \colon \Sigma \to \{0,…

Data Structures and Algorithms · Computer Science 2022-05-04 Jakob Bæk Tejs Houen , Mikkel Thorup

Simple tabulation dates back to Zobrist in 1970. Keys are viewed as c characters from some alphabet A. We initialize c tables h_0, ..., h_{c-1} mapping characters to random hash values. A key x=(x_0, ..., x_{c-1}) is hashed to h_0[x_0]…

Data Structures and Algorithms · Computer Science 2016-11-15 Mikkel Thorup

Previous work on tabulation hashing by Patrascu and Thorup from STOC'11 on simple tabulation and from SODA'13 on twisted tabulation offered Chernoff-style concentration bounds on hash based sums, e.g., the number of balls/keys hashing to a…

Data Structures and Algorithms · Computer Science 2020-08-11 Anders Aamand , Jakob B. T. Knudsen , Mathias B. T. Knudsen , Peter M. R. Rasmussen , Mikkel Thorup

A tabulation-based hash function maps a key into d derived characters indexing random values in tables that are then combined with bitwise xor operations to give the hash. Thorup and Zhang (2004) presented d-wise independent…

Data Structures and Algorithms · Computer Science 2011-12-15 Toryn Qwyllyn Klassen , Philipp Woelfel

This paper considers the basic question of how strong of a probabilistic guarantee can a hash table, storing $n$ $(1 + \Theta(1)) \log n$-bit key/value pairs, offer? Past work on this question has been bottlenecked by limitations of the…

Data Structures and Algorithms · Computer Science 2022-09-19 William Kuszmaul

A random hash function $h$ is $\varepsilon$-minwise if for any set $S$, $|S|=n$, and element $x\in S$, $\Pr[h(x)=\min h(S)]=(1\pm\varepsilon)/n$. Minwise hash functions with low bias $\varepsilon$ have widespread applications within…

Data Structures and Algorithms · Computer Science 2014-05-02 Søren Dahlgaard , Mikkel Thorup

It is shown that for cuckoo hashing with a stash as proposed by Kirsch, Mitzenmacher, and Wieder (2008) families of very simple hash functions can be used, maintaining the favorable performance guarantees: with stash size $s$ the…

Data Structures and Algorithms · Computer Science 2012-04-20 Martin Aumüller , Martin Dietzfelbinger , Philipp Woelfel

Cuckoo hashing is a powerful primitive that enables storing items using small space with efficient querying. At a high level, cuckoo hashing maps $n$ items into $b$ entries storing at most $\ell$ items such that each item is placed into one…

Cryptography and Security · Computer Science 2023-06-21 Kevin Yeo

We study randomness properties of graphs and hypergraphs generated by simple hash functions. Several hashing applications can be analyzed by studying the structure of $d$-uniform random ($d$-partite) hypergraphs obtained from a set $S$ of…

Data Structures and Algorithms · Computer Science 2016-11-02 Martin Aumüller , Martin Dietzfelbinger , Philipp Woelfel

Recent oracle separations [Kretschmer, TQC'21, Kretschmer et. al., STOC'23] have raised the tantalizing possibility of building quantum cryptography from sources of hardness that persist even if the polynomial hierarchy collapses. We…

Quantum Physics · Physics 2024-10-11 Dakshita Khurana , Kabir Tomer

Consistent Hashing functions are widely used for load balancing across a variety of applications. However, the original presentation and typical implementations of Consistent Hashing rely on randomised allocation of hash codes to keys which…

Data Structures and Algorithms · Computer Science 2015-03-19 Matthew Sackman

Hash-based sampling and estimation are common themes in computing. Using hashing for sampling gives us the coordination needed to compare samples from different sets. Hashing is also used when we want to count distinct elements. The quality…

Data Structures and Algorithms · Computer Science 2024-12-02 Anders Aamand , Ioana O. Bercea , Jakob Bæk Tejs Houen , Jonas Klausen , Mikkel Thorup

Hashing is a common technique used in data processing, with a strong impact on the time and resources spent on computation. Hashing also affects the applicability of theoretical results that often assume access to (unrealistic)…

Data Structures and Algorithms · Computer Science 2023-09-29 Ioana O. Bercea , Lorenzo Beretta , Jonas Klausen , Jakob Bæk Tejs Houen , Mikkel Thorup

Cuckoo hashing is a highly practical dynamic dictionary: it provides amortized constant insertion time, worst case constant deletion time and lookup time, and good memory utilization. However, with a noticeable probability during the…

Data Structures and Algorithms · Computer Science 2009-03-04 Yuriy Arbitman , Moni Naor , Gil Segev

The power of two choices is a classic paradigm for load balancing when assigning $m$ balls to $n$ bins. When placing a ball, we pick two bins according to two hash functions $h_0$ and $h_1$, and place the ball in the least loaded bin.…

Data Structures and Algorithms · Computer Science 2016-01-26 Søren Dahlgaard , Mathias Bæk Tejs Knudsen , Eva Rotenberg , Mikkel Thorup

Consistent hashing is a technique that can minimize key remapping when the number of hash buckets changes. The paper proposes a fast consistent hash algorithm (called power consistent hash) that has $O(1)$ expected time for key lookup,…

Data Structures and Algorithms · Computer Science 2023-12-29 Eric Leu

We settle the question of tight thresholds for offline cuckoo hashing. The problem can be stated as follows: we have n keys to be hashed into m buckets each capable of holding a single key. Each key has k >= 3 (distinct) associated buckets…

Data Structures and Algorithms · Computer Science 2010-12-22 Martin Dietzfelbinger , Andreas Goerdt , Michael Mitzenmacher , Andrea Montanari , Rasmus Pagh , Michael Rink

Although cuckoo hashing has significant applications in both theoretical and practical settings, a relevant downside is that it requires lookups to multiple locations. In many settings, where lookups are expensive, cuckoo hashing becomes a…

Data Structures and Algorithms · Computer Science 2011-04-28 Martin Dietzfelbinger , Michael Mitzenmacher , Michael Rink

Despite being one of the oldest data structures in computer science, hash tables continue to be the focus of a great deal of both theoretical and empirical research. A central reason for this is that many of the fundamental properties that…

Data Structures and Algorithms · Computer Science 2023-10-24 Michael A. Bender , Alex Conway , Martín Farach-Colton , William Kuszmaul , Guido Tagliavini
‹ Prev 1 2 3 10 Next ›