| | |
Summary: Dynamical Systems Theory and Hashing
Chaouki T. Abdallah y Gregory L. Heileman y Bernard M. E. Moret z Bradley J. Smith y
chaouki@eece.unm.edu heileman@eece.unm.edu moret@cs.unm.edu bsmith@eece.unm.edu
Deparment of Electrical and Computer Engineering y
Deparment of Computer Science z
University of New Mexico
Albuquerque, NM 87131
Summary
Number theory and statistics have been used to justify the use of various probing strategies for
hashing with open addressing. We show how measures from nonlinear dynamical systems theory
can be used to analyze the behavior of different probing strategies. The usefulness of this approach
is demonstrated on a number of widely used hash functions. An important connection we make
between hashing and nonlinear dynamics is that many of the properties of a good probe sequence
are precisely those that define a chaotic dynamical system. As a specific example, we show that
double hashing can be described as chaotic discretetime dynamical systems and use nonlinear
dynamical systems theory to quantify how well double hashing can be expected to perform.
The dynamical systems approach to the analysis of hash functions has also proven useful as
a design tool. We derive a new family of hash functions, called exponential hashing, from this
perspective and show that it improves on conventional double hashing. Theoretical results are
supported by experimentation which demonstrates that, for uniform data distributions, exponential
|