5,199 research outputs found

    Balanced Families of Perfect Hash Functions and Their Applications

    Full text link
    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

    Optimal Vertex Fault Tolerant Spanners (for fixed stretch)

    Full text link
    A kk-spanner of a graph GG is a sparse subgraph HH whose shortest path distances match those of GG up to a multiplicative error kk. In this paper we study spanners that are resistant to faults. A subgraph HGH \subseteq G is an ff vertex fault tolerant (VFT) kk-spanner if HFH \setminus F is a kk-spanner of GFG \setminus F for any small set FF of ff vertices that might "fail." One of the main questions in the area is: what is the minimum size of an ff fault tolerant kk-spanner that holds for all nn node graphs (as a function of ff, kk and nn)? This question was first studied in the context of geometric graphs [Levcopoulos et al. STOC '98, Czumaj and Zhao SoCG '03] and has more recently been considered in general undirected graphs [Chechik et al. STOC '09, Dinitz and Krauthgamer PODC '11]. In this paper, we settle the question of the optimal size of a VFT spanner, in the setting where the stretch factor kk is fixed. Specifically, we prove that every (undirected, possibly weighted) nn-node graph GG has a (2k1)(2k-1)-spanner resilient to ff vertex faults with Ok(f11/kn1+1/k)O_k(f^{1 - 1/k} n^{1 + 1/k}) edges, and this is fully optimal (unless the famous Erdos Girth Conjecture is false). Our lower bound even generalizes to imply that no data structure capable of approximating distGF(s,t)dist_{G \setminus F}(s, t) similarly can beat the space usage of our spanner in the worst case. We also consider the edge fault tolerant (EFT) model, defined analogously with edge failures rather than vertex failures. We show that the same spanner upper bound applies in this setting. Our data structure lower bound extends to the case k=2k=2 (and hence we close the EFT problem for 33-approximations), but it falls to Ω(f1/21/(2k)n1+1/k)\Omega(f^{1/2 - 1/(2k)} \cdot n^{1 + 1/k}) for k3k \ge 3. We leave it as an open problem to close this gap.Comment: To appear in SODA 201

    Determinant Sums for Undirected Hamiltonicity

    Full text link
    We present a Monte Carlo algorithm for Hamiltonicity detection in an nn-vertex undirected graph running in O(1.657n)O^*(1.657^{n}) time. To the best of our knowledge, this is the first superpolynomial improvement on the worst case runtime for the problem since the O(2n)O^*(2^n) bound established for TSP almost fifty years ago (Bellman 1962, Held and Karp 1962). It answers in part the first open problem in Woeginger's 2003 survey on exact algorithms for NP-hard problems. For bipartite graphs, we improve the bound to O(1.414n)O^*(1.414^{n}) time. Both the bipartite and the general algorithm can be implemented to use space polynomial in nn. We combine several recently resurrected ideas to get the results. Our main technical contribution is a new reduction inspired by the algebraic sieving method for kk-Path (Koutis ICALP 2008, Williams IPL 2009). We introduce the Labeled Cycle Cover Sum in which we are set to count weighted arc labeled cycle covers over a finite field of characteristic two. We reduce Hamiltonicity to Labeled Cycle Cover Sum and apply the determinant summation technique for Exact Set Covers (Bj\"orklund STACS 2010) to evaluate it.Comment: To appear at IEEE FOCS 201
    corecore