Streaming dictionary matching with mismatches

09/07/2018
by   Paweł Gawrychowski, et al.
0

In the k-mismatch problem we are given a pattern of length m and a text and must find all locations where the Hamming distance between the pattern and the text is at most k. A series of recent breakthroughs has resulted in an ultra-efficient streaming algorithm for this problem that requires only O(k m/k) space [Clifford, Kociumaka, Porat, 2017]. In this work we consider a strictly harder problem called dictionary matching with k mismatches, where we are given a dictionary of d patterns of lengths < m and must find all their k-mismatch occurrences in the text, and show the first streaming algorithm for it. The algorithm uses O(k d ^k d polylog m) space and processes each position of the text in O(k ^k+1 d polylog m + occ) time, where occ is the number of k-mismatch occurrences of the patterns that end at this position.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset

Sign in with Google

×

Use your Google Account to sign in to DeepAI

×

Consider DeepAI Pro