Dynamic Pattern Matching with Wildcards
Arshia Ataee Naeini, Amir-Parsa Mobed, Masoud Seddighin, Saeed Seddighin
TL;DR
The paper studies fully dynamic pattern matching with wildcards, where both the text and pattern may be updated and wildcards may appear on either side. It introduces a randomized framework with $O(n \log^2 n)$ preprocessing and amortized $\tilde{O}\left(k n^{\frac{k}{k+1}} + k^2 \log n\right)$ update/query time, achieving truly sublinear performance for constant $k$ and for $k = o(\log n)$. A conditional lower bound based on SETH shows that truly sublinear updates cannot be achieved for $k = \Omega(\log n)$ with subquadratic preprocessing. The authors also present two sparse-pattern subroutines: (i) a deterministic FFT+block approach for at most two non-wildcards with preprocessing $O(n^{9/5})$ and update/query $O(n^{4/5}\log n)$, and (ii) a randomized fixed-wildcard-position method with $O(n \omega)$ preprocessing and $O(\omega + \log n)$ updates, where $\omega$ is the number of non-wildcards. These results map the complexity landscape of dynamic wildcard matching and illuminate the trade-offs between preprocessing, update, and query times under structural constraints on the pattern.
Abstract
We study the fully dynamic pattern matching problem where the pattern may contain up to kwildcard symbols, each matching any symbol of the alphabet. Both the text and the pattern are subject to updates (insert, delete, change). We design an algorithm with O(nlog^2 n) preprocessing and update/query time O(knk/k+1 + k2 log n). The bound is truly sublinear for a constant k, and sublinear when k= o(log n). We further complement our results with a conditional lower bound: assuming subquadratic preprocessing time, achieving truly sublinear update time for the case k = Ω(log n) would contradict the Strong Exponential Time Hypothesis (SETH). Finally, we develop sublinear algorithms for two special cases: - If the pattern contains w non-wildcard symbols, we give an algorithm with preprocessing time O(nw) and update time O(w + log n), which is truly sublinear whenever wis truly sublinear. - Using FFT technique combined with block decomposition, we design a deterministic truly sublinear algorithm with preprocessing time O(n^1.8) and update time O(n^0.8 log n) for the case that there are at most two non-wildcards.
