Skip to main content

Parallel string matching algorithms

  • Conference paper
Book cover Sequences II

Abstract

The string matching problem is one of the most studied problems in computer science. While it is very easily stated and many of the simple algorithms perform very well in practice, numerous works have been published on the subject and research is still very active. In this paper we survey recent results on parallel algorithms for the string matching problem.

Work partially supported by NSF Grant CCR-90–14605.

Partially supported by an IBM Graduate Fellowship.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aho, A. (1990), Algorithms for finding patterns in strings, Handbook of theoretical computer science, 257–300.

    Google Scholar 

  2. Aho, A. and Corasik, M. J. (1975), Efficient string matching: an aid to bibliographic search, Comm. ACM 18:6, 333–340.

    Article  MathSciNet  MATH  Google Scholar 

  3. Apostolico, A. (1989), Optimal parallel detection of squares in strings; Part I: Testing square freedom, CSD-TR-932, purdue.

    Google Scholar 

  4. Apostolico, A. (1990), Optimal parallel detection of squares in strings; Part II: Detecting all squares, CSD-TR-1012, purdue.

    Google Scholar 

  5. Apostolico, A. and Giancarlo, R. (1986), The Boyer-Moore-Galil string searching strategies revisited, SIAM J. Comput. 15:1, 98–105.

    Article  MathSciNet  MATH  Google Scholar 

  6. Apostolico, A., Iliopoulos, C., Landau, G. M., Schieber, B. and Vishkin, U. (1988), Parallel construction of a suffix tree with applications, Algorithmica 3, 347–365.

    Article  MathSciNet  MATH  Google Scholar 

  7. Beame, P., and Hastad, J. (1987), Optimal Bound for Decision Problems on the CRCW PRAM, Proc. 19th ACM Symp. on Theory of Computing, 83–93.

    Google Scholar 

  8. Berkman, O., Breslauer, D., Galil, Z. Schieber, B., and Vishkin, U. (1989), Highly parallelizeable problems, Proc. 21st ACM Symp. on Theory of Computing, 309–319.

    Google Scholar 

  9. Berkman, O., Schieber, B., and Vishkin, U. (1988), Some doubly logarithmic optimal parallel algorithms based on finding nearest smallers, manuscript.

    Google Scholar 

  10. Borodin, A. B., Fischer, M. J., Kirkpatrick, D. G., Lynch, N. A. and Tompa, M. (1979), A time-space tradeoff for sorting on non-oblivious machines, Proc. 20th IEEE Symp. on Foundations of Computer Science, 294–301.

    Google Scholar 

  11. Borodin, A., and Hopcroft, J. E. (1985), Routing, merging, and sorting on parallel models of comparison, J. of Comp, and System Sci. 30, 130–145.

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MATH  Google Scholar 

  13. Brent, R. P. (1974), The parallel evaluation of general arithmetic expressions, J. ACM 21, 201–206.

    Article  MathSciNet  MATH  Google Scholar 

  14. Breslauer, D. and Galil, Z. (1990), An optimal O(log logn) parallel string matching algorithm, SIAM J. Comput. 19:6, 1051–1058.

    Article  MathSciNet  MATH  Google Scholar 

  15. Breslauer, D. and Galil, Z. (1991), A lower bound for parallel string matching, Proc. 23nd ACM Symp. on Theory of Computation, to appear.

    Google Scholar 

  16. Colussi, L., Galil, Z. and Giancarlo, R. (1990), On the exact complexity of string matching, Proc. 31st IEEE Symp. on Foundations of Computer Science, 135–143.

    Google Scholar 

  17. Cole, R. (1991), Tight bounds on the complexity of the Boyer-Moore string matching algorithm, Proc. 2nd annual ACM-SIAM symp. on discrete algorithms, 224–233.

    Google Scholar 

  18. Cole, R. and Vishkin, U. (1986), Deterministic coin tossing and accelerating cascades: micro and macro techniques for designing parallel algorithms, Proc. 18th ACM Symp. on Theory of Computing, 206–219.

    Google Scholar 

  19. Cole, R. and Vishkin, U. (1989), Faster optimal prefix sums and list ranking, Inform. and Comput. 81, 334–352.

    Article  MathSciNet  MATH  Google Scholar 

  20. Cook, S. A., Dwork, C. and Reischuk, R. (1986), Upper and lower time bounds for parallel random access machines without simultaneous writes, SIAM J. Comput. 15:1, 87–97.

    Article  MathSciNet  MATH  Google Scholar 

  21. Crochemore, M. (1989), String-Matching and Periods, In Bulletin of EATCS.

    Google Scholar 

  22. Crochemore, M. and Perrin, D. (1989), Two way pattern matching, JACM, to appear.

    Google Scholar 

  23. Crochemore, M. and Rytter, W. (1990), Usefulness of the Karp-Miller-Rosenberg algorithm in parallel computations on strings and arrays, manuscript.

    Google Scholar 

  24. Eppstein, D. and Galil, Z. (1988), Parallel algorithmic techniques for combinatorial computation, In Ann. Rev. Comput. Sci. 3, 233–283.

    Article  MathSciNet  Google Scholar 

  25. Fich, F. E., Ragde, R. L., and Wigderson, A. (1984), Relations between concurrent-write models of parallel computation, Proc. 3rd ACM Symp. on Principles of Distributed Computing, 179–189.

    Google Scholar 

  26. Galil, Z. (1985), Optimal parallel algorithms for string matching, Information and Control 67, 144–157.

    Article  MathSciNet  MATH  Google Scholar 

  27. Galil, Z. and Giancarlo, R. (1988), Data structures and algorithms for approximate string matching, Journal of Complexity 4, 33–72.

    Article  MathSciNet  MATH  Google Scholar 

  28. Galil, Z. and Seiferas, J. (1980), Saving space in fast string-matching, SIAM J. Comput. 2, 417–438.

    Article  MathSciNet  Google Scholar 

  29. Galil, Z. and Seiferas, J. (1983), Time-space-optimal string matching, J. Comput. Syst. Sci. 26, 280–294.

    Article  MathSciNet  Google Scholar 

  30. Geréb-Graus, M. and Li, M. (1990), Three one-way heads cannot do string matching, manuscript.

    Google Scholar 

  31. Karp, R. M., Miller, R. E. and Rosenberg, A. L. (1972), Rapid identification of repeated patterns in strings, trees and arrays, Proceedings of the 4th ACM Symposium on Theory of Computation, 125–136.

    Google Scholar 

  32. Karp, R. M. and Rabin, M. 0. (1987), Efficient randomized pattern matching algorithms, IBM J. Res. Develop. 31:2, 249–260.

    Article  MathSciNet  MATH  Google Scholar 

  33. Karp, R. M. and Ramachandran, V. (1990), A survey of parallel algorithms for shared-memory machines, Handbook of theoretical computer science.

    Google Scholar 

  34. Kedem, Z., Landau, G. and Palem, K. (1988), Optimal parallel suffix-prefix matching algorithm and applications. manuscript.

    Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  36. Kruskal, C. P. (1983), Searching, merging, and sorting in parallel computation, IEEE trans. on computers 32, 942–946.

    Article  MathSciNet  MATH  Google Scholar 

  37. Lander, R. E. and Fischer, M. J. (1980), Parallel Prefix Computation, J. ACM 27:4, 831–838.

    Article  Google Scholar 

  38. Li, M. (1984), Lower bounds on string-matching, TR 84–636 Department of Computer Science, Cornell University.

    Google Scholar 

  39. Li, M. and Yesha, Y. (1986), String-matching cannot be done by a two-head one-way deterministic finite automaton, Information Processing Letters 22, 231–235.

    Article  MathSciNet  MATH  Google Scholar 

  40. Lothaire, M. (1983), Combinatorics on Words, Encyclopedia of mathematics and its applications, Vol. 17, Addison Wesley.

    MATH  Google Scholar 

  41. Lyndon, R. C. and Schutzenberger, M. P. (1962), The equation a M = b N c P in a free group, Michigan Math. J. 9, 289–298.

    Article  MathSciNet  MATH  Google Scholar 

  42. McCreight, E. M. (1976), A space-economical suffix tree construction algorithm, Journal of ACM, 33:3, 262–272.

    Article  MathSciNet  Google Scholar 

  43. Rosser, J. B. and Schoenfeld, L. (1962), Approximate formulas for some functions of prime numbers, Illinois Journal of Mathematics, 6: 64–94.

    MathSciNet  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  45. Valiant, L. G. (1975), Parallelism in comparison models, SIAM J. Comput. 4, 348–355.

    Article  MathSciNet  MATH  Google Scholar 

  46. Vishkin, U. (1985), Optimal parallel pattern matching in strings, Information and Control 67, 91–113.

    Article  MathSciNet  MATH  Google Scholar 

  47. Vishkin, U. (1990), Deterministic sampling — A new technique for fast pattern matching, SIAM J. Comput. 20:1, 22–40.

    Article  MathSciNet  Google Scholar 

  48. Weiner, P. (1973), Linear pattern matching algorithms, Proc. 14th IEEE symp. on switching and automata theory, 1–11.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag New York, Inc.

About this paper

Cite this paper

Breslauer, D., Galil, Z. (1993). Parallel string matching algorithms. In: Capocelli, R., De Santis, A., Vaccaro, U. (eds) Sequences II. Springer, New York, NY. https://doi.org/10.1007/978-1-4613-9323-8_10

Download citation

  • DOI: https://doi.org/10.1007/978-1-4613-9323-8_10

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4613-9325-2

  • Online ISBN: 978-1-4613-9323-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics