Results 1 -
8 of
8
Optimal Parallel Algorithms for Periods, Palindromes and Squares (Extended Abstract)
, 1992
"... ) Alberto Apostolico Purdue University and Universit`a di Padova Dany Breslauer yyz Columbia University Zvi Galil z Columbia University and Tel-Aviv University Summary of results Optimal concurrent-read concurrent-write parallel algorithms for two problems are presented: ffl Finding all the pe ..."
Abstract
-
Cited by 28 (13 self)
- Add to MetaCart
) Alberto Apostolico Purdue University and Universit`a di Padova Dany Breslauer yyz Columbia University Zvi Galil z Columbia University and Tel-Aviv University Summary of results Optimal concurrent-read concurrent-write parallel algorithms for two problems are presented: ffl Finding all the periods of a string. The period of a string can be computed by previous efficient parallel algorithms only if it is shorter than half of the length of the string. Our new algorithm computes all the periods in optimal O(log log n) time, even if they are longer. The algorithm can be used to compute all initial palindromes of a string within the same bounds. ffl Testing if a string is square-free. We present an optimal O(log log n) time algorithm for testing if a string is square-free, improving the previous bound of O(log n) given by Apostolico [1] and Crochemore and Rytter [12]. We show matching lower bounds for the optimal parallel algorithms that solve the problems above on a general alphab...
Finding All Periods and Initial Palindromes of a String in Parallel
-
, 1991
"... An optimal O(log log n) time CRCW-PRAM algorithm for computing all periods of a string is presented. Previous parallel algorithms compute the period only if it is shorter than half of the length of the string. This algorithm can be used to find all initial palindromes of a string in the same tim ..."
Abstract
-
Cited by 12 (10 self)
- Add to MetaCart
An optimal O(log log n) time CRCW-PRAM algorithm for computing all periods of a string is presented. Previous parallel algorithms compute the period only if it is shorter than half of the length of the string. This 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 palindromes by a modification of a previously known lower bound for finding the period of a string [3]. When p processors are available the bounds become \Theta(d n p e + log log d1+p=ne 2p).
Testing String Superprimitivity in Parallel
- Information Processing Letters
, 1992
"... A string w covers another string z if every symbol of z is within some occurrence of w in z. A string is called superprimitive if it is covered only by itself, and quasiperiodic if it is covered by some shorter string. This paper presents an O(log log n) time n log n log log n -processor CRCW- ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
A string w covers another string z if every symbol of z is within some occurrence of w in z. A string is called superprimitive if it is covered only by itself, and quasiperiodic if it is covered by some shorter string. This paper presents an O(log log n) time n log n log log n -processor CRCW-PRAM algorithm that tests if a string is superprimitive. The algorithm is the fastest possible with this number of processors over a general alphabet. 1 Introduction Quasiperiodicity, as defined by Apostolico and Ehrenfeucht [3], is an avoidable regularity of strings that is strongly related to other regularities such as periods and squares [12]. Apostolico, Farach and Iliopoulos [4] and Breslauer [7] gave linear-time sequential algorithms that tests if a string is superprimitive. Apostolico and Ehrenfeucht [3] presented an algorithm that finds all maximal quasiperiodic substrings of a string. This paper presents a parallel algorithm that tests if a string of length n is superprimitive i...
Complexity Results for Model Checking
, 1995
"... The complexity of model checking branching and linear time temporal logics over Kripke structures has been addressed in e.g. [SC85, CES86]. In terms of the size of the Kripke model and the length of the formula, they show that the model checking problem is solvable in polynomial time for CTL and ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
The complexity of model checking branching and linear time temporal logics over Kripke structures has been addressed in e.g. [SC85, CES86]. In terms of the size of the Kripke model and the length of the formula, they show that the model checking problem is solvable in polynomial time for CTL and NP-complete for L(F ). The model checking problem can be generalised by allowing more succinct descriptions of systems than Kripke structures. We investigate the complexity of the model checking problem when the instances of the problem consist of a formula and a description of a system whose state space is at most exponentially larger than the description. Based on Turing machines, we define compact systems as a general formalisation of such system descriptions. Examples of such compact systems are K-bounded Petri nets and synchronised automata, and in these cases the well-known algorithms presented in [SC85, CES86] would require exponential space in term of the sizes of the system descriptions and the formulas; we present polynomial space upper bounds for the model checking problem over compact systems and the logics CTL and L(X; U;S). As an example of an application of our general results we show that the model checking problems of both the branching time temporal logic CTL and the linear time temporal logics L(F ) and L(X;U;S) over K-bounded Petri nets are PSPACE-complete.
Work-Time-Optimal Parallel Algorithms for String Problems (Extended Abstract)
- In Proc. 27th ACM Symp. on the Theory of Computing
, 1995
"... ) Artur Czumaj Zvi Galil y Leszek G¸asieniec z Kunsoo Park x Wojciech Plandowski -- Abstract A parallel algorithm is work-optimal if it uses the smallest possible work; a work-optimal algorithm is worktime -optimal if it also uses the smallest possible time. We design work-time-optimal al ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
) Artur Czumaj Zvi Galil y Leszek G¸asieniec z Kunsoo Park x Wojciech Plandowski -- Abstract A parallel algorithm is work-optimal if it uses the smallest possible work; a work-optimal algorithm is worktime -optimal if it also uses the smallest possible time. We design work-time-optimal algorithm for a number of string processing problems on the EREW-PRAM and the hypercube. They include string matching and two dimensional pattern matching. No such algorithms have been known before for any of these problems. 1 Introduction We call a parallel algorithm work-optimal if it has smallest possible work. Notice that this definition is stricter than the one requiring only the same work as the best known sequential algorithm and it requires proving a lower bound. In most cases work-optimality means either linear work or O(n log n) work because no higher lower bounds are known. We call a work-optimal algo- Heinz Nixdorf Institute, University of Paderborn, D-33095 Paderborn, Germany....
Fast Parallel String Prefix-Matching
- Theoret. Comput. Sci
, 1992
"... An O(log log m) time n log m log log m -processor CRCW-PRAM algorithm for the string prefix-matching problem over a general alphabet is presented. The algorithm can also be used to compute the KMP failure function in O(log log m) time on m log m log log m processors. These results improve on th ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
An O(log log m) time n log m log log m -processor CRCW-PRAM algorithm for the string prefix-matching problem over a general alphabet is presented. The algorithm can also be used to compute the KMP failure function in O(log log m) time on m log m log log m processors. These results improve on the running time of the best previous algorithm for both problems, which was O(log m), while preserving the same number of operations. 1 Introduction String matching is the problem of finding all occurrences of a short pattern string P[1::m] in a longer text string T [1::n]. The classical sequential algorithm of Knuth, Morris and Pratt [12] solves the string matching problem in time that is linear in the length of the input strings. The Knuth-Morris-Pratt [12] string matching algorithm can be easily generalized to find the longest pattern prefix that starts at each text position within the same time bound. We refer to this problem as string prefix-matching. In parallel, the string matching p...
Transforming comparison model lower bounds to the parallel-random-access-machine
- INFORMATION PROCESSING LETTERS
, 1997
"... We provide general transformations of lower bounds in Valiant's parallel-comparison-decision-tree model to lower bounds in the priority concurrent-read concurrent-write parallel-random-access-machine model. The proofs rely on standard Ramsey-theoretic arguments that simplify the structure of the com ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
We provide general transformations of lower bounds in Valiant's parallel-comparison-decision-tree model to lower bounds in the priority concurrent-read concurrent-write parallel-random-access-machine model. The proofs rely on standard Ramsey-theoretic arguments that simplify the structure of the computation by restricting the input domain. The transformation of comparison model lower bounds, which are usually easier to obtain, to the parallel-random-access-machine, unifies some known lower bounds and gives new lower bounds for several problems.
Efficient String Matching on Coded Texts
- In Proceedings of Combinatorial Pattern Matching, 6th Annual Symposium (CPM'95
, 1994
"... The so called "four Russians technique" is often used to speed up algorithms by encoding several data items in a single memory cell. Given a sequence of n symbols over a constant size alphabet, one can encode the sequence into O(n=) memory cells in O(log ) time using n= log processors. This paper ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
The so called "four Russians technique" is often used to speed up algorithms by encoding several data items in a single memory cell. Given a sequence of n symbols over a constant size alphabet, one can encode the sequence into O(n=) memory cells in O(log ) time using n= log processors. This paper presents an efficient CRCW-PRAM string-matching algorithm for coded texts that takes O(log log(m=)) time 1 making only O(n=) operations, an improvement by a factor of = O(logn) on the number of operations used in previous algorithms. Using this stringmatching algorithm one can test if a string is square-free and find all palindromes in a string in O(log log n) time using n= log log n processors. 1 Introduction In the string-matching problem one is searching for occurrences of a pattern string P[1::m] in a text string T [1::n]. There exist several O(n + m) time sequential string-matching algorithms that are used in a large variety of applications. Galil [23] published the first efficient...

