A fast and simple algorithm for constructing minimal acyclic deterministic finite automata
In this paper, we present a fast and simple algorithm for constructing a minimal acyclic deterministic finite automaton from a finite set of words. Such automata are useful in a wide variety of applications, including computer virus detection, computational linguistics and computational genetics. There are several known algorithms that solve the same problem, though most of the alternative algorithms are considerably more difficult to present, understand and implement than the one given here. Preliminary benchmarking indicates that the algorithm presented here is competitive with the other known algorithms.
minimal acyclic deterministic finite automata automata construction algorithms