Parallel Algorithms for Finite Automata Problems

  • B. Ravikumar
Part of the Combinatorial Optimization book series (COOP, volume 5)


Finite automata are among the most extensively studied and understood models of computation. They have wide ranging applications — for example, in image compression, protocol validation, game theory and computational biology — just to mention only some recent ones. Here we will survey efficient parallel algorithms for many fundamental computational problems on finite automata. It is well known that problems involving deterministic finite automata (DFA) have polynomial time algorithms, but the problems become hard when the input automata are nondeterministic (NFA or regular expressions). A similar difference is observed in the case of parallel algorithms: most problems involving DFA as input have NC algorithms, while NC algorithms are unlikely with NFA (or regular expression) as input. In addition to DFA and NFA, we will also consider other inputs such as unambiguous finite automata, regular expressions and prefix grammars.

The problems surveyed here include the following: (1) The classical decion problems — membership, disjointness, inclusion and equivalence problems. (2) Counting (the number of strings of a given length), ranking a string, lexicographic successor of a given string, lexicographically first string of a given length, etc. all with respect to a DFA (3) Coarsest partition problems for functions and relations. (4) Finding sequences for automata identification or testing (such as homing sequence, synchronizing sequence etc.) (5) Conversions between different representations (such as regular expression to NFA or -free NFA) and (6) Problems arising from applications such as data compression, string editing etc.

NC algorithms for these problems (when they exist) use transitive closure computation and hence are not practical. In some cases, efficient algorithms (on average) exist that avoid transitive closure computations. We also discuss issues involved in practical implementations of these algorithms and present results on the performance of some algorithms in practical experiments. We conclude with a list of open problems.


