Pontificia Universidad Católica de Chile Pontificia Universidad Católica de Chile
Marcelo Arenas, Luis Alberto Croquevielle, Rajesh Jayaram, Cristian Riveros: Efficient Logspace Classes for Enumeration, Counting, and Uniform Generation. PODS 2019: 59-73. (2019)

Efficient Logspace Classes for Enumeration, Counting, and Uniform Generation

Revista : 38th ACM Symposium on Principles of Database Systems (PODS)
Páginas : 59--73
Tipo de publicación : Conferencia No DCC Ir a publicación

Abstract

In this work, we study two simple yet general complexity classes, based on logspace Turing machines, which provide a unifying framework for efficient query evaluation in areas like information extraction and graph databases, among others. We investigate the complexity of three fundamental algorithmic problems for these classes: enumeration, counting and uniform generation of solutions, and show that they have several desirable properties in this respect. Both complexity classes are defined in terms of nondeterministic logspace transducers (NL transducers). For the first class, we consider the case of unambiguous NL transducers, and we prove constant delay enumeration, and both counting and uniform generation of solutions in polynomial time. For the second class, we consider unrestricted NL transducers, and we obtain polynomial delay enumeration, approximate counting in polynomial time, and polynomial-time randomized algorithms for uniform generation. More specifically, we show that each problem in this second class admits a fully polynomial-time randomized approximation scheme (FPRAS) and a polynomial-time Las Vegas algorithm for uniform generation. Interestingly, the key idea to prove these results is to show that the fundamental problem #NFA admits an FPRAS, where #NFA is the problem of counting the number of strings of length n accepted by a nondeterministic finite automaton (NFA). While this problem is known to be #P-complete and, more precisely, SpanL-complete, it was open whether this problem admits an FPRAS. In this work, we solve this open problem, and obtain as a welcome corollary that every function in SpanL admits an FPRAS.