[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article
Free access

Finding minimal perfect hash functions

Published: 01 February 1986 Publication History

Abstract

A heuristic is given for finding minimal perfect hash functions without extensive searching. The procedure is to construct a set of graph (or hypergraph) models for the dictionary, then choose one of the models for use in constructing the minimal perfect hashing function. The construction of this function relies on a backtracking algorithm for numbering the vertices of the graph. Careful selection of the graph model limits the time spent searching. Good results have been obtained for dictionaries of up to 181 words. Using the same techniques, non-minimal perfect has functions have been found for sets of up to 667 words.

References

[1]
[C] Richard J. Cichelli. "Minimal Perfect Hash Functions Made Simple." Communications of the ACM 23(1) (January 1980), 17-19.
[2]
[CW] J. Lawrence Carter and Mark N. Wegman. "Universal Classes of Hash Functions." Proceedings of the 9th Annual ACM Symposium of the Theory of Computing (May 1977), 106-112.
[3]
[KH] Kevin Karplus and Gary Haggard. Finding Minimal Perfect Hash Functions. Cornell Computer Science Technical Report TR84-637 (September 1984).
[4]
[Sa] T. J. Sager. "A Polynomial Time Generator for Minimal Perfect Hash Functions. Communications of the ACM 28(5) (May 1985), 523-532.
[5]
[Sp] R. Sprognoli. "Perfect hashing functions: A single probe retrieving method for static sets." Communications of the ACM 20(11) (November 1977), 841-850.

Cited By

View all

Recommendations

Reviews

Herman Peter Hoplin

This paper gives a heuristic for finding minimal perfect hash functions without extensive searching. The authors report that good results have been obtained for dictionaries of up to 181 words and, by using the same techniques, this can be extended for sets of up to 667 words. According to the paper, a minimal perfect hashing function can be defined as a one-to-one in mapping from a set of keys K to n consecutive integers. The paper presents a method for quickly finding hash functions for sets of up to 180 words. The authors point out that the same techniques can be applied to larger sets to find perfect hash functions. The content of the paper alludes to the practical limits of perfect hash functions when it comes to address computation of larger files. One approach to addressing records is a hashing scheme, which involves a mathematical operation where the result can be used as the address (i.e., the division/remainder method). The problem comes when the generated address is not unique, which, in turn, causes collisions and leads to resulting addresses referred to as synonyms. These conflicts then have to be resolved. But even then, they should be minimized to maintain the integrity of the hashing scheme. This phenomenon results from the use of a relatively black address, such as the use of the last five digits in a social security number where there are duplicates in larger populations. Ths short paper is useful for readers who are concerned with hash functions, hashing schemes, and the use of the technique as addresses or file retrieval methods. The paper has both a research and a practitioner value, in that the technique could be more useful if simple optimal methods could be devised and applied to larger files such as databases. For academic purposes, it likewise exposes a challenge toward finding minimal perfect functions that, if simple, would have broad practical applications. The paper whets the appetite of professionals and users, and is a worthwhile consideration for extending the value of hashing to the field.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGCSE Bulletin
ACM SIGCSE Bulletin  Volume 18, Issue 1
Proceedings of the 17th SIGCSE symposium on Computer science education
February 1986
304 pages
ISSN:0097-8418
DOI:10.1145/953055
Issue’s Table of Contents
  • cover image ACM Conferences
    SIGCSE '86: Proceedings of the seventeenth SIGCSE technical symposium on Computer science education
    February 1986
    336 pages
    ISBN:0897911784
    DOI:10.1145/5600
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 February 1986
Published in SIGCSE Volume 18, Issue 1

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)89
  • Downloads (Last 6 weeks)15
Reflects downloads up to 23 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2014)Fast Flow Analysis with Godel HashesProceedings of the 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation10.1109/SCAM.2014.40(225-234)Online publication date: 28-Sep-2014
  • (2005)Graphs, hypergraphs and hashingGraph-Theoretic Concepts in Computer Science10.1007/3-540-57899-4_49(153-165)Online publication date: 26-May-2005
  • (1997)Perfect hashingTheoretical Computer Science10.1016/S0304-3975(96)00146-6182:1-2(1-143)Online publication date: 15-Aug-1997
  • (1992)An optimal algorithm for generating minimal perfect hash functionsInformation Processing Letters10.1016/0020-0190(92)90220-P43:5(257-264)Online publication date: 5-Oct-1992
  • (1990)Integration of a workstation laboratory into a computer science curriculumProceedings of the 28th annual Southeast regional conference10.1145/98949.98995(80-88)Online publication date: 1-Apr-1990
  • (1990)A compendium of key search referencesACM SIGIR Forum10.1145/101306.10130824:3(26-42)Online publication date: 1-Nov-1990
  • (1989)Near—perfect hashing of large word setsSoftware—Practice & Experience10.1002/spe.438019100519:10(967-978)Online publication date: 1-Sep-1989
  • (1988)Hashing for Dynamic and Static Internal TablesComputer10.1109/2.705621:10(45-56)Online publication date: 1-Oct-1988
  • (1994)Using Tries to Eliminate Pattern Collisions in Perfect HashingIEEE Transactions on Knowledge and Data Engineering10.1109/69.2777686:2(239-247)Online publication date: 1-Apr-1994

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media