Streaming Pattern Matching with d Wildcards

Shay Golan, Tsvi Kopelowitz, Ely Porat
2018 Algorithmica  
In the pattern matching with d wildcards problem we are given a text T of length n and a pattern P of length m that contains d wildcard characters, each denoted by a special symbol ? . A wildcard character matches any other character. The goal is to establish for each m-length substring of T whether it matches P . In the streaming model variant of the pattern matching with d wildcards problem the text T arrives one character at a time and the goal is to report, before the next character
more » ... if the last m characters match P while using only o(m) words of space. In this paper we introduce two new algorithms for the d wildcard pattern matching problem in the streaming model. The first is a randomized Monte Carlo algorithm that is parameterized by a constant 0 ≤ δ ≤ 1. This algorithm usesÕ(d 1−δ ) amortized time per character andÕ(d 1+δ ) words of space. The second algorithm, which is used as a black box in the first algorithm, is a randomized Monte Carlo algorithm which uses O(d + log m) worst-case time per character and O(d log m) words of space. ACM Subject Classification F.2.2 Nonnumerical Algorithms and Problems
doi:10.1007/s00453-018-0521-7 fatcat:4o5dz44ja5gcdkci2kvbtlpwba