Matching patterns of an automaton

  • Mehryar Mohri
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 937)


We present an algorithm permitting to search in a text for the patterns of a regular set. Unlike many classical algorithms, we shall assume that the input of the algorithm is a deterministic automaton and not a regular expression. Our algorithm is based on the notion of failure function and mainly consists in efficiently constructing a new deterministic automaton. This construction is shown to be more efficient both in time and space than naive algorithms such as the powerset algorithm used for determinization. In particular, its space complexity is linear in the size of the obtained automaton.


Regular Expression Default State Annual IEEE Symposium Failure Function Back Edge 
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. V. Aho. Algorithms for finding patterns in strings. In J. Van Leuwen, editor, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity, pages 255–300. Elsevier, Amsterdam, 1990.Google Scholar
  2. 2.
    A. V. Aho and M. J. Corasick. Efficient string matching: An aid to bibliographic search. Communication of the Association for Computing Machinery, 18 (6), 333–340, 1975.Google Scholar
  3. 3.
    A. V. Aho, J. Hopcroft, and J. D. Ullman. The design and analysis of computer algorithms. Addison Wesley, 1974.Google Scholar
  4. 4.
    A. V. Aho and D. Lee. Storing a dynamic sparse table. In Proceedings of the 27th Annual IEEE Symposium on Foundations of Computer Science, 55–60, 1986.Google Scholar
  5. 5.
    A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, Principles, Techniques and Tools. Addison Wesley, 1986.Google Scholar
  6. 6.
    R.S. Boyer and J.S. Moore. A fast string-searching algorithm. Communication of ACM, 20: 762–772, 1977.CrossRefGoogle Scholar
  7. 7.
    B. Commentz-Walter. A string matching algorithm fast on the average. Automata, Languages and Programming, Lecture Notes in Computer Science, Springer-Verlag, Berlin: 118–132, 1979.Google Scholar
  8. 8.
    T. Cormen, G. Leiserson, and R. Rivest. Algorithms. Mc Graw Hill, 1992.Google Scholar
  9. 9.
    M. Crochemore, A. Czumaj, L. Gasieniec, S. Jarominek, T. Lecroq, W. Plandowski, and W. Rytter. Fast multi-pattern matching. Technical Report IGM 93-3, Institut Gaspard Monge, 1993.Google Scholar
  10. 10.
    M. Crochemore and Wojciech Rytter. Text Algorithms. Oxford University Press, 1994.Google Scholar
  11. 11.
    M. Dietzfelbinger, A. Karlin, K. Mehlhorn, F. Meyer Auf Der Heide, H. Rohnert and R. E. Tarjan. Dynamic perfect hashing: upper and lower bounds. In Proceedings of the 29th Annual IEEE Symposium on Foundations of Computer Science, 524–531, 1988.Google Scholar
  12. 12.
    D.E. Knuth, J.H. Morris Jr, and V.R. Pratt. Fast pattern matching in strings. SIAM Journal of Comput. Syst. Sci., 6: 323–350, 1977.Google Scholar
  13. 13.
    M. Mohri. Syntactic analysis by local grammars automata: an efficient algorithm. In Proceedings of the International Conference on Computational Lexicography (COMPLEX 94). Linguistic Institute, Hungarian Academy of Science, Budapest, Hungary, 1994.Google Scholar
  14. 14.
    D. Perrin. Finite automata. In J. Van Leuwen, editor, Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, pages 1–57. Elsevier, Amsterdam, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Mehryar Mohri
    • 1
  1. 1.AT&T Bell LaboratoriesMurray HillUSA

Personalised recommendations