🤖 AI Summary
This paper addresses the #NFA problem—counting the number of length-$n$ strings accepted by a given nondeterministic finite automaton (NFA). While theoretically feasible fully polynomial randomized approximation schemes (FPRAS) exist, their high time complexity renders them impractical. We propose a novel framework integrating dependency-aware modeling, Markov chain sampling, and dynamic probability estimation, yielding the first practical FPRAS for #NFA. Our algorithm achieves time complexity $O(n^2 m^3 log(nm) varepsilon^{-2} log(delta^{-1}))$, where $m$ is the number of NFA transitions—marking the first subquadratic-time FPRAS and approaching the $Omega(n m^2)$ lower bound for membership queries. Empirically and theoretically, it significantly outperforms prior approaches. Under $(1pmvarepsilon)$-multiplicative error guarantees with confidence $1-delta$, the method is efficient enough for real-world deployment. This work bridges a critical gap, advancing #NFA approximate counting from theoretical feasibility to practical applicability.
📝 Abstract
#NFA refers to the problem of counting the words of length $n$ accepted by a non-deterministic finite automaton. #NFA is #P-hard, and although fully-polynomial-time randomized approximation schemes (FPRAS) exist, they are all impractical. The first FPRAS for #NFA had a running time of $ ilde{O}(n^{17}m^{17}varepsilon^{-14}log(δ^{-1}))$, where $m$ is the number of states in the automaton, $δin (0,1]$ is the confidence parameter, and $varepsilon > 0$ is the tolerance parameter (typically smaller than $1$). The current best FPRAS achieved a significant improvement in the time complexity relative to the first FPRAS and obtained FPRAS with time complexity $ ilde{O}((n^{10}m^2 + n^6m^3)varepsilon^{-4}log^2(δ^{-1}))$. The complexity of the improved FPRAS is still too intimidating to attempt any practical implementation.
In this paper, we pursue the quest for practical FPRAS for #NFA by presenting a new algorithm with a time complexity of $O(n^2m^3log(nm)varepsilon^{-2}log(δ^{-1}))$. Observe that evaluating whether a word of length $n$ is accepted by an NFA has a time complexity of $O(nm^2)$. Therefore, our proposed FPRAS achieves sub-quadratic complexity with respect to membership checks.