Advances in Randomized Parallel Computing pp 209-239 | Cite as

# Parallel Algorithms for Finite Automata Problems

## 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## Preview

Unable to display preview. Download preview PDF.

## References

- [1]A. Aho, J. Hopcroft and J. Ullman,
*The Design and Analysis of Computer Algorithms*, Addison-Wesley, Reading, Mass., 1974.zbMATHGoogle Scholar - [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]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]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]S. Cho and D.T. Huynh, “Parallel Algorithms for Finite Automata Problems”,
*Information and Computation*, Vol 97, pp. 1–22, 1992.MathSciNetzbMATHCrossRefGoogle Scholar - [6]T. H. Cormen, C. Leiserson and R. L. Rivest, “
*Introduction to Algorithms*”, MIT Press, Cambridge, MA, 1989.Google Scholar - [7]M. Crochemore and W. Rytter,
*Text Algorithms*, Oxford University Press, 1997.Google Scholar - [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]D. Eppstein, “Reset sequences for monotonic automata”,
*SIAM Journal on Computing*, Vol. 19, pp. 500–510 (1990).MathSciNetzbMATHCrossRefGoogle Scholar - [10]I. Foster, “
*Designing and Building Parallel Programs*”, Addison-Wesley Publishing Co., Reading, MA, 1995.zbMATHGoogle Scholar - [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]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]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]A. Gibbons and W. Rytter,
*Efficient Parallel Algorithms*, Cambridge University Press, Cambridge, 1988.zbMATHGoogle Scholar - [15]D. Gries, “Describing an Algorithm by Hopcroft”,
*Acta Informatica*2, pp. 97–103, 1973.MathSciNetzbMATHCrossRefGoogle Scholar - [16]V.M. Glushkov, “The Abstract Theory of Automata”, Russian Mathematical Surveys, 16, pp. 1–53, 1961.CrossRefGoogle Scholar
- [17]P.J. Hatcher and M.J. Quinn, “
*Data-parallel Programming on MIMD Computers*”, MIT Press, Cambridge, MA, 1991.zbMATHGoogle Scholar - [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]J. Hopcroft and J. Ullman, “
*Introduction to Automata Theory, Languages and Computation*”, Addison–Wesley Co., Reading, MA, 1978.Google Scholar - [20]D.A. Huffman, “The Synthesis of Sequential Switching Circuits”,
*Journal of Franklin Institute*, 257 (3), pp. 161–190, 1954.MathSciNetCrossRefGoogle Scholar - [21]J. JáJá, “
*An Introduction to Parallel Algorithms*”, Addison-Wesley Publishing Co., Reading, MA, 1992.zbMATHGoogle Scholar - [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]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]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]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]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]A. Brüggenmann-Klein, “Regular expressions into automata”, LATIN 92, Lecture Notes in Computer Science, pp. 87–98, 1992.Google Scholar
- [28]Z. Kohavi,
*Switching and Automata Theory*, McGraw Hill Publishers Inc. 1978.Google Scholar - [29]T. Kowaltowski, C. Lucchesi and J. Stolfi, “Minimization of binary automata”, Technical Report,
*Universidad Estadual de Campinas*, SP. 1993.Google Scholar - [30]Ladner, R. and M. Fischer, “Parallel prefix computation”,
*Journal of ACM*, 27 (4), pp. 831–838, 1980.MathSciNetzbMATHCrossRefGoogle Scholar - [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]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]F. Leighton, “
*Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes*”, Morgan Kaufmann Publishers, San Mateo, CA, 1992.zbMATHGoogle Scholar - [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]R. Milner, “
*Communications and Concurrency*”,, Prentice-Hall Publishers, 1989.Google Scholar - [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]R. Paige and R. Tarjan, “Three partition refinment algorithms”, SIAM Journal on Computing 16, pp. 973–989 1987.MathSciNetzbMATHCrossRefGoogle Scholar
- [38]P. Pacheco,
*Parallel Programming with*MPI, Morgan-Kaufmann Publishers, Inc., San Francisco, CA 1997.Google Scholar - [39]J. Reif, “
*Synthesis of Parallel Algorithms*” Editor: J. Reif, Morgan Kaufmann Publishers, San Mateo, CA, 1993.Google Scholar - [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]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]B. Ravikumar and X. Xiong, “Randomized parallel algorithms for the homing sequence problem”,
*25th Annual International Conference on Parallel Processing*, 1996.Google Scholar - [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]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]Rytter. W., “On the parallel transformations of regular expressions to nondeterministic finite automata”,
*Information Processing Letters*31 pp. 103–109 1989.MathSciNetCrossRefGoogle Scholar - [46]R. Sarnath, “A randomized parallel algorithm for DFA minimization”, (unpublished report).Google Scholar
- [47]M. Sipser,
*Introduction to the Theory of Computation*, PWS Publishing Company, Boston, MA 1997.zbMATHGoogle Scholar - [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]A. Takaoka, “An efficient parallel algorithm for the all pairs shortest path problem”,
*Unpublished Report*.Google Scholar - [50]B. A. TVakhtenbrot and Ya.M. Barzdin’, “
*Finite Automata: Behavior and Synthesis*”, North-Holland Publishing Company, 1973.Google Scholar - [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]Tzeng, W., “On path equivalence of nondeterministic finite automata”
*Information Processing Letters*58 pp. 43–46 (1996).MathSciNetzbMATHCrossRefGoogle Scholar - [53]J. Ullman and M. Yannakakis, “High probability parallel transitive closure algorithms”, SIAM
*Journal on Computing*, 20, pp. 100–125, 1991.MathSciNetzbMATHGoogle Scholar - [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]X. Xiong, “Design and implementation of parallel algorithms for finite automata problems”, Ph.D. thesis, University of Rhode Island, 1996.Google Scholar