Where academic tradition
meets the exciting future

Re-Describing an Algorithm by Hopcroft

Timo Knuutila, Re-Describing an Algorithm by Hopcroft. Journal of Theoretical Computer Science 250(1-2), 333--363, 2001.

Abstract:

J. Hopcroft introduced already in 1970 an O(nlogn)-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(mnlogn) as is commonly believed in the literature. The O(mnlogn) 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.

BibTeX entry:

@ARTICLE{jKnuutila01a,
  title = {Re-Describing an Algorithm by Hopcroft},
  author = {Knuutila, Timo},
  journal = {Journal of Theoretical Computer Science},
  volume = {250},
  number = {1-2},
  pages = {333--363},
  year = {2001},
  keywords = {Finite automata; Algorithms; Minimization},
}

Belongs to TUCS Research Unit(s): Algorithmics and Computational Intelligence Group (ACI)

Edit publication