Theoretical study and implementation of the canonical automaton
We can represent the canonical automaton of a language as the smallest automaton which contains any other automaton recognizing this language, providing equivalent states are merged. Indeed, the canonical automaton appears to be a good representative element in the equivalence class of non-deterministic automata recognizing a given language. Our aim is to provide a detailed description of the canonical automaton based on the notions of syntactical rectangle and characteristic event. In our approach, a state of the canonical automaton of a language C is associated with a rectangle (L, R) subset of or equal to Sigma* x Sigma*, which is maximal w.r.t. the property L.R subset of or equal to L. We explicit the link with other characterizations, like considering a state as a residual intersection which was given by Arnold et al., and the fundamental automaton defined by Matz and Potthoff. In particular, we pretend that the construction of the canonical automaton has the same time complexity as the construction of the fundamental automaton. Our last section briefly discusses the problem of searching minimal NFAs using the canonical automaton.
characteristic event canonical/fundamental automaton nondeterministic automata nfa minimization grid cover