Skip to main content

Hopcroft’s Algorithm and Cyclic Automata

  • Conference paper
Language and Automata Theory and Applications (LATA 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5196))

Abstract

Minimization of deterministic finite automata is a largely studied problem of the Theory of Automata and Formal Languages. It consists in finding the unique (up to isomorphism) minimal deterministic automaton recognizing a set of words. The first approaches to this topic can be traced back to the 1950’s with the works of Huffman and Moore (cf. [12,15]). Over the years several methods to solve this problem have been proposed but the most efficient algorithm in the worst case was given by Hopcroft in [11]. Such an algorithm computes in O(n log n) the minimal automaton equivalent to a given automaton with n states. The Hopcroft’s algorithm has been widely studied, described and implemented by many authors (cf. [13,4,16,2]). In particular, in [4] the worst case of the algorithm is considered. The authors of [4] introduce an infinite family of automata associated to circular words. The circular words taken into account are the de Bruijn words, and, by using the associated automata, it is shown that the complexity of the algorithm is tight. More precisely, the Hopcroft’s algorithm has some degrees of freedom (see Section 3) in the sense that there can be several executions of the algorithm on a given deterministic automaton. The running time of such executions can be different. With regard to the family of automata proposed in [4] it is shown that there exist some “unlucky” sequences of choices that slow down the computation to achieve the bound Ω(nlogn). However, there are also executions that run in linear time for the same automata. The authors of [4] leave the open problem whether there are automata on which all the executions of Hopcroft’s algorithm do not run in linear time. In [16] the author proves that the exact worst case (i.e. in terms of the exact number of operations) of the algorithm for unary languages is reached only for the family of automata given in [4] when a queue is used in the implementation. He remarks that a stack implementation is more convenient for such automata. At the same time in [16] the author conjectures that there is a strategy for processing the stack used in the implementation such that the minimization of all unary languages will be realized in linear time by the Hopcroft’s algorithm.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Almeida, M., Moreira, N., Reis, R.: On the performance of automata minimization algorithms. Technical Report DCC-2007-03, Universidade do Porto (2007)

    Google Scholar 

  2. Baclet, M., Pagetti, C.: Around Hopcroft’s algorithm. In: H. Ibarra, O., Yen, H.-C. (eds.) CIAA 2006. LNCS, vol. 4094, pp. 114–125. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  3. Béal, M.-P., Crochemore, M.: Minimizing local automata. In: ISIT 2007 (to appear, 2007)

    Google Scholar 

  4. Berstel, J., Carton, O.: On the complexity of Hopcroft’s state minimization algorithm. In: Domaratzki, M., Okhotin, A., Salomaa, K., Yu, S. (eds.) CIAA 2004. LNCS, vol. 3317, pp. 35–44. Springer, Heidelberg (2005)

    Google Scholar 

  5. Borel, J.P., Reutenauer, C.: On Christoffel classes. RAIRO-Theoretical Informatics and Applications 450, 15–28 (2006)

    Article  MathSciNet  Google Scholar 

  6. Brzozowski, J.A.: Canonical regular expressions and minimal state graphs for definite events. Mathematical Theory of Automata

    Google Scholar 

  7. Champarnaud, J.-M., Khorsi, A., Paranthon, T.: Split and join for minimizing: Brzozowskis algorithm. In: Proceedings of PSC 2002 (Prague Stringology Conference), pp. 96–104 (2002)

    Google Scholar 

  8. Daciuk, J., Watson, R.E., Watson, B.W.: Incremental construction of acyclic finite-state automata and transducers. In: Finite State Methods in Natural Language Processing, Bilkent University, Ankara, Turkey (1998)

    Google Scholar 

  9. Eilenberg, S.: Automata, Languages, and Machines, vol. A (1974)

    Google Scholar 

  10. Gries, D.: Describing an algorithm by Hopcroft. Acta Inf. 2, 97–109 (1973)

    MATH  MathSciNet  Google Scholar 

  11. Hopcroft, J.E.: An nlogn algorithm for mimimizing the states in a finite automaton. In: Paz, A., Kohavi, Z. (eds.) Theory of machines and computations (Proc. Internat. Sympos. Technion, Haifa, 1971), pp. 189–196. Academic Press, New York (1971)

    Google Scholar 

  12. Huffman, D.A.: The synthesis of sequencial switching circuits. J. Franklin Institute 257, 161–190 (1954)

    Article  MathSciNet  Google Scholar 

  13. Knuutila, T.: Re-describing an algorithm by Hopcroft. Theoret.Comput. Sci. 250, 333–363 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  14. Matz, O., Miller, A., Potthoff, A., Thomas, W., Valkema, E.: Report on the program AMoRE. Technical Report 9507, Inst. f. Informatik u.Prakt. Math., CAU Kiel (1995)

    Google Scholar 

  15. Moore, E.F.: Gedaken experiments on sequential machines. In: Automata Studies, pp. 129–153 (1956)

    Google Scholar 

  16. Paun, A.: On the Hopcroft’s minimization algorithm. CoRR, abs/0705.1986 (2007)

    Google Scholar 

  17. Revuz, D.: Minimisation of acyclic deterministic automata in linear time. Theor. Comput. Sci. 92(1), 181–189 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  18. Sloane, N.J.A.: The On-Line Encyclopedia of Integer Sequences, http://www.research.att.com/~njas/sequences/

  19. Tabakov, D., Vardi, M.Y.: Experimental evaluation of classical automata constructions

    Google Scholar 

  20. Vajda, S.: Fibonacci and Lucas numbers, and the golden section. Technical Report 98/183, Ellis Horwood Ltd., Chichester (1989)

    Google Scholar 

  21. Watson, B.: A taxonomy of finite automata minimization algorithms. Technical Report 93/44, Eindhoven University of Technology, Faculty of Mathematics and Computing Science (1994)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Castiglione, G., Restivo, A., Sciortino, M. (2008). Hopcroft’s Algorithm and Cyclic Automata. In: Martín-Vide, C., Otto, F., Fernau, H. (eds) Language and Automata Theory and Applications. LATA 2008. Lecture Notes in Computer Science, vol 5196. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88282-4_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-88282-4_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-88281-7

  • Online ISBN: 978-3-540-88282-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics