Pattern matching in multiple streams

Raphaël Clifford, Markus Jalsenius, Ely Porat, Benjamin Sach

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

Abstract

We investigate the problem of deterministic pattern matching in multiple streams. In this model, one symbol arrives at a time and is associated with one of s streaming texts. The task at each time step is to report if there is a new match between a fixed pattern of length m and a newly updated stream. As is usual in the streaming context, the goal is to use as little space as possible while still reporting matches quickly. We give almost matching upper and lower space bounds for three distinct pattern matching problems. For exact matching we show that the problem can be solved in constant time per arriving symbol and O(m + s) words of space. For the k-mismatch and k-difference problems we give O(k) time solutions that require O(m + ks) words of space. In all three cases we also give space lower bounds which show our methods are optimal up to a single logarithmic factor. Finally we set out a number of open problems related to this new model for pattern matching.

Original languageEnglish
Title of host publicationCombinatorial Pattern Matching - 23rd Annual Symposium, CPM 2012, Proceedings
Pages97-109
Number of pages13
DOIs
StatePublished - 2012
Event23rd Annual Symposium on Combinatorial Pattern Matching, CPM 2012 - Helsinki, Finland
Duration: 3 Jul 20125 Jul 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7354 LNCS

Conference

Conference23rd Annual Symposium on Combinatorial Pattern Matching, CPM 2012
Country/TerritoryFinland
CityHelsinki
Period3/07/125/07/12

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Pattern matching in multiple streams'. Together they form a unique fingerprint.

Cite this