For the given non-unary input alphabet Σ, a maximal prefix code h mapping strings over Σ to binary strings, and an optimal deterministic finite automaton (DFA) A with n states recognizing a language L over Σ, we consider the problem of how many states we need for an automaton A′ that decides membership in h(L), the binary coded version of L. Namely, A′ accepts binary inputs belonging to h(L) and rejects binary inputs belonging to h(LC), where LC is the complement of L. The outcome on inputs that are not valid binary codes for any string in Σ⁎ can be arbitrary: A′ may accept, reject, or halt in a “don't care” state. We show that every optimal deterministic don't care finite automaton (dcDFA) A′ solving this promise problem uses at most (‖Σ‖−1)⋅n states but at least n states. In addition, we have established a kind of pseudo-isomorphism between such DFAs and dcDFAs. We also show that, for each non-unary input alphabet Σ, there exists a maximal binary prefix code h such that, for each n≥2 and for each N in range from n to (‖Σ‖−1)⋅n, there exists a language L over Σ such that the optimal DFA recognizing L uses exactly n states and every optimal dcDFA for solving the above promise problem uses exactly N states. Thus, we have the complete state hierarchy for deciding membership in the binary coded version of L, with no magic numbers in between the lower and upper bounds.
Read full abstract