Pseudo-realtime pattern matching: closing the gap
CPM'10 Proceedings of the 21st annual conference on Combinatorial pattern matching
APPROX/RANDOM'10 Proceedings of the 13th international conference on Approximation, and 14 the International conference on Randomization, and combinatorial optimization: algorithms and techniques
Superselectors: efficient constructions and applications
ESA'10 Proceedings of the 18th annual European conference on Algorithms: Part I
Real-time streaming string-matching
CPM'11 Proceedings of the 22nd annual conference on Combinatorial pattern matching
Simple real-time constant-space string matching
CPM'11 Proceedings of the 22nd annual conference on Combinatorial pattern matching
Space lower bounds for online pattern matching
CPM'11 Proceedings of the 22nd annual conference on Combinatorial pattern matching
Periodicity and cyclic shifts via linear sketches
APPROX'11/RANDOM'11 Proceedings of the 14th international workshop and 15th international conference on Approximation, randomization, and combinatorial optimization: algorithms and techniques
Pattern matching in multiple streams
CPM'12 Proceedings of the 23rd Annual conference on Combinatorial Pattern Matching
Parikh matching in the streaming model
SPIRE'12 Proceedings of the 19th international conference on String Processing and Information Retrieval
Space lower bounds for online pattern matching
Theoretical Computer Science
Simple real-time constant-space string matching
Theoretical Computer Science
Homomorphic fingerprints under misalignments: sketching edit and shift distances
Proceedings of the forty-fifth annual ACM symposium on Theory of computing
Fingerprints in compressed strings
WADS'13 Proceedings of the 13th international conference on Algorithms and Data Structures
Hi-index | 0.00 |
We present a fully online randomized algorithm for the classical pattern matching problem that uses merely O(log m) space, breaking the O(m) barrier that held for this problem for a long time. Our method can be used as a tool in many practical applications, including monitoring Internet traffic and firewall applications. In our online model we first receive the pattern P of size m and preprocess it. After the preprocessing phase, the characters of the text T of size n arrive one at a time in an online fashion. For each index of the text input we indicate whether the pattern matches the text at that location index or not. Clearly, for index i, an indication can only be given once all characters from index i till index i+m-1 have arrived. Our goal is to provide such answers while using minimal space, and while spending as little time as possible on each character (time and space which are in O(poly(log n)) ).We present an algorithm whereby both false positive and false negative answers are allowed with probability of at most 1/n^3. Thus, overall, the correct answer for all positions is returned with a probability of 1/n^2. The time which our algorithm spends on each input character is bounded by O(log m), and the space complexity is O(log m) words. We also present a solution in the same model for the pattern matching with k mismatches problem. In this problem, a match means allowing up to k symbol mismatches between the pattern and the subtext beginning at index i. We provide an algorithm in which the time spent on each character is bounded by O(k^2*poly(log m)), and the space complexity is O(k^3*poly(log m)) words.