TY - GEN
T1 - Highly efficient dictionary matching in parallel
AU - Muthukrishnan, S.
AU - Palem, K.
N1 - Funding Information:
* Courant Institute of Mathematical Sciences, 251 Mercer Street, New York, NY 10012-1185, USA; [email protected], (212) 998-3061. The research of this author was supported in part by NSF/DARPA under grant number CCR-89-06949 and by NSF under grant number CCR-91-03953. t IBM Research Division, T. J. Watson Research Center, P. O. Box 704, Yorktown Heights, NY 10598, USA; [email protected], (914) 984-9846; palemf$cims.nyu.edu, (212) 998-3084.
PY - 1993/8/1
Y1 - 1993/8/1
N2 - We present highly efficient parallel algorithms for several well-studied dictionary matching problems. Our algorithms are faster and more efficient in terms of their parallel work, compared to previously known results. For static dictionary matching, we present an algorithm that preprocesses the dictionary and matches the text in O(logm) parallel time and 0(M + n log m) work, given any dictionary of size M whose longest pattern is m characters long, and a text of size n. We have further improved this algorithm to solve static dictionary matching with only 0((M + n)vlog m) work, if the characters are drawn from an alphabet of constant size. A distinguishing feature of these algorithms and the one stated below for matching in higher dimensions, is that in contrast with previous work, the running times, and work overheads when applicable, are dependent only on the length of the longest pattern m. We present a parallel algorithm for d-dimensional dictionary matching that runs in O(logm) time and matches the text in 0(M + nlogm) work for any fixed d. We present a new and more efficient parallel algorithm for dynamic dictionary matching. Insertions into and deletions from the dictionary, as well as matching the text can be done with optimal speedup in 0(A log M) work and 0(log M) time. Here, A denotes the length of the string to be inserted, deleted or matched into a dictionary of size M. All of the above algorithms are designed by applying the shrink-and-spawn technique that we introduce in this paper. We also show that this technique leads to parallel algorithms that only do optimal (linear) work, for multi-dimensional pattern matching and related problems [KLP89,Rab93]. Our algorithms are deterministic, as those in [KLP89], but however, are much simpler and preserve the efficiency as well as the speed of those presented there.
AB - We present highly efficient parallel algorithms for several well-studied dictionary matching problems. Our algorithms are faster and more efficient in terms of their parallel work, compared to previously known results. For static dictionary matching, we present an algorithm that preprocesses the dictionary and matches the text in O(logm) parallel time and 0(M + n log m) work, given any dictionary of size M whose longest pattern is m characters long, and a text of size n. We have further improved this algorithm to solve static dictionary matching with only 0((M + n)vlog m) work, if the characters are drawn from an alphabet of constant size. A distinguishing feature of these algorithms and the one stated below for matching in higher dimensions, is that in contrast with previous work, the running times, and work overheads when applicable, are dependent only on the length of the longest pattern m. We present a parallel algorithm for d-dimensional dictionary matching that runs in O(logm) time and matches the text in 0(M + nlogm) work for any fixed d. We present a new and more efficient parallel algorithm for dynamic dictionary matching. Insertions into and deletions from the dictionary, as well as matching the text can be done with optimal speedup in 0(A log M) work and 0(log M) time. Here, A denotes the length of the string to be inserted, deleted or matched into a dictionary of size M. All of the above algorithms are designed by applying the shrink-and-spawn technique that we introduce in this paper. We also show that this technique leads to parallel algorithms that only do optimal (linear) work, for multi-dimensional pattern matching and related problems [KLP89,Rab93]. Our algorithms are deterministic, as those in [KLP89], but however, are much simpler and preserve the efficiency as well as the speed of those presented there.
UR - http://www.scopus.com/inward/record.url?scp=0348123998&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0348123998&partnerID=8YFLogxK
U2 - 10.1145/165231.165239
DO - 10.1145/165231.165239
M3 - Conference contribution
AN - SCOPUS:0348123998
T3 - Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993
SP - 69
EP - 78
BT - Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993
PB - Association for Computing Machinery, Inc
T2 - 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993
Y2 - 30 June 1993 through 2 July 1993
ER -