Usefulness of the Karp-Miller-Rosenberg algorithm in parallel computations on strings and arrays (Q1177175)
From MaRDI portal
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | Usefulness of the Karp-Miller-Rosenberg algorithm in parallel computations on strings and arrays |
scientific article |
Statements
Usefulness of the Karp-Miller-Rosenberg algorithm in parallel computations on strings and arrays (English)
0 references
26 June 1992
0 references
The authors reconsider the Karp-Miller-Rosenberg (KMR) sequential algorithm for strings and pattern matching as a basic technique in parallel computation. The main result is a parallel version of the KMR algorithm computing the dictionary of basic factors of a string. Its complexity is \(O(\log(n)^ 2)\) time (\(n\) processors) on a CREW-PRAM model and \(O(\log n)\) (\(n\) processors) on a CRCW-PRAM model. This algorithm is used as a general framework for designing a large class of parallel algorithms for strings and arrays. Using the KMR parallel algorithm, the following problems are studied in the paper: 1. Searching for squares in strings. 2. Testing even palstars and compositions of \(k\)-palindromes (\(k=2,3,4\)) in a string. 3. Computing the maximal suffix and Lyndon factorization of a string. 4. Pattern matching in strings and arrays finding the longest repeated factor of a string, finding the maximal common factor of two strings, finding the longest symmetric factor of a string. The authors prove that all problems can be solved by parallel algorithms with the complexity of the KMR algorithm. Related to these problems, three open problems are presented at the end of the paper.
0 references
parallel complexity
0 references
pattern
0 references
pattern matching
0 references
CREW-PRAM
0 references
CRCW-PRAM
0 references
strings
0 references
0 references
0 references
0 references