Function matching: Algorithms, applications, and a lower bound

Amihood Amir, Yonatan Aumann, Richard Cole, Moshe Lewenstein, Ely Porat

Research output: Contribution to journalArticle

Abstract

We introduce a new matching criterion - function matching - that captures several different applications. The function matching problem has as its input a text T of length n over alphabet Σ T and a pattern P = P[1]P[2] ⋯ P[m] of length m over alphabet Σ P. We seek all text locations i for which, for some function f : Σ P > Σ T (f may also depend on i), the m-length substring that starts at i is equal to f(P[1])f(P[2])⋯f(P[m]). We give a randomized algorithm which, for any given constant k, solves the function matching problem in time O(n log n) with probability 1/n k of declaring a false positive. We give a deterministic algorithm whose time is O(n|Σ P|log m) and show that it is almost optimal in the newly formalized convolutions model. Finally, a variant of the third problem is solved by means of two-dimensional parameterized matching, for which we also give an efficient algorithm.

Original languageEnglish (US)
Pages (from-to)929-942
Number of pages14
JournalLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume2719
StatePublished - 2003

Fingerprint

Matching Algorithm
Lower bound
Matching Problem
Deterministic Algorithm
Randomized Algorithms
Convolution
False Positive
Efficient Algorithms
Text
Model

Keywords

  • Color indexing
  • Function matching
  • Parameterized matching
  • Pattern matching
  • Protein folding
  • Register allocation

ASJC Scopus subject areas

  • Computer Science(all)
  • Biochemistry, Genetics and Molecular Biology(all)
  • Theoretical Computer Science

Cite this

Function matching : Algorithms, applications, and a lower bound. / Amir, Amihood; Aumann, Yonatan; Cole, Richard; Lewenstein, Moshe; Porat, Ely.

In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Vol. 2719, 2003, p. 929-942.

Research output: Contribution to journalArticle

@article{eff2b4abf48647218b2cf6a72aafc09a,
title = "Function matching: Algorithms, applications, and a lower bound",
abstract = "We introduce a new matching criterion - function matching - that captures several different applications. The function matching problem has as its input a text T of length n over alphabet Σ T and a pattern P = P[1]P[2] ⋯ P[m] of length m over alphabet Σ P. We seek all text locations i for which, for some function f : Σ P > Σ T (f may also depend on i), the m-length substring that starts at i is equal to f(P[1])f(P[2])⋯f(P[m]). We give a randomized algorithm which, for any given constant k, solves the function matching problem in time O(n log n) with probability 1/n k of declaring a false positive. We give a deterministic algorithm whose time is O(n|Σ P|log m) and show that it is almost optimal in the newly formalized convolutions model. Finally, a variant of the third problem is solved by means of two-dimensional parameterized matching, for which we also give an efficient algorithm.",
keywords = "Color indexing, Function matching, Parameterized matching, Pattern matching, Protein folding, Register allocation",
author = "Amihood Amir and Yonatan Aumann and Richard Cole and Moshe Lewenstein and Ely Porat",
year = "2003",
language = "English (US)",
volume = "2719",
pages = "929--942",
journal = "Lecture Notes in Computer Science",
issn = "0302-9743",
publisher = "Springer Verlag",

}

TY - JOUR

T1 - Function matching

T2 - Algorithms, applications, and a lower bound

AU - Amir, Amihood

AU - Aumann, Yonatan

AU - Cole, Richard

AU - Lewenstein, Moshe

AU - Porat, Ely

PY - 2003

Y1 - 2003

N2 - We introduce a new matching criterion - function matching - that captures several different applications. The function matching problem has as its input a text T of length n over alphabet Σ T and a pattern P = P[1]P[2] ⋯ P[m] of length m over alphabet Σ P. We seek all text locations i for which, for some function f : Σ P > Σ T (f may also depend on i), the m-length substring that starts at i is equal to f(P[1])f(P[2])⋯f(P[m]). We give a randomized algorithm which, for any given constant k, solves the function matching problem in time O(n log n) with probability 1/n k of declaring a false positive. We give a deterministic algorithm whose time is O(n|Σ P|log m) and show that it is almost optimal in the newly formalized convolutions model. Finally, a variant of the third problem is solved by means of two-dimensional parameterized matching, for which we also give an efficient algorithm.

AB - We introduce a new matching criterion - function matching - that captures several different applications. The function matching problem has as its input a text T of length n over alphabet Σ T and a pattern P = P[1]P[2] ⋯ P[m] of length m over alphabet Σ P. We seek all text locations i for which, for some function f : Σ P > Σ T (f may also depend on i), the m-length substring that starts at i is equal to f(P[1])f(P[2])⋯f(P[m]). We give a randomized algorithm which, for any given constant k, solves the function matching problem in time O(n log n) with probability 1/n k of declaring a false positive. We give a deterministic algorithm whose time is O(n|Σ P|log m) and show that it is almost optimal in the newly formalized convolutions model. Finally, a variant of the third problem is solved by means of two-dimensional parameterized matching, for which we also give an efficient algorithm.

KW - Color indexing

KW - Function matching

KW - Parameterized matching

KW - Pattern matching

KW - Protein folding

KW - Register allocation

UR - http://www.scopus.com/inward/record.url?scp=35248829485&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=35248829485&partnerID=8YFLogxK

M3 - Article

AN - SCOPUS:35248829485

VL - 2719

SP - 929

EP - 942

JO - Lecture Notes in Computer Science

JF - Lecture Notes in Computer Science

SN - 0302-9743

ER -