Finding all periods and initial palindromes of a string in parallel

An optimalO(log logn)-time CRCW-PRAM algorithm for computing all period lengths of a string is presented. Previous parallel algorithms compute the period only if it is shorter than half of the length of the string. The algorithm can be used to find all initial palindromes of a string in the same time and processor bounds. Both algorithms are the fastest possible over a general alphabet. We derive a lower bound for finding initial palindromes by modifying a known lower bound for finding the period length of a string [9]. Whenp processors are available the bounds become Θ(⌈n/p⌉+log⌈1+p/n⌉2p).

[1]  Glenn K. Manacher,et al.  A New Linear-Time ``On-Line'' Algorithm for Finding the Smallest Initial Palindrome of a String , 1975, JACM.

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

[3]  M. Lothaire Combinatorics on words: Bibliography , 1997 .

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

[5]  Dany Breslauer,et al.  Fast Parallel String Prefix-Matching , 1995, Theor. Comput. Sci..

[6]  Zvi Galil,et al.  A lower bound for parallel string matching , 1991, STOC '91.

[7]  Faith Ellen,et al.  Relations Between Concurrent-Write Models of Parallel Computation , 1988, SIAM J. Comput..

[8]  守屋 悦朗,et al.  J.E.Hopcroft, J.D. Ullman 著, "Introduction to Automata Theory, Languages, and Computation", Addison-Wesley, A5変形版, X+418, \6,670, 1979 , 1980 .

[9]  Leslie G. Valiant,et al.  Parallelism in Comparison Problems , 1975, SIAM J. Comput..

[10]  Zvi Galil Optimal Parallel Algorithms for String Matching , 1985, Inf. Control..

[11]  Dany Breslauer,et al.  Testing String Superprimitivity in Parallel , 1994, Inf. Process. Lett..

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

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

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

[15]  M. W. Shields An Introduction to Automata Theory , 1988 .

[16]  Wojciech Rytter,et al.  Usefulness of the Karp-Miller-Rosenberg Algorithm in Parallel Computations on Strings and Arrays , 1991, Theor. Comput. Sci..

[17]  M. Fischer,et al.  STRING-MATCHING AND OTHER PRODUCTS , 1974 .

[18]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[19]  Howard W Bergerson Palindromes and Anagrams , 1973 .

[20]  J. Rosser,et al.  Approximate formulas for some functions of prime numbers , 1962 .

[21]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

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

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

[24]  Arnold L. Rosenberg,et al.  Rapid identification of repeated patterns in strings, trees and arrays , 1972, STOC.

[25]  Dany Breslauer,et al.  Efficient string algorithmics , 1992 .

[26]  Alberto Apostolico,et al.  An Optimal O(log log N)-Time Parallel Algorithm for Detecting All Squares in a String , 1996, SIAM J. Comput..