Incremental Edge Orientation in Forests

For any forest G = (V, E) it is possible to orient the edges E so that no vertex in V has out-degree greater than 1. This paper considers the incremental edge-orientation problem, in which the edges E arrive over time and the algorithm must maintain a low-out-degree edge orientation at all times. We give an algorithm that maintains a maximum out-degree of 3 while flipping at most O(log log n) edge orientations per edge insertion, with high probability in n. The algorithm requires worst-case time O(log n log log n) per insertion, and takes amortized time O(1). The previous state of the art required up to O(log n/ log log n) edge flips per insertion. We then apply our edge-orientation results to the problem of dynamic Cuckoo hashing. The problem of designing simple families H of hash functions that are compatible with Cuckoo hashing has received extensive attention. These families H are known to satisfy static guarantees, but do not come typically with dynamic guarantees for the running time of inserts and deletes. We show how to transform static guarantees (for 1-associativity) into near-state-of-the-art dynamic guarantees (for O(1)-associativity) in a black-box fashion. Rather than relying on the family H to supply randomness, as in past work, we instead rely on randomness within our table-maintenance algorithm. 2012 ACM Subject Classification Theory of computation → Data structures design and analysis; Theory of computation → Dynamic graph algorithms

[1]  Moni Naor,et al.  Backyard Cuckoo Hashing: Constant Worst-Case Operations with a Succinct Representation , 2009, 2010 IEEE 51st Annual Symposium on Foundations of Computer Science.

[2]  Clifford Stein,et al.  Faster Fully Dynamic Matchings with Small Approximation Ratios , 2016, SODA.

[3]  Michael Mitzenmacher,et al.  More Robust Hashing: Cuckoo Hashing with a Stash , 2008, ESA.

[4]  Martin Dietzfelbinger,et al.  On risks of using cuckoo hashing with simple universal hash classes , 2009, SODA.

[5]  Pat Morin,et al.  Cuckoo hashing: Further analysis , 2003, Inf. Process. Lett..

[6]  Xiaozhou Li,et al.  Algorithmic improvements for fast concurrent Cuckoo hashing , 2014, EuroSys '14.

[7]  Shay Solomon,et al.  Simple deterministic algorithms for fully dynamic maximal matching , 2012, STOC '13.

[8]  Michael T. Goodrich,et al.  Fully De-Amortized Cuckoo Hashing for Cache-Oblivious Dictionaries and Multimaps , 2011, ArXiv.

[9]  Martin Dietzfelbinger,et al.  A Simple Hash Class with Strong Randomness Properties in Graphs and Hypergraphs , 2016, ArXiv.

[10]  Michael Mitzenmacher,et al.  Some Open Questions Related to Cuckoo Hashing , 2009, ESA.

[11]  Robert Krauthgamer,et al.  Orienting Fully Dynamic Graphs with Worst-Case Time Bounds , 2013, ICALP.

[12]  Mikkel Thorup,et al.  Approximately Minwise Independence with Twisted Tabulation , 2014, SWAT.

[13]  Moni Naor,et al.  De-amortized Cuckoo Hashing: Provable Worst-Case Performance and Experimental Results , 2009, ICALP.

[14]  William Kuszmaul,et al.  The Multiplicative Version of Azuma's Inequality, with an Application to Contention Analysis , 2021, ArXiv.

[15]  Norbert Zeh,et al.  Orienting Dynamic Graphs, with Applications to Maximal Matchings and Adjacency Queries , 2014, ISAAC.

[16]  Mikkel Thorup,et al.  Fast and Powerful Hashing using Tabulation , 2015, FOGA '17.

[17]  Rina Panigrahy,et al.  Efficient hashing with lookups in two memory accesses , 2004, SODA '05.

[18]  Clifford Stein,et al.  Fully Dynamic Matching in Bipartite Graphs , 2015, ICALP.

[19]  Gerth Stølting Brodal,et al.  Dynamic Representation of Sparse Graphs , 1999, WADS.

[20]  Martin Dietzfelbinger,et al.  Explicit and Efficient Hash Families Suffice for Cuckoo Hashing with a Stash , 2012, Algorithmica.

[21]  Kai-Min Chung,et al.  Why simple hash functions work: exploiting the entropy in a data stream , 2008, SODA '08.

[22]  Daniel M. Kane Bounds on the Independence Required for Cuckoo Hashing , 2013 .

[23]  Gerth Stølting Brodal,et al.  A Simple Greedy Algorithm for Dynamic Graph Orientation , 2018, Algorithmica.

[24]  Martin Dietzfelbinger,et al.  Almost random graphs with simple hash functions , 2003, STOC '03.

[25]  Mikkel Thorup,et al.  The power of simple tabulation hashing , 2010, STOC.

[26]  Rasmus Pagh,et al.  Cuckoo Hashing , 2001, Encyclopedia of Algorithms.

[27]  Lukasz Kowalik,et al.  Oracles for bounded-length shortest paths in planar graphs , 2006, TALG.

[28]  Michael E. Saks,et al.  The cell probe complexity of dynamic data structures , 1989, STOC '89.

[29]  Mikkel Thorup,et al.  Twisted Tabulation Hashing , 2013, SODA.

[30]  Mathias Bæk Tejs Knudsen,et al.  Power of d Choices with Simple Tabulation , 2018, ICALP.