J. Hopcroft introduced already in 1970 an O(n log n)-time algorithm for minimizing a finite deterministic automaton of n states. Although the existence of the algorithm is widely known, its theoretical justification, correctness and running time analysis are not. We give here a tutorial reconstruction of Hopcroft's algorithm focusing on a firm theoretical basis, clear correctness proofs and a well-founded computational analysis. Our analysis reveals that if the size of the input alphabet m is not fixed, then Hopcroft's original algorithm does not run in time O(mn log n) as is commonly believed in the literature. The O(mn log n) holds, however, for the variation presented later by D. Gries and for a new variant given in this article. We also propose a new efficient routine for refining the equivalence classes constructed in the algorithm and suggest a computationally sound heuristics as an enhancement. © 2001 Elsevier Science B.V. All rights reserved.
Knuutila, T. (2001). Re-describing an algorithm by Hopcroft. Theoretical Computer Science, 250(1–2), 333–363. https://doi.org/10.1016/s0304-3975(99)00150-4