A black box for online approximate pattern matching

Raphaël Clifford, Klim Efremenko, Benny Porat, Ely Porat

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

11 Scopus citations

Abstract

We present a deterministic black box solution for online approximate matching. Given a pattern of length m and a streaming text of length n that arrives one character at a time, the task is to report the distance between the pattern and a sliding window of the text as soon as the new character arrives. Our solution requires time for each input character, where T(n,m) is the total running time of the best offline algorithm. The types of approximation that are supported include exact matching with wildcards, matching under the Hamming norm, approximating the Hamming norm, k-mismatch and numerical measures such as the L 2 and L 1 norms. For these examples, the resulting online algorithms take O(log2 m), O(√m log m), O(log 2 m/ε 2), O(√k log k log m) O(log2 m) and O(√m log m) time per character respectively. The space overhead is O(m) which we show is optimal.

Original languageEnglish
Title of host publicationCombinatorial Pattern Matching - 19th Annual Symposium, CPM 2008, Proceedings
Pages143-151
Number of pages9
DOIs
StatePublished - 1 Jul 2008
Externally publishedYes
Event19th Annual Symposium on Combinatorial Pattern Matching, CPM 2008 - Pisa, Italy
Duration: 18 Jun 200820 Jun 2008

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume5029 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference19th Annual Symposium on Combinatorial Pattern Matching, CPM 2008
Country/TerritoryItaly
CityPisa
Period18/06/0820/06/08

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'A black box for online approximate pattern matching'. Together they form a unique fingerprint.

Cite this