Five Determinisation Algorithms

  • Rob van Glabbeek
  • Bas Ploeger
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5148)

Abstract

Determinisation of nondeterministic finite automata is a well-studied problem that plays an important role in compiler theory and system verification. In the latter field, one often encounters automata consisting of millions or even billions of states. On such input, the memory usage of analysis tools becomes the major bottleneck. In this paper we present several determinisation algorithms, all variants of the well-known subset construction, that aim to reduce memory usage and produce smaller output automata. One of them produces automata that are already minimal. We apply our algorithms to determinise automata that describe the possible sequences appearing after a fixed-length run of cellular automaton 110, and obtain a significant improvement in both memory and time efficiency.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bloom, B., Paige, R.: Transformational design and implementation of a new efficient solution to the ready simulation problem. Science of Computer Programming 24(3), 189–220 (1995)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Brzozowski, J.A.: Canonical regular expressions and minimal state graphs for definite events. In: Proceedings of the Symposium on Mathematical Theory of Automata. MRI Symposia Series, vol. 12, pp. 529–561. Polytechnic Press, Polytechnic Institute of Brooklyn (1963)Google Scholar
  3. 3.
    CWI: μCRL Toolset Home Page, http://www.cwi.nl/~mcrl/
  4. 4.
    Dill, D.L., Hu, A.J., Wong-Toi, H.: Checking for language inclusion using simulation preorders. In: Larsen, K.G., Skou, A. (eds.) CAV 1991. LNCS, vol. 575, pp. 255–265. Springer, Heidelberg (1992)Google Scholar
  5. 5.
    Gentilini, R., Piazza, C., Policriti, A.: From bisimulation to simulation: Coarsest partition problems. Journal of Automated Reasoning 31(1), 73–103 (2003)MATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    van Glabbeek, R.J., Ploeger, B.: Correcting a space-efficient simulation algorithm. In: Proc. 20th Int. Conf. on Computer Aided Verification. LNCS. Springer, Heidelberg (to appear, 2008)Google Scholar
  7. 7.
    van Glabbeek, R.J., Ploeger, B.: Five Determinisation Algorithms. CS-Report 08-14, Eindhoven University of Technology (2008)Google Scholar
  8. 8.
    Groote, J.F., Reniers, M.A.: Algebraic process verification. In: Bergstra, J.A., Ponse, A., Smolka, S.A. (eds.) Handbook of Process Algebra, pp. 1151–1208. Elsevier, Amsterdam (2001)CrossRefGoogle Scholar
  9. 9.
    Henzinger, M.R., Henzinger, T.A., Kopke, P.W.: Computing simulations on finite and infinite graphs. In: 36th Annual Symposium on Foundations of Computer Science (FOCS 1995), pp. 453–462. IEEE Computer Society Press, Los Alamitos (1995)Google Scholar
  10. 10.
    Hopcroft, J.E.: An n logn algorithm for minimizing states in a finite automaton. In: Kohavi, Z. (ed.) Theory of Machines and Computations, pp. 189–196. Academic Press, London (1971)Google Scholar
  11. 11.
    Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading (1979)MATHGoogle Scholar
  12. 12.
    Park, D.M.R.: Concurrency and automata on infinite sequences. In: Deussen, P. (ed.) Proceedings 5th GI-Conference on Theoretical Computer Science. LNCS, vol. 104, pp. 167–183. Springer, Heidelberg (1981)Google Scholar
  13. 13.
    Stockmeyer, L.J., Meyer, A.R.: Word problems requiring exponential time. In: Proc. 5th Annual ACM Symposium on Theory of Computing (STOC 1973), pp. 1–9. ACM, New York (1973)CrossRefGoogle Scholar
  14. 14.
    Sutner, K.: The size of power automata. Theor. Comput. Sci. 295(1-3), 371–386 (2003)MATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Tabakov, D., Vardi, M.Y.: Experimental evaluation of classical automata constructions. In: Sutcliffe, G., Voronkov, A. (eds.) LPAR 2005. LNCS (LNAI), vol. 3835, pp. 396–411. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Watson, B.W.: Taxonomies and Toolkits of Regular Language Algorithms. PhD thesis, Technische Universiteit Eindhoven (1995)Google Scholar
  17. 17.
    Wolfram, S.: Computation theory of cellular automata. Communications in Mathematical Physics 96(1), 15–57 (1984)MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Wolfram, S.: A New Kind of Science. Wolfram Media, Inc. (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Rob van Glabbeek
    • 1
    • 2
  • Bas Ploeger
    • 3
  1. 1.National ICT AustraliaSydneyAustralia
  2. 2.School of Computer Science and EngineeringThe University of New South WalesSydneyAustralia
  3. 3.Department of Mathematics and Computer ScienceEindhoven University of TechnologyEindhovenThe Netherlands

Personalised recommendations