The streaming k-mismatch problem

Raphaël Clifford, Tomasz Kociumaka, Ely Porat

Research output: Contribution to conferencePaperpeer-review


We consider the streaming complexity of a fundamental task in approximate pattern matching: the k-mismatch problem. In this problem, we must compute Hamming distances between a pattern of length n and all length-n substrings of a text for which the Hamming distance does not exceed a given threshold k. In our problem formulation, we report not only the Hamming distance but also, on demand, the full mismatch information, that is the list of mismatched pairs of symbols and their indices. The twin challenges of streaming pattern matching derive from the need both to achieve small working space and also to guarantee that every arriving input symbol is processed quickly. We present a streaming algorithm for the k-mismatch problem which uses O(klog nlognk) bits of space and spends O(lognk(klog k+log3 n)) time on each symbol of the input stream. In our formulation, the pattern is also in the stream, arriving directly before the text. The running time almost matches the classic offline solution [5] and the space usage is within a logarithmic factor of optimal. Our new algorithm therefore effectively resolves and also extends a problem first introduced in FOCS’09 [38]. En route to this solution, we also give a deterministic O(k(lognk + log |Σ|))-bit encoding of all the alignments with Hamming distance at most k of a length-n pattern within a text of length O(n). This secondary result provides an optimal solution to a natural encoding problem which may be of independent interest.

Original languageEnglish
Number of pages20
StatePublished - 2019
Event30th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2019 - San Diego, United States
Duration: 6 Jan 20199 Jan 2019


Conference30th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2019
Country/TerritoryUnited States
CitySan Diego

All Science Journal Classification (ASJC) codes

  • Software
  • General Mathematics


Dive into the research topics of 'The streaming k-mismatch problem'. Together they form a unique fingerprint.

Cite this