Optimal Speedups for Parallel Pattern Matching in Trees

Tree pattern matching is a fundamental operation that is used in a number of programming tasks such as code optimization in compilers, symbolic computation, automatic theorem proving and term rewriting. An important special case of this operation is linear tree pattern matching in which an instance of any variable in the pattern occurs at most once. If n and m are the number of nodes in the subject and pattern tree respectively and if no restriction is placed on the structure of the trees, then the fastest known sequential algorithm for linear tree pattern matching requires O(nm) time in the worst case.

[1]  I. V. Ramakrishnan,et al.  An Efficient Parallel Algorithm for Term Matching , 1986, FSTTCS.

[2]  Richard Cole,et al.  Deterministic coin tossing and accelerating cascades: micro and macro techniques for designing parallel algorithms , 1986, STOC '86.

[3]  George E. Collins,et al.  The SAC-1 system: An introduction and survey , 1971, SYMSAC '71.

[4]  Christoph M. Hoffmann,et al.  An interpreter generator using tree pattern matching , 1979, POPL.

[5]  Paul Walton Purdom,et al.  Fast Many-to-One Matching Algorithms , 1985, RTA.

[6]  Steven Fortune,et al.  Parallelism in random access machines , 1978, STOC.

[7]  Robert E. Tarjan,et al.  Finding Biconnected Components and Computing Tree Functions in Logarithmic Parallel Time (Extended Summary) , 1984, FOCS.

[8]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[9]  Uzi Vishkin,et al.  Optimal Parallel Pattern Matching in Strings (Extended Summary) , 1985, ICALP.

[10]  Hans H. Kron,et al.  Tree templates and subtree transformational grammars. , 1975 .

[11]  Alfred V. Aho,et al.  Efficient Tree Pattern Matching: An Aid to Code Generation. , 1985 .

[12]  Arnold L. Rosenberg,et al.  Rapid identification of repeated patterns in strings, trees and arrays , 1972, STOC.

[13]  I. V. Ramakrishnan,et al.  Term Matching on Parallel Computers , 1987, ICALP.

[14]  Christoph M. Hoffmann,et al.  Pattern Matching in Trees , 1982, JACM.

[15]  Cynthia Dwork,et al.  Parallel Algorithms for Term Matching , 1986, CADE.

[16]  Ellis Horowitz,et al.  Abstract data types and software validation , 1978, CACM.