### Descriptional and computational complexity of finite automata—A survey

Markus Holzer, Martin Kutrib
2011 Information and Computation
Finite automata are probably best known for being equivalent to right-linear context-free grammars and, thus, for capturing the lowest level of the Chomsky-hierarchy, the family of regular languages. Over the last half century, a vast literature documenting the importance of deterministic, nondeterministic, and alternating finite automata as an enormously valuable concept has been developed. In the present paper, we tour a fragment of this literature. Mostly, we discuss developments relevant to
more » ... finite automata related problems like, for example, (i) simulation of and by several types of finite automata, (ii) standard automata problems such as fixed and general membership, emptiness, universality, equivalence, and related problems, and (iii) minimization and approximation. We thus come across descriptional and computational complexity issues of finite automata. We do not prove these results but we merely draw attention to the big picture and some of the main ideas involved. NC 1 , L, NL, P, NP, and PSPACE, or others-for basics in computational complexity theory we refer to, e.g. [41] . Our tour on the subjects listed in the abstract cover some (recent) results in the field of descriptional and computational complexity. It obviously lacks completeness and it reflects our personal view of what constitute the most interesting links to descriptional and computational complexity theory. In truth there is much more to the regular languages, DFAs, NFAs, etc., than one can summarize here. For a recent survey on finite automata we refer to [87] and [38]. Our nomenclature of finite automata is as follows: the powerset of a set Q is denoted by 2 Q and the empty word by λ. The reversal of a word w over alphabet , referred to w R , is inductively defined as w R := λ, if w = λ, and w R := u R a, if w = au, for a ∈ and u ∈ * . Then the reversal of the language L ⊆ * is set to where Q is the finite set of states, is the finite set of input symbols, q 0 ∈ Q is the initial state, F ⊆ Q is the set of accepting states, and δ : Q × → 2 Q is the transition function. < This is an extended and revised version of: M. Holzer, M. Kutrib. Descriptional and Computational Complexity of Finite Automata, Proc. 3rd Int. Conf. Language M. Holzer, M. Kutrib / Information and Computation 209 (2011) 456-470 457 A finite automaton is deterministic (DFA) if and only if |δ(q, a)| = 1, for all states q ∈ Q and letters a ∈ . In this case we simply write δ(q, a) = p instead of δ(q, a) = {p} assuming that the transition function is a mapping δ : Q × → Q . So, any DFA is complete, that is, the transition function is total, whereas it may be a partial function for NFAs in the sense that the transition function of nondeterministic machines may map to the empty set. Let L(A) = { w ∈ * | δ(q 0 , w) ∩ F = ∅ } be the language accepted by the NFA or DFA A, where the transition function is recursively extended to a δ : Q × * → 2 Q . A finite automaton is said to be minimal if its number of states is minimal with respect to the accepted language. Note that a sink state is counted for DFAs, since they are always complete, whereas it is not counted for NFAs, since these devices are not necessarily complete. For further details we refer to [41] . We identify the logical values false and true with 0 and 1 and write {0, 1} Q for the set of finite functions from Q into {0, 1}, and {0, 1} {0,1} Q for the set of Boolean formulas (functions) mapping {0, 1} Q into {0, 1}. An alternating finite automaton (AFA) is a 5-tuple A = (Q , , δ, q 0 , F), where Q , , q 0 , and F are as for NFAs, and δ : is the transition function. The transition function maps pairs of states and input symbols to Boolean formulas. Before we define the language accepted by the AFA A we have to explain how a word is accepted. As the input is read (from left to right), the automaton "builds" a propositional formula, starting with the formula q 0 , and on reading an input a, replaces every q ∈ Q in the current formula by δ(q, a) . The input is accepted if and only if the constructed formula on reading the whole input evaluates to 1 on substituting 1 for q, if q ∈ F, and 0 otherwise. This substitution defines a mapping from Q into {0, 1} which is called the characteristic vector f A of A. Then the language accepted by the AFA A is defined as L(A) = { w ∈ * | w is accepted by A }. A slight generalization of AFAs are Boolean automata [13] , that are similarly defined as AFAs except for the initial state, which is allowed to be an arbitrary propositional formula f 0 . Two automata are equivalent if and only if they accept the same language. For further details we refer to [14] and [41] .