English

Balanced Families of Perfect Hash Functions and Their Applications

Data Structures and Algorithms 2008-12-18 v1 Discrete Mathematics

Abstract

The construction of perfect hash functions is a well-studied topic. In this paper, this concept is generalized with the following definition. We say that a family of functions from [n][n] to [k][k] is a δ\delta-balanced (n,k)(n,k)-family of perfect hash functions if for every S[n]S \subseteq [n], S=k|S|=k, the number of functions that are 1-1 on SS is between T/δT/\delta and δT\delta T for some constant T>0T>0. The standard definition of a family of perfect hash functions requires that there will be at least one function that is 1-1 on SS, for each SS of size kk. In the new notion of balanced families, we require the number of 1-1 functions to be almost the same (taking δ\delta to be close to 1) for every such SS. Our main result is that for any constant δ>1\delta > 1, a δ\delta-balanced (n,k)(n,k)-family of perfect hash functions of size 2O(kloglogk)logn2^{O(k \log \log k)} \log n can be constructed in time 2O(kloglogk)nlogn2^{O(k \log \log k)} n \log n. Using the technique of color-coding we can apply our explicit constructions to devise approximation algorithms for various counting problems in graphs. In particular, we exhibit a deterministic polynomial time algorithm for approximating both the number of simple paths of length kk and the number of simple cycles of size kk for any kO(lognlogloglogn)k \leq O(\frac{\log n}{\log \log \log n}) in a graph with nn vertices. The approximation is up to any fixed desirable relative error.

Keywords

Cite

@article{arxiv.0805.4300,
  title  = {Balanced Families of Perfect Hash Functions and Their Applications},
  author = {Noga Alon and Shai Gutner},
  journal= {arXiv preprint arXiv:0805.4300},
  year   = {2008}
}