Function matching

Research output: Contribution to journalArticlepeer-review

20 Scopus citations


We present problems in the following three application areas: identifying similar codes in which global register reallocation and spill code minimization were done (programming languages); protein threading (computational biology); and searching for color icons under different color maps (image processing). We introduce a new search model called function matching that enables us to solve the above problems. The function matching problem has as its input a text T of length n over alphabet ET and a pattern P = P[1]P[2] ⋯ P[m] of length m over alphabet ΣP. We seek all text locations i, where the m-length substring that starts at i is equal to f(P[1])/(P[2]) ⋯ f(P[m]), for some function f : ΣP → ΣT. We give a randomized algorithm that solves the function matching problem in time O(n log n) with probability 1/n of declaring a false positive. We give a deterministic algorithm whose time is O(n|ΣP| log m) and show that it is optimal in the convolutions model. We use function matching to efficiently solve the problem of two-dimensional parameterized matching.

Original languageEnglish
Pages (from-to)1007-1022
Number of pages16
JournalSIAM Journal on Computing
Issue number5
StatePublished - 2006


  • Color maps
  • Function matching
  • Parameterized matching
  • Pattern matching


Dive into the research topics of 'Function matching'. Together they form a unique fingerprint.

Cite this