scispace - formally typeset
Open AccessPosted Content

Faster Approximate Pattern Matching: A Unified Approach

TLDR
A unified framework for approximate pattern matching for both considered distances is obtained and meta-algorithms that only rely on a small set of primitive operations are provided that provide generality with results for the fully compressed setting, the dynamic setting, and the standard setting.
Abstract: 
Approximate pattern matching is a natural and well-studied problem on strings: Given a text $T$, a pattern $P$, and a threshold $k$, find (the starting positions of) all substrings of $T$ that are at distance at most $k$ from $P$. We consider the two most fundamental string metrics: the Hamming distance and the edit distance. Under the Hamming distance, we search for substrings of $T$ that have at most $k$ mismatches with $P$, while under the edit distance, we search for substrings of $T$ that can be transformed to $P$ with at most $k$ edits. Exact occurrences of $P$ in $T$ have a very simple structure: If we assume for simplicity that $|T| \le 3|P|/2$ and trim $T$ so that $P$ occurs both as a prefix and as a suffix of $T$, then both $P$ and $T$ are periodic with a common period. However, an analogous characterization for the structure of occurrences with up to $k$ mismatches was proved only recently by Bringmann et al. [SODA'19]: Either there are $O(k^2)$ $k$-mismatch occurrences of $P$ in $T$, or both $P$ and $T$ are at Hamming distance $O(k)$ from strings with a common period $O(m/k)$. We tighten this characterization by showing that there are $O(k)$ $k$-mismatch occurrences in the case when the pattern is not (approximately) periodic, and we lift it to the edit distance setting, where we tightly bound the number of $k$-edit occurrences by $O(k^2)$ in the non-periodic case. Our proofs are constructive and let us obtain a unified framework for approximate pattern matching for both considered distances. We showcase the generality of our framework with results for the fully-compressed setting (where $T$ and $P$ are given as a straight-line program) and for the dynamic setting (where we extend a data structure of Gawrychowski et al. [SODA'18]).

read more

Citations
More filters

Maintaining dynamic sequences under equality-tests in polylogarithmic time

TL;DR: In this article, a deterministic and randomized data structure for maintaining a dynamic family of sequences under equality tests of pairs of sequences and creations of new sequences by joining or splitting existing sequences was presented.
Journal ArticleDOI

Dynamic and Internal Longest Common Substring

TL;DR: The first solution to the fully dynamic LCS problem requiring sublinear time in n per edit operation is presented, and dynamic sublinear-time algorithms for both the longest palindrome and Lyndon factorization of a string after a single edit operation are developed.
Proceedings ArticleDOI

Dynamic Longest Common Substring in Polylogarithmic Time

TL;DR: In this article, a significantly faster algorithm that processes each substitution in amortized log Ç«(1) n time with high probability was proposed, which relies on exploiting the local consistency of the parsing of a collection of dynamic strings, and on maintaining two dynamic trees with labeled bicolored leaves.
Posted Content

Dynamic Longest Common Substring in Polylogarithmic Time

TL;DR: This work designs a significantly faster algorithm that processes each substitution in amortized $\log^{\mathcal{O}(1)} n$ time with high probability, and complements this with a lower bound of $\Omega(\log n/ \log\log n)$ for the update time of any polynomial-size data structure that maintains the LCS of two dynamic strings, and the same lower bound for a data structure of size $\tilde{O}}(n)
Proceedings ArticleDOI

Dynamic suffix array with polylogarithmic queries and updates

TL;DR: This work proposes the first data structure that supports both suffix array queries and text updates in O(polylog n) time (achieving O( log4 n) and O(log3+o(1) n)time, respectively).
References
More filters
Journal ArticleDOI

A universal algorithm for sequential data compression

TL;DR: The compression ratio achieved by the proposed universal code uniformly approaches the lower bounds on the compression ratios attainable by block-to-variable codes and variable- to-block codes designed to match a completely specified source.
Journal ArticleDOI

Compression of individual sequences via variable-rate coding

TL;DR: The proposed concept of compressibility is shown to play a role analogous to that of entropy in classical information theory where one deals with probabilistic ensembles of sequences rather than with individual sequences.
Journal ArticleDOI

Efficient string matching: an aid to bibliographic search

TL;DR: A simple, efficient algorithm to locate all occurrences of any of a finite number of keywords in a string of text that has been used to improve the speed of a library bibliographic search program by a factor of 5 to 10.

A Block-sorting Lossless Data Compression Algorithm

TL;DR: A block-sorting, lossless data compression algorithm, and the implementation of that algorithm and the performance of the implementation with widely available data compressors running on the same hardware are compared.
Journal ArticleDOI

On the Complexity of Finite Sequences

TL;DR: A new approach to the problem of evaluating the complexity ("randomness") of finite sequences is presented, related to the number of steps in a self-delimiting production process by which a given sequence is presumed to be generated.
Related Papers (5)