Results 11  20
of
45
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
(Show Context)
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
Using hash tables to manage timestorage complexity in point location problem: Application to Explicit MPC
, 2010
"... The online computational burden of linear model predictive control (MPC) can be moved offline by using multiparametric programming, so called explicit MPC. The solution to the explicit MPC problem is a piecewise affine (PWA) state feedback function defined over a polyhedral subdivision of the set o ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
The online computational burden of linear model predictive control (MPC) can be moved offline by using multiparametric programming, so called explicit MPC. The solution to the explicit MPC problem is a piecewise affine (PWA) state feedback function defined over a polyhedral subdivision of the set of feasible states. The online evaluation of such a control law needs to determine the polyhedral region in which the current state lies. This procedure is called point location and its computational complexity is challenging and determines the minimum possible sampling time of the system. A new flexible algorithm is proposed which enables the designer to tradeoff between time and storage complexities. Utilizing the concept of hash tables and the associated hash functions the proposed method solves an aggregated point location problem that overcomes prohibitive complexity growth with the number of polyhedral regions, while the storageprocessing tradeoff can be optimized via scaling parameters. The flexibility and power of this approach is supported by several numerical examples.
Areaefficient nearassociative memories on FPGAs
 In International Symposium on FieldProgrammable Gate Arrays
, 2013
"... Associative memories can map sparsely used keys to values with low latency but can incur heavy area overheads. The lack of customized hardware for associative memories in today’s mainstream FPGAs exacerbates the overhead cost of building these memories using the fixed address match BRAMs. In this pa ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
Associative memories can map sparsely used keys to values with low latency but can incur heavy area overheads. The lack of customized hardware for associative memories in today’s mainstream FPGAs exacerbates the overhead cost of building these memories using the fixed address match BRAMs. In this paper, we develop a new, FPGAfriendly, memory architecture based on a multiple hash scheme that is able to achieve nearassociative performance (less than 5% of evictions due to conflicts) without the area overheads of a fully associative memory on FPGAs. Using the proposed architecture as a 64KB L1 data cache, we show that it is able to achieve nearassociative missrates while consuming 67 × less FPGA memory resources for a set of benchmark programs from the SPEC2006 suite than fully associative memories generated by the Xilinx Coregen tool. Benefits increase with match width, allowing area reduction up to 100×. At the same time, the new architecture has lower latency than the fully associative memory—3.7 ns for a 1024entry flat version or 6.1 ns for an areaefficient version compared to 8.8 ns for a fully associative memory for a 64b key.
Practical perfect hashing in nearly optimal space
 Information Systems
"... A hash function is a mapping from a key universe U to a range of integers, i.e., h: U↦→{0, 1,...,m−1}, where m is the range’s size. A perfect hash function for some set S ⊆ U is a hash function that is onetoone on S, where m≥S. A minimal perfect hash function for some set S ⊆ U is a perfect hash ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
A hash function is a mapping from a key universe U to a range of integers, i.e., h: U↦→{0, 1,...,m−1}, where m is the range’s size. A perfect hash function for some set S ⊆ U is a hash function that is onetoone on S, where m≥S. A minimal perfect hash function for some set S ⊆ U is a perfect hash function with a range of minimum size, i.e., m=S. This paper presents a construction for (minimal) perfect hash functions that combines theoretical analysis, practical performance, expected linear construction time and nearly optimal space consumption for the data structure. For n keys and m=n the space consumption ranges from 2.62n to 3.3n bits, and for m=1.23n it ranges from 1.95n to 2.7n bits. This is within a small constant factor from the theoretical lower bounds of 1.44n bits for m=n and 0.89n bits for m=1.23n. We combine several theoretical results into a practical solution that has turned perfect hashing into a very compact data structure to solve the membership problem when the key set S is static and known in advance. By taking into account the memory hierarchy we can construct (minimal) perfect hash functions for over a billion keys in 46 minutes using a commodity PC. An open source implementation of the algorithms is available
Identifying library functions in executable files using patterns
 IN PROC. AUSTRALIAN SOFTWARE ENGINEERING CONFERENCE
