Optimally fast parallel algorithms for preprocessing and pattern matching in one and two dimensions

All algorithms below are optimal alphabet-independent parallel CRCW PRAM algorithms. In one dimension: Given a pattern string of length m for the string-matching problem, we design an algorithm that computes a deterministic sample of a sufficiently long substring in constant time. This problem used to be a bottleneck in the pattern preprocessing for one- and two-dimensional pattern matching. The best previous time bound was O(log/sup 2/ m/log log m). We use this algorithm to obtain the following results. 1. Improving the preprocessing of the constant-time text search algorithm from O(log/sup 2/ m/log log m) to n(log log m), which is now best possible. 2. A constant-time deterministic string-matching algorithm in the case that the text length n satisfies n=/spl Omega/(m/sup 1+/spl epsiv//) for a constant /spl epsiv/>0. 3. A simple probabilistic string-matching algorithm that has constant time with high probability for random input. 4. A constant expected time Las-Vegas algorithm for computing the period of the pattern and all witnesses and thus string matching itself, solving the main open problem remaining in string matching.<<ETX>>

[1]  Zvi Galil,et al.  An Optimal O(log log n) Time Parallel String Matching Algorithm , 1990, SIAM J. Comput..

[2]  Uzi Vishkin,et al.  Deterministic sampling—a new technique for fast pattern matching , 1990, STOC '90.

[3]  Uzi Vishkin,et al.  Optimal Parallel Pattern Matching in Strings , 2017, Inf. Control..

[4]  Bogdan S. Chlebus,et al.  Optimal Pattern Matching on Meshes , 1994, STACS.

[5]  Gary Benson,et al.  Optimal parallel two dimensional pattern matching , 1993, SPAA '93.

[6]  Theodore P. Baker A Technique for Extending Rapid Exact-Match String Matching to Arrays of More Than One Dimension , 1978, SIAM J. Comput..

[7]  Richard M. Karp,et al.  Efficient Randomized Pattern-Matching Algorithms , 1987, IBM J. Res. Dev..

[8]  Faith Ellen,et al.  Relations between concurrent-write models of parallel computation , 1984, PODC '84.

[9]  Gary Benson,et al.  Two-dimensional periodicity and its applications , 1992, SODA '92.

[10]  Prabhakar Ragde,et al.  The Parallel Simplicity of Compaction and Chaining , 1990, J. Algorithms.

[11]  Zvi Galil,et al.  Optimal Parallel Algorithms for Periods, Palindromes and Squares (Extended Abstract) , 1992, ICALP.

[12]  Zvi Galil,et al.  A Lower Bound for Parallel String Matching , 1992, SIAM J. Comput..

[13]  Zvi Galil,et al.  Truly alphabet-independent two-dimensional pattern matching , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[14]  Gary Benson,et al.  Alphabet independent two dimensional matching , 1992, STOC '92.

[15]  Zvi Galil,et al.  Optimal Parallel Algorithms for Periods, Palindromes and Squares (Preliminary Version) , 1991 .

[16]  Gad M. Landau,et al.  Fast Parallel and Serial Multidimensional Aproximate Array Matching , 1991, Theor. Comput. Sci..

[17]  Torben Hagerup,et al.  On a Compaction Theorem of Ragde , 1992, Inf. Process. Lett..

[18]  Zvi Galil,et al.  A constant-time optimal parallel string-matching algorithm , 1992, STOC '92.

[19]  R.S. Bird,et al.  Two Dimensional Pattern Matching , 1977, Inf. Process. Lett..

[20]  Gad M. Landau,et al.  Optimal parallel suffix-prefix matching algorithm and applications , 1989, SPAA '89.

[21]  Michael G. Main,et al.  An O(n log n) Algorithm for Finding All Repetitions in a String , 1984, J. Algorithms.

[22]  Gad M. Landau,et al.  Fast parallel and serial multidimensional approximate array matching , 1990 .