Minimization of Non-deterministic Automata with Large Alphabets

  • Parosh Aziz Abdulla
  • Johann Deneux
  • Lisa Kaati
  • Marcus Nilsson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3845)


There has been several attempts over the years to solve the bisimulation minimization problem for finite automata. One of the most famous algorithms is the one suggested by Paige and Tarjan. The algorithm has a complexity of \(\mathcal O\)(m log n) where m is the number of edges and n is the number of states in the automaton. A bottleneck in the application of the algorithm is often the number of labels which may appear on the edges of the automaton. In this paper we adapt the Paige-Tarjan algorithm to the case where the labels are symbolically represented using Binary Decision Diagrams (BDDs). We show that our algorithm has an overall complexity of \({\mathcal O}(l \cdot m \cdot log{n})\) where ℓ is the size of the alphabet. This means that our algorithm will have the same worst case behavior as other algorithms. However, as shown by our prototype implementation, we get a vast improvement in performance due to the compact representation provided by the BDDs.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bouali, A.: Xeve, an esterel verification environment. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 500–504. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  2. 2.
    Cleaveland, R., Sims, S.: The NCSU concurrency workbench. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 394–397. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  3. 3.
    Fernandez, J.C., Garavel, H., Kerbrat, A., Mateescu, R., Mounier, L., Sighireanu, M.: CADP: A Protocol Validation and Verification Toolbox. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, Springer, Heidelberg (1996)Google Scholar
  4. 4.
    Abdulla, P., Jonsson, B., Nilsson, M., Saksena, M.: A survey of regular model checking. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 348–360. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  5. 5.
    Abdulla, P.A., Jonsson, B., Nilsson, M., d’Orso, J.: Algorithmic improvements in regular model checking. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 236–248. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  6. 6.
    Hopcroft, J.E.: An n logn algorithm for minimizing the states in a finite automaton. In: Kohavi, Z. (ed.) The Theory of Machines and Computations, pp. 189–196. Academic Press, London (1971)CrossRefGoogle Scholar
  7. 7.
    Paige, R., Tarjan, R., Bonic, R.: A linear time solution to the single function coarsest partition problem. Theoretical Computer Science 40, 67–84 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Paige, R., Tarjan, R.: Three partition refinement algorithms. SIAM Journal on Computing 16, 973–989 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Holzmann, G.: Design and Validation of Computer Protocols. Prentice-Hall, Englewood Cliffs (1991)Google Scholar
  10. 10.
    Dovier, A., Piazza, C., Policriti, A.: An efficient algorithm for computing bisimulation equivalence. Theoretical Computer Science 311, 221–256 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Bryant, R.: Graph-based algorithms for boolean function manipulation. IEEE Trans. on Computers C-35, 677–691 (1986)CrossRefzbMATHGoogle Scholar
  12. 12.
    Bahar, R.I., Frohm, E.A., Gaona, C.M., Hachtel, G.D., Macii, E., Pardo, A., Somenzi, F.: Algebraic decision diagrams and their applications. In: ICCAD 1993: Proc. of the 1993 IEEE/ACM international conference on Computer-aided design, pp. 188–191. IEEE Computer Society Press, Los Alamitos (1993)Google Scholar
  13. 13.
    Fernandez, J.C.: An implementation of an efficient algorithm for bisimulation equivalence. Sci. Comput. Program. 13 (1989)Google Scholar
  14. 14.
    Bouali, A., de Simone, R.: Symbolic bisimulation minimisation. In: Probst, D.K., von Bochmann, G. (eds.) CAV 1992. LNCS, vol. 663, pp. 96–108. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  15. 15.
    Klarlund, N.: An n logn algorithm for online bdd refinement. J. Algorithms 32, 133–154 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Fisler, K., Vardi, M.Y.: Bisimulation and model checking. In: Conference on Correct Hardware Design and Verification Methods, pp. 338–341 (1999)Google Scholar
  17. 17.
    Bouajjani, A., Fernandez, J., Halbwachs, N.: Minimal model generation (manuscript, 1990)Google Scholar
  18. 18.
    Lee, D., Yannakakis, M.: Online minimization of transition systems. In: Proc. 24 ACM Symp. on Theory of Computing (1992)Google Scholar
  19. 19.
    Andersen, H.R.: An introduction to binary decision diagrams. Technical Report DK-2800, Department of Information Technology, Technical University of Denmark (1998)Google Scholar
  20. 20.
    Somenzi, F.: Binary decision diagrams (1999)Google Scholar
  21. 21.
    Cleaveland, R., Parrow, J., Steffen, B.: The Concurrency Workbench: A semantics based tool for the verification of concurrent systems. ACM Transactions on Programming Languages and Systems 15 (1993)Google Scholar
  22. 22.
    Kanellakis, P., Smolka, S.: CCS expressions, finite state processes, and three problems of equivalence. Information and Computation 86, 43–68 (1990)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Parosh Aziz Abdulla
    • 1
  • Johann Deneux
    • 1
  • Lisa Kaati
    • 1
  • Marcus Nilsson
    • 1
  1. 1.Dept. of Information TechnologyUppsalaSweden

Personalised recommendations