Abstract

DFA minimization is an important problem in algorithm design and is based on the notion of DFA equivalence: Two DFA's are equivalent if and only if they accept the same set of strings. In this paper, we propose a new notion of DFA equivalence (that we call weak-equivalence): We say that two DFA's are weakly equivalent if they both accept the same number of strings of length k for every k. The motivation for this problem is as follows. A large number of counting problems can be solved by encoding the combinatorial objects we want to count as strings over a finite alphabet. If the collection of encoded strings is accepted by a DFA, then standard algorithms from computational linear algebra can be used to solve the counting problem efficiently. When applying this approach to large-scale applications, the bottleneck is the space complexity since the computation involves a matrix of order k × k if k is the size of the underlying DFA M. This leads to the natural question: Is there a smaller DFA that is weakly equivalent to M? We present an algorithm of time complexity O ( k 3 ) to find a compact DFA weakly equivalent to a given DFA. We illustrate, in the case of a tiling problem, that our algorithm reduces a (strongly minimal) DFA by a factor close to 1/2.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call