Abstract
In the pattern matching with d wildcards problem one is 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 arrives, 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 O~ (d1-δ) amortized time per character and O~ (d1+δ) 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(dlog m) words of space.
Original language | English |
---|---|
Pages (from-to) | 1988-2015 |
Number of pages | 28 |
Journal | Algorithmica |
Volume | 81 |
Issue number | 5 |
DOIs | |
State | Published - 15 May 2019 |
Bibliographical note
Publisher Copyright:© 2018, Springer Science+Business Media, LLC, part of Springer Nature.
Funding
Part of this work took place while the second author was at University of Michigan. This work is supported in part by NSF Grants CCF-1217338, CNS-1318294, and CCF-1514383, by ISF Grant 1278/16, and by the BIU Center for Research in Applied Cryptography and Cyber Security in conjunction with the Israel National Cyber Bureau in the Prime Minister’s Office. This project has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 683064).
Funders | Funder number |
---|---|
National Science Foundation | 1318294, CCF-1217338, CNS-1318294, CCF-1514383, 1217338 |
Horizon 2020 Framework Programme | 683064 |
Israel Society for Neuroscience | |
European Commission | |
Israel Science Foundation | 1278/16 |
Keywords
- Fingerprints
- Pattern matching
- Streaming algorithms
- String combinatorics