Advertisement

Minimization of Finite State Automata Through Partition Aggregation

  • Johanna BjörklundEmail author
  • Loek Cleophas
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10168)

Abstract

We present a minimization algorithm for finite state automata that finds and merges bisimulation-equivalent states, identified through partition aggregation. We show the algorithm to be correct and run in time \( O \left( n^2 d^2 \left| \Sigma \right| \right) \), where n is the number of states of the input automaton \(M\), d is the maximal outdegree in the transition graph for any combination of state and input symbol, and \(\left| \Sigma \right| \) is the size of the input alphabet. The algorithm is slower than those based on partition refinement, but has the advantage that intermediate solutions are also language equivalent to \(M\). As a result, the algorithm can be interrupted or put on hold as needed, and the derived automaton is still useful. Furthermore, the algorithm essentially searches for the maximal model of a characteristic formula for \(M\), so many of the optimisation techniques used to gain efficiency in SAT solvers are likely to apply.

References

  1. 1.
    Abdulla, P.A., Holík, L., Kaati, L., Vojnar, T.: A uniform (bi-)simulation-based framework for reducing tree automata. Electron. Notes Theor. Comput. Sci. 251, 27–48 (2009)CrossRefzbMATHGoogle Scholar
  2. 2.
    Aho, A.V., Hopcroft, J.E., Ullman, J.D.: The design and analysis of computer algorithms. Addison-Wesley, Reading (1974)zbMATHGoogle Scholar
  3. 3.
    Almeida, M., Moreira, N., Reis, R.: Incremental DFA minimisation. RAIRO - Theor. Inform. Appl. 48(2), 173–186 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Björklund, J., Maletti, A., May, J.: Backward and forward bisimulation minimization of tree automata. Theor. Comput. Sci. 410(37), 3539–3552 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Björklund, J., Maletti, A., Vogler, H.: Bisimulation minimisation of weighted automata on unranked trees. Fundamenta Informatica 92(1–2), 103–130 (2009)MathSciNetzbMATHGoogle Scholar
  6. 6.
    Buchholz, P.: Bisimulation relations for weighted automata. Theor. Comput. Sci. 393(13), 109–123 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Cleophas, L., Kourie, D.G., Strauss, T., Watson, B.W.: On minimizing deterministic tree automata. In: Holub, J., Ž\(\check{\text{d}}\)árek, J. (eds.) Prague Stringology Conference, Prague, Czech Republic, pp. 173–182 (2009)Google Scholar
  8. 8.
    Daciuk, J.: Optimization of Automata. Gdańsk University of Technology Publishing House, Gdańsk (2014)zbMATHGoogle Scholar
  9. 9.
    Gramlich, G., Schnitger, G.: Minimizing NFA’s and regular expressions. J. Comput. Syst. Sci. 73(6), 908–923 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Hopcroft, J.E.: An \(n\) log \(n\) algorithm for minimizing the states in a finite automaton. In: Kohavi, Z. (ed.) The Theory of Machines and Computations, pp. 189–196. Academic Press (1971)Google Scholar
  11. 11.
    Hopcroft, J.E., Ullman, J.D.: Set merging algorithms. SIAM J. Comput. 2(4), 294–303 (1973)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Huffman, D.A.: The synthesis of sequential switching circuits. J. Franklin Inst. 257, 161–190, 275–303 (1954)Google Scholar
  13. 13.
    Maletti, A.: Minimizing weighted tree grammars using simulation. In: Yli-Jyrä, A., Kornai, A., Sakarovitch, J., Watson, B. (eds.) FSMNLP 2009. LNCS (LNAI), vol. 6062, pp. 56–68. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-14684-8_7 CrossRefGoogle Scholar
  14. 14.
    Meyer, A.R., Stockmeyer, L.J.: The equivalence problem for regular expressions with squaring requires exponential space. In: 13th Annual IEEE Symposium on Switching and Automata Theory, pp. 125–129 (1972)Google Scholar
  15. 15.
    Moore, E.F.: Gedanken-experiments on sequential machines. Automata Stud. 34, 129–153 (1956). Princeton University Press, Princeton, New JerseyMathSciNetGoogle Scholar
  16. 16.
    Nerode, A.: Linear automaton transformations. Proc. Am. Math. Soc. 9(4), 541–544 (1958)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Paige, R., Tarjan, R.: Three partition refinement algorithms. SIAM J. Comput. 16(6), 973–989 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Tarjan, R.E.: Efficiency of a good but not linear set union algorithm. J. ACM 22(2), 215–225 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    ten Eikelder, H.: Some algorithms to decide the equivalence of recursive types. Technical report 93/32, Department of Mathematics and Computer Science, Technische Universiteit Eindhoven (1991)Google Scholar
  20. 20.
    Watson, B.W.: Taxonomies and toolkits of regular language algorithms. Ph.D. thesis, Department of Mathematics and Computer Science, TU Eindhoven (1995)Google Scholar
  21. 21.
    Watson, B.W., Daciuk, J.: An efficient incremental DFA minimization algorithm. Nat. Lang. Eng. 9(1), 49–64 (2003)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Department of Computing ScienceUmeå UniversityUmeåSweden
  2. 2.Department of Information ScienceStellenbosch UniversityStellenboschSouth Africa

Personalised recommendations