Simple Optimal Parallel Multiple Pattern Matching

Shanmugavelayutham Muthukrishnan

    Research output: Contribution to journalArticle

    Abstract

    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).

    Original languageEnglish (US)
    Pages (from-to)1-13
    Number of pages13
    JournalJournal of Algorithms
    Volume34
    Issue number1
    DOIs
    StatePublished - Jan 1 2000

    Fingerprint

    Pattern matching
    Pattern Matching
    Speedup
    Parallel Algorithms
    String Matching
    Deterministic Algorithm
    Matching Problem
    Parallel algorithms
    Automata
    Divide and conquer
    Parallel Architectures
    Monte Carlo Algorithm
    Linear-time Algorithm
    Fingerprint
    Periodicity
    Simplicity
    Parallel architectures
    Data Structures
    Computer Science
    Computer science

    ASJC Scopus subject areas

    • Control and Optimization
    • Computational Mathematics
    • Computational Theory and Mathematics

    Cite this

    Simple Optimal Parallel Multiple Pattern Matching. / Muthukrishnan, Shanmugavelayutham.

    In: Journal of Algorithms, Vol. 34, No. 1, 01.01.2000, p. 1-13.

    Research output: Contribution to journalArticle

    Muthukrishnan, Shanmugavelayutham. / Simple Optimal Parallel Multiple Pattern Matching. In: Journal of Algorithms. 2000 ; Vol. 34, No. 1. pp. 1-13.
    @article{1c6b126e4ba74a1aaee1b593d2911436,
    title = "Simple Optimal Parallel Multiple Pattern Matching",
    abstract = "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).",
    author = "Shanmugavelayutham Muthukrishnan",
    year = "2000",
    month = "1",
    day = "1",
    doi = "10.1006/jagm.1999.1015",
    language = "English (US)",
    volume = "34",
    pages = "1--13",
    journal = "Journal of Algorithms",
    issn = "0196-6774",
    publisher = "Academic Press Inc.",
    number = "1",

    }

    TY - JOUR

    T1 - Simple Optimal Parallel Multiple Pattern Matching

    AU - Muthukrishnan, Shanmugavelayutham

    PY - 2000/1/1

    Y1 - 2000/1/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

    VL - 34

    SP - 1

    EP - 13

    JO - Journal of Algorithms

    JF - Journal of Algorithms

    SN - 0196-6774

    IS - 1

    ER -