On Equivalence Checking of Nondeterministic Finite Automata

  • Chen FuEmail author
  • Yuxin Deng
  • David N. Jansen
  • Lijun Zhang
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10606)


We provide a comparative study of some typical algorithms for language equivalence in nondeterministic finite automata and various combinations of optimization techniques. We find that their practical efficiency mostly depends on the density and the alphabet size of the automaton under consideration. Based on our experiments, we suggest to use HKC (Hopcroft and Karp’s algorithm up to congruence) [4] if the density is large and the alphabet is small; otherwise, we recommend the antichain algorithm (Wulf, Doyen, Henzinger, Raskin) [6]. Bisimulation equivalence and memoisation both pay off in general. When comparing highly structured automata over a large alphabet, one should use symbolic algorithms.



This work has been supported by the National Natural Science Foundation of China (Grants 61532019, 61472473, 61672229), the CAS/SAFEA International Partnership Program for Creative Research Teams, the Sino-German CDZ project CAP (GZ 1023) and Shanghai Municipal Natural Science Foundation (16ZR1409100).


  1. 1.
    Abdulla, P.A., Bouajjani, A., Holík, L., Kaati, L., Vojnar, T.: Computing Simulations over Tree Automata. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 93–108. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-78800-3_8 CrossRefGoogle Scholar
  2. 2.
    Abdulla, P.A., Chen, Y.-F., Holík, L., Mayr, R., Vojnar, T.: When simulation meets antichains. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 158–174. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-12002-2_14 CrossRefGoogle Scholar
  3. 3.
    Baier, C., Katoen, J.-P.: Principles of Model Checking. MIT Press, Cambridge (2008)zbMATHGoogle Scholar
  4. 4.
    Bonchi, F., Pous, D.: Checking NFA equivalence with bisimulations up to congruence. In: Principles of Programming Languages (POPL 2013), pp. 457–468. ACM, New York (2013)Google Scholar
  5. 5.
    Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput. 35(8), 677–691 (1986). CrossRefzbMATHGoogle Scholar
  6. 6.
    De Wulf, M., Doyen, L., Henzinger, T.A., Raskin, J.-F.: Antichains: a new algorithm for checking universality of finite automata. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 17–30. Springer, Heidelberg (2006). doi: 10.1007/11817963_5 CrossRefGoogle Scholar
  7. 7.
    Henzinger, M.R., Henzinger, T.A., Kopke, P.W.: Computing simulations on finite and infinite graphs. In: Symposium on Foundations of Computer Science (FOCS), Milwaukee, pp. 453–462. IEEE Computer Society (1995)Google Scholar
  8. 8.
    Holík, L., Šimáček, J.: Optimizing an LTS-simulation algorithm. Comput. Inform. 29(6+), 1337–1348 (2010). MathSciNetzbMATHGoogle Scholar
  9. 9.
    Hopcroft, J.E., Karp, R.M.: A linear algorithm for testing equivalence of finite automata. Technical report, 71–114, Cornell University, Ithaca (1971).
  10. 10.
    Hopcroft, J.: An \(n \log n\) algorithm for minimizing states in a finite automaton. In: Kohavi, Z., Paz, A. (eds.) Theory of Machines and Computations, pp. 189–196. Academic Press, New York (1971)CrossRefGoogle Scholar
  11. 11.
    Lengál, O., Šimáček, J., Vojnar, T.: VATA: a library for efficient manipulation of non-deterministic tree automata. In: Flanagan, C., König, B. (eds.) TACAS 2012. LNCS, vol. 7214, pp. 79–94. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-28756-5_7 CrossRefGoogle Scholar
  12. 12.
    Paige, R., Tarjan, R.E.: Three partition refinement algorithms. SIAM J. Comput. 16(6), 973–989 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Pous, D.: Symbolic algorithms for language equivalence and Kleene algebra with tests. In: Principles of Programming Languages (POPL 2015), pp. 357–368. ACM, New York (2015)Google Scholar
  14. 14.
    Ranzato, F., Tapparo, F.: A new efficient simulation equivalence algorithm. In: Symposium on Logic in Computer Science (LICS), pp. 171–180. IEEE Computer Society (2007)Google Scholar
  15. 15.
    Rutten, J.J.M.M.: Automata and coinduction (an exercise in coalgebra). In: Sangiorgi, D., de Simone, R. (eds.) CONCUR 1998. LNCS, vol. 1466, pp. 194–218. Springer, Heidelberg (1998). doi: 10.1007/BFb0055624 CrossRefGoogle Scholar
  16. 16.
    Stockmeyer, L.J., Meyer, A.R.: Word problems requiring exponential time. In: Proceedings of the 5th Annual ACM Symposium on Theory of Computing (STOC), pp. 1–9 (1973)Google Scholar
  17. 17.
    Tabakov, D., Vardi, M.Y.: Experimental evaluation of classical automata constructions. In: Sutcliffe, G., Voronkov, A. (eds.) LPAR 2005. LNCS, vol. 3835, pp. 396–411. Springer, Heidelberg (2005). doi: 10.1007/11591191_28 CrossRefGoogle Scholar
  18. 18.
    Valmari, A.: Bisimilarity minimization in O(m log n) time. In: Franceschinis, G., Wolf, K. (eds.) PETRI NETS 2009. LNCS, vol. 5606, pp. 123–142. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-02424-5_9 CrossRefGoogle Scholar
  19. 19.
    Veanes, M.: Applications of symbolic finite automata. In: Konstantinidis, S. (ed.) CIAA 2013. LNCS, vol. 7982, pp. 16–23. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-39274-0_3 CrossRefGoogle Scholar
  20. 20.
    Whaley, J.: JavaBDD. Accessed 13 June 2017

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Chen Fu
    • 1
    • 3
    Email author
  • Yuxin Deng
    • 2
  • David N. Jansen
    • 1
  • Lijun Zhang
    • 1
    • 3
  1. 1.State Key Laboratory of Computer ScienceInstitute of Software, Chinese Academy of SciencesBeijingChina
  2. 2.Shanghai Key Laboratory of Trustworthy ComputingEast China Normal UniversityShanghaiChina
  3. 3.University of Chinese Academy of SciencesBeijingChina

Personalised recommendations