Results 1  10
of
16
Derandomization, witnesses for Boolean matrix multiplication and construction of perfect hash functions
 Algorithmica
, 1996
"... Small sample spaces with almost independent random variables are applied to design efficient sequential deterministic algorithms for two problems. The first algorithm, motivated by the attempt to design efficient algorithms for the All Pairs Shortest Path problem using fast matrix multiplication, so ..."
Abstract

Cited by 67 (5 self)
 Add to MetaCart
(Show Context)
Small sample spaces with almost independent random variables are applied to design efficient sequential deterministic algorithms for two problems. The first algorithm, motivated by the attempt to design efficient algorithms for the All Pairs Shortest Path problem using fast matrix multiplication, solves the problem of computing witnesses for the Boolean product of two matrices. That is, if A and B are two n by n matrices, and C = AB is their Boolean product, the algorithm finds for every entry Cij = 1 a witness: an index k so that Aik = Bkj = 1. Its running time exceeds that of computing the product of two n by n matrices with small integer entries by a polylogarithmic factor. The second algorithm is a nearly linear time deterministic procedure for constructing a perfect hash function for a given nsubset of {1,..., m}.
A Perfect Hash Function Generator
"... gperf is a "softwaretool generatingtool" designed to automate the generation of perfect hash functions. This paper describes the features, algorithms, and objectoriented design and implementation strategies incorporated in gperf.Italso presents the results from an empirical comparison ..."
Abstract

Cited by 55 (36 self)
 Add to MetaCart
gperf is a "softwaretool generatingtool" designed to automate the generation of perfect hash functions. This paper describes the features, algorithms, and objectoriented design and implementation strategies incorporated in gperf.Italso presents the results from an empirical comparison between gperfgenerated recognizers and other popular techniques for reserved word lookup. gperf is distributed with the GNU libg++ library and is used to generate the keyword recognizers for the GNU C and GNU C++ compilers. 1 Introduction Perfect hash functions are a time and space efficient implementation of static search sets, which are ADTs with operations like initialize, insert,andretrieve. Static search sets are common in system software applications. Typical static search sets include compiler and interpreter reserved words, assembler instruction mnemonics, and shell interpreter builtin commands. Search set elements are called keywords.Key words are inserted into the set once, usually at c...
A Comparison of Hashing Schemes for Address Lookup in Computer Networks
, 1989
"... The trend toward networks becoming larger and faster, and addresses increasing in size, has impelled a need to explore alternatives for fast address recognition. Hashing is one such alternative which can help minimize the address search time in adapters, bridges, routers, gateways, and name servers. ..."
Abstract

Cited by 52 (1 self)
 Add to MetaCart
The trend toward networks becoming larger and faster, and addresses increasing in size, has impelled a need to explore alternatives for fast address recognition. Hashing is one such alternative which can help minimize the address search time in adapters, bridges, routers, gateways, and name servers. Using a trace of address references, we compared the efficiency of several different hashing functions and found that the cyclic redundancy checking (CRC) polynomials provide excellent hashing functions. For software implementation, Fletcher checksum provides a good hashing function. Straightforward folding of address octets using the exclusiveor operation is also a good hashing function. For some applications, bit extraction from the address can be used. Guidelines are provided for determining the size of hash mask required to achieve a specified level of performance.
An Optimal Algorithm for Generating Minimal Perfect Hash Functions
 Information Processing Letters
, 1992
"... A new algorithm for generating order preserving minimal perfect hash functions is presented. The algorithm is probabilistic, involving generation of random graphs. It uses expected linear time and requires a linear number words to represent the hash function, and thus is optimal up to constant facto ..."
Abstract

Cited by 48 (1 self)
 Add to MetaCart
(Show Context)
A new algorithm for generating order preserving minimal perfect hash functions is presented. The algorithm is probabilistic, involving generation of random graphs. It uses expected linear time and requires a linear number words to represent the hash function, and thus is optimal up to constant factors. It runs very fast in practice. Keywords: Data structures, probabilistic algorithms, analysis of algorithms, hashing, random graphs
A faster algorithm for constructing minimal perfect hash functions
 In Proceedings of the Fifteenth Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, Data Structures