, 1998
"... Reengineering from legacy executable (binary) files is greatly facilitated by identifying and naming statically linked library functions. This paper presents an efficient method for generating files of patterns; each pattern is a transformation of the first several bytes of a library function' ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Reengineering from legacy executable (binary) files is greatly facilitated by identifying and naming statically linked library functions. This paper presents an efficient method for generating files of patterns; each pattern is a transformation of the first several bytes of a library function's executable code. Given a suitable pattern file, a candidate function can be identified in linear time. One pattern file is generated for each combination of compiler vendor, version, and memory model (where applicable). The process of identifying these parameters in a given executable file also identifies the main function of the program, i.e. the start of the code written by the user. The pattern les are produced automatically from a compiler's library file in a few seconds, with no user intervention required. Due to various limitations, not all library functions can be identified correctly; a small number will be either incorrectly identified or not identified. Optimal perfect hash functions are used to keep the pattern files compact and efficient to process.
Speechbased Annotation of Heterogeneous Multimedia Content Using Automatic Speech Recognition
, 2007
"... This paper reports on the setup and evaluation of robust speech recognition system parts, geared towards transcript generation for heterogeneous, reallife media collections. The system is deployed for generating speech transcripts for the NIST/TRECVID2007 test collection, part of a Dutch reallife ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
This paper reports on the setup and evaluation of robust speech recognition system parts, geared towards transcript generation for heterogeneous, reallife media collections. The system is deployed for generating speech transcripts for the NIST/TRECVID2007 test collection, part of a Dutch reallife archive of newsrelated genres. Performance figures for this type of content are compared to figures for broadcast news test data. 1
Indexing Internal Memory with Minimal Perfect Hash Functions
"... Abstract. A perfect hash function (PHF) is an injective function that maps keys from a set S to unique values, which are in turn used to index a hash table. Since no collisions occur, each key can be retrieved from the table with a single probe. A minimal perfect hash function (MPHF) is a PHF with t ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
(Show Context)
Abstract. A perfect hash function (PHF) is an injective function that maps keys from a set S to unique values, which are in turn used to index a hash table. Since no collisions occur, each key can be retrieved from the table with a single probe. A minimal perfect hash function (MPHF) is a PHF with the smallest possible range, that is, the hash table size is exactly the number of keys in S. MPHFs are widely used for memory efficient storage and fast retrieval of items from static sets. Differently from other hashing schemes, MPHFs completely avoid the problem of wasted space and wasted time to deal with collisions. In the past, the amount of space to store an MPHF description was O(log n) bits per key and therefore similar to the overhead of space of other hashing schemes. Recent results on MPHFs by [Botelho et al. 2007] changed this scenario: in their work the space overhead of an MPHF is approximately 2.6 bits per key. The objective of this paper is to show that MPHFs are a good option to index internal memory when static key sets are involved and both successful and unsuccessful searches are allowed. We have shown that MPHFs provide the best tradeoff between space usage and lookup time when compared with linear hashing, quadratic hashing, double hashing, dense hashing, cuckoo hashing and sparse hashing. For example, MPHFs outperforms linear hashing, quadratic hashing and double hashing when these methods have a hash table occupancy of 75 % or higher (if the MPHF fits in the CPU cache the same happens for hash table occupancies greater than or equal to 55%). Furthermore, MPHFs also have a better performance in all measured aspects when compared to sparse hashing, which has been designed specifically for efficient memory usage. 1.
Application of Minimal Perfect Hashing in Main Memory Indexing
, 1994
"... With the rapid decrease in the cost of random access memory (RAM), it will soon become economically feasible to place fulltext indexes of a library in main memory. One essential component of the indexing system is a hashing algorithm, which maps a keyword into the memory address of the index inform ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
With the rapid decrease in the cost of random access memory (RAM), it will soon become economically feasible to place fulltext indexes of a library in main memory. One essential component of the indexing system is a hashing algorithm, which maps a keyword into the memory address of the index information corresponding to that keyword. This thesis studies the application of the minimal perfect hashing algorithm in main memory indexing. This algorithm is integrated into the index search engine of the Library 2000 system, a digital online library system. The performance of this algorithm is compared with that of the openaddressing hashing scheme. We find that although the minimal perfect hashing algorithm needs fewer keyword comparisons per keyword search on average, its hashing performance is slower than the openaddressing scheme.
GGPerf: A Perfect Hash Function Generator
, 1997
"... This program is a yetanotherprogramprogram. It reads in primary keys with relevant specifications, then generates a high level language program. The result program is a minimal perfect hash function that can retrieve information in only one probe. ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
This program is a yetanotherprogramprogram. It reads in primary keys with relevant specifications, then generates a high level language program. The result program is a minimal perfect hash function that can retrieve information in only one probe.
Avoiding rotated bitboards with direct lookup
 ICGA Journal
, 2007
"... This paper describes an approach for obtaining direct access to the attacked squares of sliding pieces without resorting to rotated bitboards. The technique involves creating four hash tables using the builtin hash arrays from an interpreted, highlevel language. The rank, file, and diagonal occupa ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper describes an approach for obtaining direct access to the attacked squares of sliding pieces without resorting to rotated bitboards. The technique involves creating four hash tables using the builtin hash arrays from an interpreted, highlevel language. The rank, file, and diagonal occupancy are first isolated by masking the desired portion of the board. The attacked squares are then directly retrieved from the hash tables. Maintaining incrementally updated rotated bitboards becomes unnecessary as does all the updating, mapping, and shifting required to access the attacked squares. Finally, rotatedbitboard movegeneration speed is compared with that of the direct hashtable lookup method. 1.