Optimal Parallel Pattern Matching in Strings

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.

[1]  Robert E. Tarjan,et al.  An Efficient Parallel Biconnectivity Algorithm , 2011, SIAM J. Comput..

[2]  Uzi Vishkin,et al.  Parallel Dictionaries in 2-3 Trees , 1983, ICALP.

[3]  James Christopher Wyllie,et al.  The Complexity of Parallel Computations , 1979 .

[4]  Donald E. Knuth,et al.  Fast Pattern Matching in Strings , 1977, SIAM J. Comput..

[5]  Yung H. Tsin,et al.  Efficient Parallel Algorithms for a Class of Graph Theoretic Problems , 1984, SIAM J. Comput..

[6]  Uzi Vishkin,et al.  On Efficient Parallel Strong Orientation , 1985, Inf. Process. Lett..

[7]  Uzi Vishkin,et al.  Finding the Maximum, Merging, and Sorting in a Parallel Computation Model , 1981, J. Algorithms.

[8]  Uzi Vishkin,et al.  An O(n² log n) Parallel MAX-FLOW Algorithm , 1982, J. Algorithms.

[9]  János Komlós,et al.  An 0(n log n) sorting network , 1983, STOC.

[10]  Mikhail J. Atallah,et al.  Finding Euler Tours in Parallel , 2011, J. Comput. Syst. Sci..

[11]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[12]  D. Heller A Survey of Parallel Algorithms in Numerical Linear Algebra. , 1978 .

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

[14]  Uzi Vishkin,et al.  An optimal parallel connectivity algorithm , 1984, Discret. Appl. Math..

[15]  Joseph JáJá,et al.  Fast, Efficient Parallel Algorithms for Some Graph Problems , 1981, SIAM J. Comput..

[16]  Francis Y. L. Chin,et al.  OPTIMAL PARALLEL ALGORITHMS FOR THE CONNECTED COMPONENT PROBLEM. , 1981 .

[17]  Selim G. Akl An Optimal Algorithm for Parallel Selection , 1984, Inf. Process. Lett..

[18]  Rüdiger Reischuk,et al.  A fast probabilistic parallel sorting algorithm , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[19]  Uzi Vishkin,et al.  Optimal parallel generation of a computation tree form , 1985, TOPL.

[20]  Uzi Vishkin,et al.  Randomized speed-ups in parallel computation , 2015, STOC '84.

[21]  Leonidas J. Guibas,et al.  Parallel computational geometry , 1988, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[22]  Dilip V. Sarwate,et al.  Computing connected components on parallel computers , 1979, CACM.

[23]  Gad M. Landau,et al.  Efficient string matching in the presence of errors , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[24]  Uzi Vishkin,et al.  An O(log n) Parallel Connectivity Algorithm , 1982, J. Algorithms.

[25]  S. N. Maheshwari,et al.  Parallel algorithms for the convex hull problem in two dimensions , 1981, CONPAR.

[26]  Baruch Awerbuch,et al.  Finding euler circuits in logarithmic parallel time , 1984, STOC '84.

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

[28]  Robert S. Boyer,et al.  A fast string searching algorithm , 1977, CACM.

[29]  Zvi Galil,et al.  Optimal parallel algorithms for string matching , 1984, STOC '84.

[30]  M. Schützenberger,et al.  The equation $a^M=b^Nc^P$ in a free group. , 1962 .

[31]  E. Szemerédi,et al.  Sorting inc logn parallel steps , 1983 .