16
$\begingroup$

There is theoretical evidence that the naive cartesian-product construction for the intersection of DFAs is "the best we can do". What about the concatenation of two DFAs? The trivial construction involves converting each DFA into an NFA, adding an epsilon-transition and determinizing the resulting NFA. Can we do better? Is there a known bound on the size of the minimal concatenation DFA (in terms of the sizes of the "prefix" and "suffix" DFAs)?

$\endgroup$
20
$\begingroup$

Yes - it is known that there exist DFA's of $m$ and $n$ states, respectively, such that the minimal DFA for the concatenation of the corresponding languages has $m*2^n - 2^{n-1}$ states, which matches the known upper bound.

This was first observed by Maslov in 1970, and rediscovered by Yu, Zhuang, and K. Salomaa in their paper, "The state complexities of some basic operations on regular languages", TCS 125 (1994), 315-328.

$\endgroup$
  • 1
    $\begingroup$ Thanks, Jeffrey! Is this automaton constructible in time less than the trivial $O(2^{n+m})$? $\endgroup$ – Aryeh Jun 24 '11 at 15:14
  • 1
    $\begingroup$ If you look at the paper I cited you will see the construction, and it looks to me that it can be constructed in essentially the same time as the number of states, $m*2^n - 2^{n-1}$. $\endgroup$ – Jeffrey Shallit Jun 24 '11 at 15:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.