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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Almeida, M., Moreira, N., Reis, R.: On the performance of automata minimization algorithms. Technical Report DCC-2007-03, Universidade do Porto (2007)
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)
Béal, M.-P., Crochemore, M.: Minimizing local automata. In: ISIT 2007 (to appear, 2007)
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)
Borel, J.P., Reutenauer, C.: On Christoffel classes. RAIRO-Theoretical Informatics and Applications 450, 15–28 (2006)
Brzozowski, J.A.: Canonical regular expressions and minimal state graphs for definite events. Mathematical Theory of Automata
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)
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)
Eilenberg, S.: Automata, Languages, and Machines, vol. A (1974)
Gries, D.: Describing an algorithm by Hopcroft. Acta Inf. 2, 97–109 (1973)
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)
Huffman, D.A.: The synthesis of sequencial switching circuits. J. Franklin Institute 257, 161–190 (1954)
Knuutila, T.: Re-describing an algorithm by Hopcroft. Theoret.Comput. Sci. 250, 333–363 (2001)
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)
Moore, E.F.: Gedaken experiments on sequential machines. In: Automata Studies, pp. 129–153 (1956)
Paun, A.: On the Hopcroft’s minimization algorithm. CoRR, abs/0705.1986 (2007)
Revuz, D.: Minimisation of acyclic deterministic automata in linear time. Theor. Comput. Sci. 92(1), 181–189 (1992)
Sloane, N.J.A.: The On-Line Encyclopedia of Integer Sequences, http://www.research.att.com/~njas/sequences/
Tabakov, D., Vardi, M.Y.: Experimental evaluation of classical automata constructions
Vajda, S.: Fibonacci and Lucas numbers, and the golden section. Technical Report 98/183, Ellis Horwood Ltd., Chichester (1989)
Watson, B.: A taxonomy of finite automata minimization algorithms. Technical Report 93/44, Eindhoven University of Technology, Faculty of Mathematics and Computing Science (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)