Skip to main content

Optimal parallel pattern matching in strings

  • Conference paper
  • First Online:
Automata, Languages and Programming (ICALP 1985)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 194))

Included in the following conference series:

Abstract

Given a text of length n and a pattern, we present a parallel linear algorithm for finding all occurrences of the pattern in the text. The algorithm runs in O(n/p) time using any number of p ≤ n/log n processors on a concurrent-read concurrent-write parallel random-access-machine.

This research was supported by DOE grant DE-AC02-76ER03077, by NSF grants NSF-MCS79-21258 and NSF-DCR-8318874 and by ONR grant N0014-85-K0046.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A.V. Aho, J.E. Hopcroft and J.D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, MA, 1974.

    Google Scholar 

  2. B. Awerbuch, A. Israeli and Y. Shiloach, “Finding Euler circuits in logarithmic parallel time”, Proc. 16th Annual ACM Symp. on Theory of Computing (1984), 249–257.

    Google Scholar 

  3. M. Ajtai, J. Komlós, and E. Szemerédi, “An O(n log n) sorting network,” Combinatorica 3, 1 (1983), 1–19.

    Google Scholar 

  4. M.J. Atallah and U. Vishkin, “Finding Euler tours in parallel”, to appear in JCSS.

    Google Scholar 

  5. T.P. Baker, “A technique for extending rapid exact-match string matching to arrays of more than one dimention”, SIAM J. Comput. 7,4 (1978), 533–541.

    Article  Google Scholar 

  6. R.S. Boyer and J.S. Moore, “A fast string searching algorithm”, Comm. ACM 20(1977), 762–772.

    Article  Google Scholar 

  7. I. Bar-On and U. Vishkin, “Optimal parallel generation of a computation tree form”, Proc. 1984 International Conf. on Parallel Processing, 490–495. To appear in ACM Trans. on Programming languages and systems.

    Google Scholar 

  8. F.Y. Chin, J. Lam and I. Chen, “Optimal parallel algorithms for the connected component problems,“ Proc. 1981 International Conf. on Parallel Processing (1981), 170–175.

    Google Scholar 

  9. Z. Galil, “Optimal parallel algorithms for string matching”, Proc. 16th ACM Symp. on Theory of Computing, 1984, 240–248.

    Google Scholar 

  10. F.E. Fich, R.L. Radge and A. Wigderson, “Relation between concurrent-write models of parallel computation”, preprint, Div. of Computer Science, Univ. of Calif., Berkeley, 1983.

    Google Scholar 

  11. D.S. Hirschberg, A.K. Chandra and D.V. Scywate, “Computing connected components on parallel computers”, Comm. ACM 22 (1979), 461–464.

    Article  Google Scholar 

  12. D.E. Knuth, J.H. Morris and V.R. Pratt, “Fast pattern matching in strings”, SIAM J. Comp. 6 (1977), 322–350.

    Google Scholar 

  13. R.C. Lyndon and M.P. Schutzenberger, “The equation aM=bNcP in a free group”, Michigan Math. J. 9 (1962), 289–298.

    Article  Google Scholar 

  14. W. Paul, U. Vishkin and H. Wagener, “Parallel dictionaries on 2–3 trees”, Proc. 10th ICALP, Lecture Notes in Computer Science 154, Springer-Verlag, 1983, 597–609.

    Google Scholar 

  15. J.H. Reif, “Optimal parallel algorithm for graph connectivity”, TR-08-84, Aiken Computation Lab., Harvard Univ.

    Google Scholar 

  16. J.H. Reif and L.G. Valiant, “A logarithmic time sort for linear size networks”, Proc. 15th Annual ACM Symp. on Theory of Computing (1983), 10–16.

    Google Scholar 

  17. Y. Shiloach and U. Vishkin, “Finding the maximum merging, and sorting in a parallel computation model,“ J. Algorithms 2 (1981), 88–102.

    Article  Google Scholar 

  18. Y. Shiloach and U. Vishkin, “An O(log n) parallel connectivity algorithm”, J. Algorithms 3 (1982), 57–67.

    Article  Google Scholar 

  19. Y. Shiloach and U. Vishkin, “An O(n2log n) parallel max-flow algorithm”, J. Algorithms 3 (1982), 128–146.

    Article  Google Scholar 

  20. Y.H. Tsin and F.Y. Chin, “Efficient parallel algorithms for a class of graph theoretic problems”, SIAM J. COMPUT. 13 (1984), 580–599.

    Article  Google Scholar 

  21. R.E. Tarjan and U. Vishkin, “An efficient parallel biconnectivity algorithm”, TR 69, Dept. of Computer Science, Courant Institute, NYU, 1983. To appear in SIAM J. Comput..

    Google Scholar 

  22. U. Vishkin, “Synchronous parallel computation — a survey”, TR 71, Dept. of Computer Science, Courant Institute, NYU, 1983.

    Google Scholar 

  23. U. Vishkin, “An optimal parallel algorithm for selection”, preprint, 1983.

    Google Scholar 

  24. U. Vishkin, “An optimal parallel connectivity algorithm”, Discrete Applied Mathematics 9 (1984), 197–207.

    Article  Google Scholar 

  25. U. Vishkin, “Randomized speed-ups in parallel computation”, Proc. 16th Annual ACM Symp. on Theory of Computing (1984), 230–239.

    Google Scholar 

  26. U. Vishkin, “On efficient parallel strong orientation”, to appear in Information Processing Letters.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Wilfried Brauer

Rights and permissions

Reprints and permissions

Copyright information

© 1985 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Vishkin, U. (1985). Optimal parallel pattern matching in strings. In: Brauer, W. (eds) Automata, Languages and Programming. ICALP 1985. Lecture Notes in Computer Science, vol 194. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0015775

Download citation

  • DOI: https://doi.org/10.1007/BFb0015775

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-15650-5

  • Online ISBN: 978-3-540-39557-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics