Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Efficient randomized pattern-matching algorithms

Published: 01 March 1987 Publication History

Abstract

We present randomized algorithms to solve the following string-matching problem and some of its generalizations: Given a string X of length n (the pattern) and a string Y (the text), find the first occurrence of X as a consecutive block within Y. The algorithms represent strings of length n by much shorter strings called fingerprints, and achieve their efficiency by manipulating fingerprints instead of longer strings. The algorithms require a constant number of storage locations, and essentially run in real time. They are conceptually simple and easy to implement. The method readily generalizes to higher-dimensional patternmatching problems.

References

[1]
1. D. E. Knuth, J. H. Morris, and V. R. Pratt, "Fast Pattern Matching in Strings," SIAM J. Computing6, 323-350 (1977).
[2]
2. R. S. Boyer and J. S. Moore, "A Fast String Searching Algorithm," Commun. ACM20, 762-772 (1977).
[3]
3. Z. Galil and J. Seiferas, "Saving Space in Fast String Matching," SIAM J. Computing9, 417-438 (1980).
[4]
4. Z. Galil and J. Seiferas, "Time-Space Optimal String Matching," Proc. 13th Annual ACM STOC, 1981, pp. 106-113.
[5]
5. T. P. Baker, "A Technique for Extending Rapid Exact String Matching to Arrays of More than One Dimension," SIAM J. Computing7, 533-541 (1978).
[6]
6. R. M. Karp, R. E. Miller, and A. L. Rosenberg, "Rapid Identification of Repeated Patterns in Strings, Trees and Arrays," Proc. 4th Annual ACM STOC, 1972, pp. 125-136.
[7]
7. R. S. Bird, "Two Dimensional Pattern Matching," Info. Proc. Lett.6, 168-170 (1977).
[8]
8. M. O. Rabin, "Probabilistic Algorithms," Algorithms and Complexity, Recent Results and New Directions, J. F. Traub, Ed., Academic Press, Inc., New York, 1976, pp. 21-40.
[9]
9. M. O. Rabin, "Probabilistic Algorithm for Testing Primality," J. Number Theor.12, 128-138 (1980).
[10]
10. R. Solovay and V. Strassen, "A Fast Monte-Carlo Test for Primality," SIAM J. Computing6, 84-85 (1977).
[11]
11. J. B. Rosser and L. Schoenfeld, "Approximate Formulas for Some Functions of Prime Numbers," Illinois J. Math.6, 64-94 (1962).
[12]
12. U. Vishkin, "Optimal Parallel Pattern Matching in Strings," Info. Control67, 91-113 (1985).
[13]
13. M. O. Rabin, "Fingerprinting by Random Functions," Report TR-15-81, Center for Research in Computing Technology, Harvard University, Cambridge, MA, 1981.

Cited By

View all
  • (2024)Multi-Pattern GPU Accelerated Collision-Less Rabin-Karp for NIDSInternational Journal of Distributed Systems and Technologies10.4018/IJDST.34126915:1(1-16)Online publication date: 9-Apr-2024
  • (2024)Almost Linear Size Edit Distance SketchProceedings of the 56th Annual ACM Symposium on Theory of Computing10.1145/3618260.3649783(956-967)Online publication date: 10-Jun-2024
  • (2024)Pattern matching algorithms in blockchain for network fees reductionThe Journal of Supercomputing10.1007/s11227-024-06115-880:12(17741-17759)Online publication date: 1-Aug-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image IBM Journal of Research and Development
IBM Journal of Research and Development  Volume 31, Issue 2
Mathematics and computing
March 1987
111 pages

Publisher

IBM Corp.

United States

Publication History

Published: 01 March 1987

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Multi-Pattern GPU Accelerated Collision-Less Rabin-Karp for NIDSInternational Journal of Distributed Systems and Technologies10.4018/IJDST.34126915:1(1-16)Online publication date: 9-Apr-2024
  • (2024)Almost Linear Size Edit Distance SketchProceedings of the 56th Annual ACM Symposium on Theory of Computing10.1145/3618260.3649783(956-967)Online publication date: 10-Jun-2024
  • (2024)Pattern matching algorithms in blockchain for network fees reductionThe Journal of Supercomputing10.1007/s11227-024-06115-880:12(17741-17759)Online publication date: 1-Aug-2024
  • (2024)Near-Optimal Search Time in -Optimal Space, and Vice VersaAlgorithmica10.1007/s00453-023-01186-086:4(1031-1056)Online publication date: 1-Apr-2024
  • (2024)Sparse Suffix and LCP Array: Simple, Direct, Small, and FastLATIN 2024: Theoretical Informatics10.1007/978-3-031-55598-5_11(162-177)Online publication date: 18-Mar-2024
  • (2024)Space-Efficient Conversions from SLPsLATIN 2024: Theoretical Informatics10.1007/978-3-031-55598-5_10(146-161)Online publication date: 18-Mar-2024
  • (2023)Information-Theoretically Secure and Highly Efficient Search and Row RetrievalProceedings of the VLDB Endowment10.14778/3603581.360358216:10(2391-2403)Online publication date: 1-Jun-2023
  • (2023)String Indexing with Compressed PatternsACM Transactions on Algorithms10.1145/360714119:4(1-19)Online publication date: 26-Sep-2023
  • (2023)Regular Expression Matching using Bit Vector AutomataProceedings of the ACM on Programming Languages10.1145/35860447:OOPSLA1(492-521)Online publication date: 6-Apr-2023
  • (2023)Locally Consistent Decomposition of Strings with Applications to Edit Distance SketchingProceedings of the 55th Annual ACM Symposium on Theory of Computing10.1145/3564246.3585239(219-232)Online publication date: 2-Jun-2023
  • Show More Cited By

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media