Design Strategies for Minimal Perfect Hash Functions

A minimal perfect hash function h for a set S ⊆ U of size n is a function h:U → {0,. . ., n-1} that is one-to-one on S. The complexity measures of interest are storage space for h, evaluation time (which should be constant), and construction time. The talk gives an overview of several recent randomized constructions of minimal perfect hash functions, leading to space-efficient solutions that are fast in practice. A central issue is a method ("split-and-share") that makes it possible to assume that fully random (hash) functions are available.

[1]  George Havas,et al.  A Family of Perfect Hashing Methods , 1996, Comput. J..

[2]  Kurt Mehlhorn,et al.  Matching Algorithms Are Fast in Sparse Random Graphs , 2004, STACS.

[3]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[4]  Yossi Matias,et al.  Polynomial Hash Functions Are Reliable (Extended Abstract) , 1992, ICALP.

[5]  Nicholas C. Wormald,et al.  Counting connected graphs inside-out , 2005, J. Comb. Theory, Ser. B.

[6]  Alan Siegel,et al.  On Universal Classes of Extremely Random Constant-Time Hash Functions , 1995, SIAM J. Comput..

[7]  Larry Carter,et al.  Universal Classes of Hash Functions , 1979, J. Comput. Syst. Sci..

[8]  Yoshiharu Kohayakawa,et al.  A Practical Minimal Perfect Hashing Method , 2005, WEA.

[9]  Rasmus Pagh,et al.  Simple and Space-Efficient Minimal Perfect Hash Functions , 2007, WADS.

[10]  Alfred V. Aho,et al.  Data Structures and Algorithms , 1983 .

[11]  Friedhelm Meyer auf der Heide,et al.  A New Universal Class of Hash Functions and Dynamic Hashing in Real Time , 1990, ICALP.

[12]  Rasmus Pagh Hash and Displace: Efficient Evaluation of Minimal Perfect Hash Functions , 1999 .

[13]  George Havas,et al.  Perfect Hashing , 1997, Theor. Comput. Sci..

[14]  Friedhelm Meyer auf der Heide,et al.  De Dictionariis Dynamicis Pauco Spatio Utentibus (lat. On Dynamic Dictionaries Using Little Space) , 2006, LATIN.

[15]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[16]  George Havas,et al.  An Optimal Algorithm for Generating Minimal Perfect Hash Functions , 1992, Inf. Process. Lett..

[17]  Nicholas C. Wormald,et al.  Corrigendum to "Counting connected graphs inside-out" [J. Combin. Theory Ser. B 93 (2005) 127-172] , 2008, J. Comb. Theory, Ser. B.

[18]  Niklaus Wirth,et al.  Algorithms and Data Structures , 1989, Lecture Notes in Computer Science.

[19]  Torben Hagerup,et al.  Efficient Minimal Perfect Hashing in Nearly Minimal Space , 2001, STACS.

[20]  Martin Dietzfelbinger,et al.  Balanced allocation and dictionaries with tightly packed constant size bins , 2005, Theor. Comput. Sci..

[21]  Klaus Jansen,et al.  Experimental and Efficient Algorithms , 2003, Lecture Notes in Computer Science.

[22]  Friedhelm Meyer auf der Heide,et al.  Dynamic Hashing in Real Time , 1992, Informatik.

[23]  Jon Louis Bentley Programming pearls: a sample of brilliance , 1987, CACM.

[24]  Paul G. Spirakis,et al.  Space Efficient Hash Tables with Worst Case Constant Access Time , 2003, STACS.

[25]  János Komlós,et al.  Storing a sparse table with O(1) worst case access time , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[26]  Mikkel Thorup Even strongly universal hashing is pretty fast , 2000, SODA '00.

[27]  Bernard Chazelle,et al.  The Bloomier filter: an efficient data structure for static support lookup tables , 2004, SODA '04.

[28]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[29]  Philipp Woelfel,et al.  Maintaining External Memory Efficient Hash Tables , 2006, APPROX-RANDOM.

[30]  Marcos Kiwi,et al.  LATIN 2006: Theoretical Informatics , 2006, Lecture Notes in Computer Science.

[31]  Christoph Weidling,et al.  Platzeffiziente Hashverfahren mit garantierter konstanter Zugriffszeit , 2004 .

[32]  J. Komlos,et al.  On the Size of Separating Systems and Families of Perfect Hash Functions , 1984 .

[33]  Martin Dietzfelbinger,et al.  Simple Minimal Perfect Hashing in Less Space , 2001, ESA.

[34]  Jeanette P. Schmidt,et al.  The Spatial Complexity of Oblivious k-Probe Hash Functions , 2018, SIAM J. Comput..

[35]  Friedhelm Meyer auf der Heide,et al.  Dynamic perfect hashing: upper and lower bounds , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[36]  Rajeev Motwani,et al.  Average-case analysis of algorithms for matchings and related problems , 1994, JACM.

[37]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .