TY - JOUR
T1 - Simple Optimal Parallel Multiple Pattern Matching
AU - Muthukrishnan, S.
N1 - Funding Information:
*This research was partially supported by NSFrDARPA Grant CCR-89-06949 and by NSF Grant CCR-91-03953. ²Current address: Shannon Labs, Room B293, AT & T Research, 180 Park Avenue, Florham Park, NJ 07932.
PY - 2000/1
Y1 - 2000/1
N2 - In this paper, we present a simple algorithm for solving the multipattern matching problem, with optimal speedup. The best-known deterministic parallel algorithm for this problem also provides optimal speedup, but relies crucially on a sophisticated construction of an automaton. Since then, Rabin has introduced a simple and elegant parallel algorithm (M. Rabin, in "Sequences '91: Methods in Communication, Security, and Computer Science," Springer-Verlag, New York/Berlin, 1993). This is a Monte-carlo algorithm based on finger-print functions and it, too, has optimal speedup. Our algorithm simultaneously achieves the goals of optimal speedup of the deterministic algorithm, as well as the simplicity of the randomized Monte-carlo design cited above. Our algorithm presented here can also be extended to solve the multidimensional pattern-matching problem, also with optimal speedup. Interestingly, the sequential version of the algorithm derived by slowing down our parallel design yields a new and simple (linear-time) algorithm for string matching. It is distinguished by its lack of dependence on failure-functions and its related automata-theoretic variants, periodicities, or special data structures, but essentially uses a carefully constructed divide-and-conquer approach. This approach is systematized by us into the shrink-and-spawn technique, with a range of applications in parallel string and pattern matching in a paper that appears in S. Muthukrishnan and K. Palem (in "Proceedings 5th ACM Symp. on Parallel Algorithms and Architectures, 1993," pp. 69-78).
AB - In this paper, we present a simple algorithm for solving the multipattern matching problem, with optimal speedup. The best-known deterministic parallel algorithm for this problem also provides optimal speedup, but relies crucially on a sophisticated construction of an automaton. Since then, Rabin has introduced a simple and elegant parallel algorithm (M. Rabin, in "Sequences '91: Methods in Communication, Security, and Computer Science," Springer-Verlag, New York/Berlin, 1993). This is a Monte-carlo algorithm based on finger-print functions and it, too, has optimal speedup. Our algorithm simultaneously achieves the goals of optimal speedup of the deterministic algorithm, as well as the simplicity of the randomized Monte-carlo design cited above. Our algorithm presented here can also be extended to solve the multidimensional pattern-matching problem, also with optimal speedup. Interestingly, the sequential version of the algorithm derived by slowing down our parallel design yields a new and simple (linear-time) algorithm for string matching. It is distinguished by its lack of dependence on failure-functions and its related automata-theoretic variants, periodicities, or special data structures, but essentially uses a carefully constructed divide-and-conquer approach. This approach is systematized by us into the shrink-and-spawn technique, with a range of applications in parallel string and pattern matching in a paper that appears in S. Muthukrishnan and K. Palem (in "Proceedings 5th ACM Symp. on Parallel Algorithms and Architectures, 1993," pp. 69-78).
UR - http://www.scopus.com/inward/record.url?scp=0347307147&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0347307147&partnerID=8YFLogxK
U2 - 10.1006/jagm.1999.1015
DO - 10.1006/jagm.1999.1015
M3 - Article
AN - SCOPUS:0347307147
SN - 0196-6774
VL - 34
SP - 1
EP - 13
JO - Journal of Algorithms
JF - Journal of Algorithms
IS - 1
ER -