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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aho, A. (1990), Algorithms for finding patterns in strings, Handbook of theoretical computer science, 257–300.
Aho, A. and Corasik, M. J. (1975), Efficient string matching: an aid to bibliographic search, Comm. ACM 18:6, 333–340.
Apostolico, A. (1989), Optimal parallel detection of squares in strings; Part I: Testing square freedom, CSD-TR-932, purdue.
Apostolico, A. (1990), Optimal parallel detection of squares in strings; Part II: Detecting all squares, CSD-TR-1012, purdue.
Apostolico, A. and Giancarlo, R. (1986), The Boyer-Moore-Galil string searching strategies revisited, SIAM J. Comput. 15:1, 98–105.
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.
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.
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.
Berkman, O., Schieber, B., and Vishkin, U. (1988), Some doubly logarithmic optimal parallel algorithms based on finding nearest smallers, manuscript.
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.
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.
Boyer, R. S., and Moore, J. S. (1977), A fast string searching algorithm, Comm. ACM 20, 762–772.
Brent, R. P. (1974), The parallel evaluation of general arithmetic expressions, J. ACM 21, 201–206.
Breslauer, D. and Galil, Z. (1990), An optimal O(log logn) parallel string matching algorithm, SIAM J. Comput. 19:6, 1051–1058.
Breslauer, D. and Galil, Z. (1991), A lower bound for parallel string matching, Proc. 23nd ACM Symp. on Theory of Computation, to appear.
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.
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.
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.
Cole, R. and Vishkin, U. (1989), Faster optimal prefix sums and list ranking, Inform. and Comput. 81, 334–352.
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.
Crochemore, M. (1989), String-Matching and Periods, In Bulletin of EATCS.
Crochemore, M. and Perrin, D. (1989), Two way pattern matching, JACM, to appear.
Crochemore, M. and Rytter, W. (1990), Usefulness of the Karp-Miller-Rosenberg algorithm in parallel computations on strings and arrays, manuscript.
Eppstein, D. and Galil, Z. (1988), Parallel algorithmic techniques for combinatorial computation, In Ann. Rev. Comput. Sci. 3, 233–283.
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.
Galil, Z. (1985), Optimal parallel algorithms for string matching, Information and Control 67, 144–157.
Galil, Z. and Giancarlo, R. (1988), Data structures and algorithms for approximate string matching, Journal of Complexity 4, 33–72.
Galil, Z. and Seiferas, J. (1980), Saving space in fast string-matching, SIAM J. Comput. 2, 417–438.
Galil, Z. and Seiferas, J. (1983), Time-space-optimal string matching, J. Comput. Syst. Sci. 26, 280–294.
Geréb-Graus, M. and Li, M. (1990), Three one-way heads cannot do string matching, manuscript.
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.
Karp, R. M. and Rabin, M. 0. (1987), Efficient randomized pattern matching algorithms, IBM J. Res. Develop. 31:2, 249–260.
Karp, R. M. and Ramachandran, V. (1990), A survey of parallel algorithms for shared-memory machines, Handbook of theoretical computer science.
Kedem, Z., Landau, G. and Palem, K. (1988), Optimal parallel suffix-prefix matching algorithm and applications. manuscript.
Knuth, D. E., Morris, J. H. and Pratt, V. R. (1977), Fast pattern matching in strings, SIAM J. Comput. 6, 322–350.
Kruskal, C. P. (1983), Searching, merging, and sorting in parallel computation, IEEE trans. on computers 32, 942–946.
Lander, R. E. and Fischer, M. J. (1980), Parallel Prefix Computation, J. ACM 27:4, 831–838.
Li, M. (1984), Lower bounds on string-matching, TR 84–636 Department of Computer Science, Cornell University.
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.
Lothaire, M. (1983), Combinatorics on Words, Encyclopedia of mathematics and its applications, Vol. 17, Addison Wesley.
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.
McCreight, E. M. (1976), A space-economical suffix tree construction algorithm, Journal of ACM, 33:3, 262–272.
Rosser, J. B. and Schoenfeld, L. (1962), Approximate formulas for some functions of prime numbers, Illinois Journal of Mathematics, 6: 64–94.
Shiloach, Y. and Vishkin, U. (1981), Finding the maximum, merging and sorting in a parallel computation model, J. Algorithms 2, 88–102.
Valiant, L. G. (1975), Parallelism in comparison models, SIAM J. Comput. 4, 348–355.
Vishkin, U. (1985), Optimal parallel pattern matching in strings, Information and Control 67, 91–113.
Vishkin, U. (1990), Deterministic sampling — A new technique for fast pattern matching, SIAM J. Comput. 20:1, 22–40.
Weiner, P. (1973), Linear pattern matching algorithms, Proc. 14th IEEE symp. on switching and automata theory, 1–11.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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