Core Concepts
The authors present a faster fully polynomial-time randomized approximation scheme (FPRAS) for the #NFA problem, which is to determine the size of the set of words of a given length accepted by a non-deterministic finite automaton (NFA). The new FPRAS significantly improves the time complexity compared to the previous state-of-the-art FPRAS.
Abstract
The paper focuses on the #NFA problem, which is to determine the size of the set of words of a given length accepted by a non-deterministic finite automaton (NFA). The #NFA problem is known to be #P-hard, and recently an FPRAS (fully polynomial-time randomized approximation scheme) was developed for it. However, the time complexity of the previous FPRAS was prohibitively high, limiting its practical applicability.
The authors present a new FPRAS for #NFA that has significantly lower time complexity. The key technical differences are:
The new FPRAS maintains a weaker invariant about the quality of the estimate of the number of samples for each state and length, compared to the previous FPRAS.
The new FPRAS only requires the distribution of the samples maintained to be close to the uniform distribution in total variation distance, instead of the stronger maximum norm condition used in the previous FPRAS.
These differences allow the new FPRAS to maintain significantly fewer samples per state, leading to a much lower overall time complexity. Specifically, the new FPRAS runs in time ̃O((m^2 * n^10 + m^3 * n^6) * (1/ε^4) * log^2(1/δ)), where m is the number of states in the NFA, n is the length of the strings, ε is the approximation error, and δ is the failure probability. This is a significant improvement over the previous FPRAS, which had a time complexity of ̃O(m^17 * n^17 * (1/ε^14) * log(1/δ)).
The authors also present two key subroutines - AppUnion and sample - and provide formal guarantees for their correctness and running time. The main algorithm combines these subroutines to achieve the overall FPRAS for #NFA.
Stats
The size of the NFA, m, is a key parameter that affects the time complexity.
The length of the strings, n, is another key parameter that affects the time complexity.
The approximation error parameter, ε, and the failure probability parameter, δ, also affect the time complexity.