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)?
1 Answer
$\begingroup$
$\endgroup$
3
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.
-
1$\begingroup$ Thanks, Jeffrey! Is this automaton constructible in time less than the trivial $O(2^{n+m})$? $\endgroup$– AryehCommented Jun 24, 2011 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$ Commented Jun 24, 2011 at 15:16
-
$\begingroup$ Just pointing out that there is a Wikipedia page which is a great resource for this kind of questions: en.wikipedia.org/wiki/State_complexity#Concatenation $\endgroup$ Commented Dec 20, 2023 at 19:33