# Parallel Algorithms for Finite Automata Problems

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

## Abstract

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.

## Keywords

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.

## References

1. [1]
A. Aho, J. Hopcroft and J. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, Mass., 1974.
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).
4. [4]
S. Cho and D.T.Huynh, “The Parallel Complexity of Coarsest Set Partition Problems”, Information Processing Letters 42 pp. 89–94, 1992.
5. [5]
S. Cho and D.T. Huynh, “Parallel Algorithms for Finite Automata Problems”, Information and Computation, Vol 97, pp. 1–22, 1992.
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).
10. [10]
I. Foster, “Designing and Building Parallel Programs”, Addison-Wesley Publishing Co., Reading, MA, 1995.
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.
15. [15]
D. Gries, “Describing an Algorithm by Hopcroft”, Acta Informatica 2, pp. 97–103, 1973.
16. [16]
V.M. Glushkov, “The Abstract Theory of Automata”, Russian Mathematical Surveys, 16, pp. 1–53, 1961.
17. [17]
P.J. Hatcher and M.J. Quinn, “Data-parallel Programming on MIMD Computers”, MIT Press, Cambridge, MA, 1991.
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.
21. [21]
J. JáJá, “An Introduction to Parallel Algorithms”, Addison-Wesley Publishing Co., Reading, MA, 1992.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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).
53. [53]
J. Ullman and M. Yannakakis, “High probability parallel transitive closure algorithms”, SIAM Journal on Computing, 20, pp. 100–125, 1991.
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