Parallel Algorithm Regular Expression Total Work Finite Automaton Input Symbol 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    A. Aho, J. Hopcroft and J. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, Mass., 1974.zbMATHGoogle Scholar
  2. [2]
    C. Alvarez et al. “Parallel complexity in the design and analysis of concurrent systems”, in PARLE 91, Lecture Notes in Computer Science 505, Springer-Verlag, Berlin (1991).Google Scholar
  3. [3]
    N. Blum, “An O(n log n) implementation of the standard method for minimizing n-state finite automata”, Information Processing Letters 57, pp. 65–69, (1996).MathSciNetzbMATHCrossRefGoogle Scholar
  4. [4]
    S. Cho and D.T.Huynh, “The Parallel Complexity of Coarsest Set Partition Problems”, Information Processing Letters 42 pp. 89–94, 1992.MathSciNetzbMATHCrossRefGoogle Scholar
  5. [5]
    S. Cho and D.T. Huynh, “Parallel Algorithms for Finite Automata Problems”, Information and Computation, Vol 97, pp. 1–22, 1992.MathSciNetzbMATHCrossRefGoogle Scholar
  6. [6]
    T. H. Cormen, C. Leiserson and R. L. Rivest, “Introduction to Algorithms”, MIT Press, Cambridge, MA, 1989.Google Scholar
  7. [7]
    M. Crochemore and W. Rytter, Text Algorithms, Oxford University Press, 1997.Google Scholar
  8. [8]
    K. Culik and J. Kari, “Digital images and formal languages”, Handbook of Formal Languages, Vol. 5, Eds: G. Rozenberg and A. Salomaa, Springer Berlin, 1997.Google Scholar
  9. [9]
    D. Eppstein, “Reset sequences for monotonic automata”, SIAM Journal on Computing, Vol. 19, pp. 500–510 (1990).MathSciNetzbMATHCrossRefGoogle Scholar
  10. [10]
    I. Foster, “Designing and Building Parallel Programs”, Addison-Wesley Publishing Co., Reading, MA, 1995.zbMATHGoogle Scholar
  11. [11]
    M. Frazier and C. Page, “Prefix grammars: An alternative characterization of regular languages”, Information Processing Letters, Vol. 51, pp. 67–71.Google Scholar
  12. [12]
    Y. Freund et al., “Efficient Learning of Typical Finite Automata from Random Walks”, 25th ACM Symposium on Theory of Computing, pp.315– 324, 1993.Google Scholar
  13. [13]
    Galley, C. and C. Iliopoulos, “A simple O(n log n)) cost parallel algorithm for single function coarsest partition problem”, Unpublished work.Google Scholar
  14. [14]
    A. Gibbons and W. Rytter, Efficient Parallel Algorithms, Cambridge University Press, Cambridge, 1988.zbMATHGoogle Scholar
  15. [15]
    D. Gries, “Describing an Algorithm by Hopcroft”, Acta Informatica 2, pp. 97–103, 1973.MathSciNetzbMATHCrossRefGoogle Scholar
  16. [16]
    V.M. Glushkov, “The Abstract Theory of Automata”, Russian Mathematical Surveys, 16, pp. 1–53, 1961.CrossRefGoogle Scholar
  17. [17]
    P.J. Hatcher and M.J. Quinn, “Data-parallel Programming on MIMD Computers”, MIT Press, Cambridge, MA, 1991.zbMATHGoogle Scholar
  18. [18]
    J. Hopcroft, “An n log n Algorithm for Minimizing States in a Finite Automaton”, Theory of Machines and Computations, Academic Press, New York, pp. 189–196, 1971.Google Scholar
  19. [19]
    J. Hopcroft and J. Ullman, “Introduction to Automata Theory, Languages and Computation”, Addison–Wesley Co., Reading, MA, 1978.Google Scholar
  20. [20]
    D.A. Huffman, “The Synthesis of Sequential Switching Circuits”, Journal of Franklin Institute, 257 (3), pp. 161–190, 1954.MathSciNetCrossRefGoogle Scholar
  21. [21]
    J. JáJá, “An Introduction to Parallel Algorithms”, Addison-Wesley Publishing Co., Reading, MA, 1992.zbMATHGoogle Scholar
  22. [22]
    J. JáJá and K.W. Ryu, “An Efficient Parallel Algorithm for the Single Function Coarsest Partition Problem”, ACM Symposium on Parallel Algorithms and Architectures, 1993.Google Scholar
  23. [23]
    J. JáJá and S.R. Kosaraju, “Parallel Algorithms for Planar Graph Isomorphism and Related Problems”, IEEE Transactions on Circuits and Systems, Vol. 35, No. 3, March 1988.Google Scholar
  24. [24]
    T. Jiang and B. Ravikumar, “Minimal NFA Problems are hard”, SIAM Journal on Computing, Vol. 22, No. 6, pp. 1117–1141, 1993.MathSciNetzbMATHCrossRefGoogle Scholar
  25. [25]
    P. Kanellakis and S. Smolka, “CCS expressions, finite state processes and three problems of equivalence”, Information and Computation Vol. 86, pp. 43–68 (1990).MathSciNetzbMATHCrossRefGoogle Scholar
  26. [26]
    Karp, R. and V. Ramachandran, “Parallel algorithms for shared memory machines”. In: Handbook of Theoretical Computer Science, (vol A), pp. 869– 941, editor: Jan Van Leeuwen, Elsevier 1990.Google Scholar
  27. [27]
    A. Brüggenmann-Klein, “Regular expressions into automata”, LATIN 92, Lecture Notes in Computer Science, pp. 87–98, 1992.Google Scholar
  28. [28]
    Z. Kohavi, Switching and Automata Theory, McGraw Hill Publishers Inc. 1978.Google Scholar
  29. [29]
    T. Kowaltowski, C. Lucchesi and J. Stolfi, “Minimization of binary automata”, Technical Report, Universidad Estadual de Campinas, SP. 1993.Google Scholar
  30. [30]
    Ladner, R. and M. Fischer, “Parallel prefix computation”, Journal of ACM, 27 (4), pp. 831–838, 1980.MathSciNetzbMATHCrossRefGoogle Scholar
  31. [31]
    S. Rajasekaran and I. Lee, “Parallel Algorithms for Relational Coarsest Partition Problems”, IEEE Transactions on Parallel and Distributed Systems, 9 (7), pp. 687–699, 1998.CrossRefGoogle Scholar
  32. [32]
    M. Yannakakis and D. Lee, “Testing finite state machines”, in Proc. of 23rd Annual ACM Symposium on Theory of Computing, pp. 476–485, 1991.Google Scholar
  33. [33]
    F. Leighton, “Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes”, Morgan Kaufmann Publishers, San Mateo, CA, 1992.zbMATHGoogle Scholar
  34. [34]
    R. McNaughton, H. Yamada, “Regular Expressions and State Graphs for Automata”, IRA Trans, on Electronic Computers, Vol EC-9, No.l, pp.39– 47, March 1960.Google Scholar
  35. [35]
    R. Milner, “Communications and Concurrency”,, Prentice-Hall Publishers, 1989.Google Scholar
  36. [36]
    E.F. Moore, “Gedanken-experiments on Sequential Circuits” Automata Studies, (Ed: C. Shannon and J. McCarthy), Princeton University Press, Princeton, NJ, pp. 129–153, 1956.Google Scholar
  37. [37]
    R. Paige and R. Tarjan, “Three partition refinment algorithms”, SIAM Journal on Computing 16, pp. 973–989 1987.MathSciNetzbMATHCrossRefGoogle Scholar
  38. [38]
    P. Pacheco, Parallel Programming with MPI, Morgan-Kaufmann Publishers, Inc., San Francisco, CA 1997.Google Scholar
  39. [39]
    J. Reif, “Synthesis of Parallel Algorithms” Editor: J. Reif, Morgan Kaufmann Publishers, San Mateo, CA, 1993.Google Scholar
  40. [40]
    B. Ravikumar, “A deterministic parallel algorithm for the homing sequence problem”, Eighth Annual Symposium on Parallel and Distributed Processing, New Orleans, LA, October 1996.Google Scholar
  41. [41]
    B. Ravikumar and X. Xiong, “A parallel algorithm for minimization of finite automata” in Proceedings of 10th International Parallel Processing Symposium, Honolulu, Hawaii, pp. 187–191, April 1996.Google Scholar
  42. [42]
    B. Ravikumar and X. Xiong, “Randomized parallel algorithms for the homing sequence problem”, 25th Annual International Conference on Parallel Processing, 1996.Google Scholar
  43. [43]
    B. Ravikumar and X. Xiong, “Implementing sequential and parallel programs for the homing sequence problem”, First Workshop on Implementation of Automata, London, Ontario, Canada, August 1996, Lecture Notes in Computer Science 1260, Springer-Verlag, pp. 120–131 1996.Google Scholar
  44. [44]
    B. Ravikumar, “A deterministic parallel algorithm for the homing sequence problem”, Proc. of 8th Symposium on Parallel and Distributed Processing, New Orleans, LA 1993.Google Scholar
  45. [45]
    Rytter. W., “On the parallel transformations of regular expressions to nondeterministic finite automata”, Information Processing Letters 31 pp. 103–109 1989.MathSciNetCrossRefGoogle Scholar
  46. [46]
    R. Sarnath, “A randomized parallel algorithm for DFA minimization”, (unpublished report).Google Scholar
  47. [47]
    M. Sipser, Introduction to the Theory of Computation, PWS Publishing Company, Boston, MA 1997.zbMATHGoogle Scholar
  48. [48]
    Y.N. Srikant, “A Parallel Algorithm for the Minimization of Finite State Automata”, Intern. J. Computer Math. Vol. 32, pp. 1–11, 1990.zbMATHCrossRefGoogle Scholar
  49. [49]
    A. Takaoka, “An efficient parallel algorithm for the all pairs shortest path problem”, Unpublished Report.Google Scholar
  50. [50]
    B. A. TVakhtenbrot and Ya.M. Barzdin’, “Finite Automata: Behavior and Synthesis”, North-Holland Publishing Company, 1973.Google Scholar
  51. [51]
    A. Tridgell and R.P. Brent, “An Implementation of a General-Purpose Parallel Sorting Algorithm”, Report TR-CS-93-01, Computer Science Laboratory, Australian National University, February, 1993.Google Scholar
  52. [52]
    Tzeng, W., “On path equivalence of nondeterministic finite automata” Information Processing Letters 58 pp. 43–46 (1996).MathSciNetzbMATHCrossRefGoogle Scholar
  53. [53]
    J. Ullman and M. Yannakakis, “High probability parallel transitive closure algorithms”, SIAM Journal on Computing, 20, pp. 100–125, 1991.MathSciNetzbMATHGoogle Scholar
  54. [54]
    B.W. Watson, “A taxonomy of finite automaton minimization algorithms”, Technical Report of Faculty of Mathematics and Computer Science, Eindhoven University of Technology, The Netherlands, 1994.Google Scholar
  55. [55]
    X. Xiong, “Design and implementation of parallel algorithms for finite automata problems”, Ph.D. thesis, University of Rhode Island, 1996.Google Scholar

Copyright information

© Kluwer Academic Publishers 1999

Authors and Affiliations

  • B. Ravikumar
    • 1
  1. 1.Department of Computer ScienceUniversity of Rhode IslandKingstonUSA

Personalised recommendations