Geometric Amortization of Enumeration Algorithms
Résumé
In this paper, we introduce a technique we call geometric amortization for enumeration algorithms, which can be used to make the delay of enumeration algorithms more regular with little overhead on the space it uses. More precisely, we consider enumeration algorithms having incremental linear delay, that is, algorithms enumerating, on input x, a set A(x) such that for every t ≤ ♯A(x), it outputs at least t solutions in time O(t • p(|x|)), where p is a polynomial. We call p the incremental delay of the algorithm. While it is folklore that one can transform such an algorithm into an algorithm with maximal delay O(p(|x|)), the naive transformation may use exponential space. We show that, using geometric amortization, such an algorithm can be transformed into an algorithm with delay O(p(|x|) log(♯A(x))) and space O(s log(♯A(x))) where s is the space used by the original algorithm. In terms of complexity, we prove that classes DelayP and IncP1 with polynomial space coincide. We apply geometric amortization to show that one can trade the delay of flashlight search algorithms for their average delay up to a factor of O(log(♯A(x))). We illustrate how this tradeoff is advantageous for the enumeration of solutions of DNF formulas.
Mots clés
2012 ACM Subject Classification Theory of computation → Complexity classes phrases Enumeration Polynomial Delay Incremental Delay Amortization
2012 ACM Subject Classification Theory of computation → Complexity classes phrases Enumeration
Polynomial Delay
Incremental Delay
Amortization
Enumeration
Theory of computation → Complexity classes
Domaines
Complexité [cs.CC]Origine | Fichiers produits par l'(les) auteur(s) |
---|