, 1992
"... Our previous research on oneprobe access to large collections of data indexed by alphanumeric keys has produced the first practical minimal perfect hash functions for this problem. Here, a new algorithm is described for quickly finding minimal perfect hash functions whose specification space is v ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
Our previous research on oneprobe access to large collections of data indexed by alphanumeric keys has produced the first practical minimal perfect hash functions for this problem. Here, a new algorithm is described for quickly finding minimal perfect hash functions whose specification space is very close to the theoretical lower bound, i.e., around 2 bits per key. The various stages of processing are detailed, along with analytical and empirical results, including timing for a set of over 3.8 million keys that was processed on a NeXTstation in about 6 hours. 1
Towards Optimal Storage Design for Efficient Query Processing in Relational Database Systems
, 1995
"... The placement of records, and the methods used to access them, can significantly affect the performance of query processing in a database management system. By making use of information about query patterns and their frequencies, we aim to design file organisations which optimally cluster records th ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
The placement of records, and the methods used to access them, can significantly affect the performance of query processing in a database management system. By making use of information about query patterns and their frequencies, we aim to design file organisations which optimally cluster records through the use of indexes. Many different record indexing techniques can be used to cluster records. Multiattribute hash indexing is the indexing technique which we use to demonstrate the effectiveness of our proposals. We describe algorithms which exploit a clustering arrangement for range queries, join queries and other relational queries, and describe the costs of these algorithms. We compare the performance of various optimisation techniques for the problem of optimally clustering records using each of these algorithms. In general, designing optimal indexes to cluster records is NPhard. We show that by combining heuristic and combinatorial algorithms, nearoptimal indexes can be constru...
Graphs, hypergraphs and hashing
 In 19th International Workshop on GraphTheoretic Concepts in Computer Science
, 1993
"... Minimal perfect hash functions are used for memory e±cient storage and fast retrieval of items from static sets. We present an in¯nite family of e±cient and practical algorithms for generating minimal perfect hash functions which allow an arbitrary order to be speci¯ed for the keys. We show that alm ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Minimal perfect hash functions are used for memory e±cient storage and fast retrieval of items from static sets. We present an in¯nite family of e±cient and practical algorithms for generating minimal perfect hash functions which allow an arbitrary order to be speci¯ed for the keys. We show that almost all members of the family are space and time optimal, and we identify the one with minimum constants. Members of the family generate a minimal perfect hash function in two steps. First a special kind of function into an r{graph is computed probabilistically. Then this function is re¯ned deterministically to a minimal perfect hash function. We give strong practical and theoretical evidence that the ¯rst step uses linear random time. The second step runs in linear deterministic time. The family not only has theoretical importance, but also o®ers the fastest known method for generating perfect hash functions. Key words: Data structures, probabilistic algorithms, analysis of algorithms, hashing, generalized random graphs 1
A Letteroriented Perfect Hashing Scheme Based upon Sparse Table Compression
, 1991
"... this paper, a new letteroriented perfect hashing scheme based on Ziegler's row displacement method is presented. A unique n tuple from a given set of static letteroriented key words can be extracted by a heuristic algorithm. Then the extracted distinct n tuples are associated with a 0/1 spa ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
this paper, a new letteroriented perfect hashing scheme based on Ziegler's row displacement method is presented. A unique n tuple from a given set of static letteroriented key words can be extracted by a heuristic algorithm. Then the extracted distinct n tuples are associated with a 0/1 sparse matrix. Using a sparse matrix compression technique, a perfect hashing function on the key words is then constructed
Finding succinct ordered minimal perfect hash functions
, 1994
"... An ordered minimal perfect hash table is one in which no collisions occur among a prede ned set of keys, no space is unused and the data are placed in the table in order. A new method for creating ordered minimal perfect hash functions is presented. It creates hash functions with representation spac ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
An ordered minimal perfect hash table is one in which no collisions occur among a prede ned set of keys, no space is unused and the data are placed in the table in order. A new method for creating ordered minimal perfect hash functions is presented. It creates hash functions with representation space requirements closer to the theoretical lower bound than previous methods. The method presented requires approximately 17 % less space to represent generated hash functions and is easy to implement. However, a high time complexity makes it practical for small sets only (size < 1000).