SearcharxivSearch

arXiv subjects

Dina Sokol

Publications and source records attributed to Dina Sokol.

4 recordsLinked to original sources

On Time-Memory Tradeoffs for Maximal Palindromes with Wildcards and $k$-Mismatches

This paper addresses the problem of identifying palindromic factors in texts that include wildcards -- special characters that match all others. These symbols challenge many classical algorithms, as numerous combinatorial properties are not satisfied in their presence. We apply existing wildcard-LCE techniques to obtain a continuous time-memory tradeoff, and present the first non-trivial linear-space algorithm for computing all maximal palindromes with wildcards, improving the best known time-memory product in certain parameter ranges. Our main results are algorithms to find and approximate all maximal palindromes in a given text. We also generalize both methods to the $k$-mismatches setting, with or without wildcards.

cs.DS

2-Dimensional Palindromes with $k$ Mismatches

This paper extends the problem of 2-dimensional palindrome search into the area of approximate matching. Using the Hamming distance as the measure, we search for 2D palindromes that allow up to $k$ mismatches. We consider two different definitions of 2D palindromes and describe efficient algorithms for both of them. The first definition implies a square, while the second definition (also known as a \emph{centrosymmetric factor}), can be any rectangular shape. Given a text of size $n \times m$, the time complexity of the first algorithm is $O(nm (\log m + \log n + k))$ and for the second algorithm it is $O(nm(\log m + k) + occ)$ where $occ$ is the size of the output.

cs.DS

Dynamic 2D Dictionary Matching in Small Space

The dictionary matching problem preprocesses a set of patterns and finds all occurrences of each of the patterns in a text when it is provided. We focus on the dynamic setting, in which patterns can be inserted to and removed from the dictionary, without reprocessing the entire dictionary. This article presents the first algorithm that performs \emph{dynamic} dictionary matching on two-dimensional data within small space. The time complexity of our algorithm is almost linear. The only slowdown is incurred by querying the compressed self-index that replaces the dictionary. The dictionary is updated in time proportional to the size of the pattern that is being inserted to or removed from the dictionary. Our algorithm is suitable for rectangular patterns that are of uniform size in one dimension.

cs.DS

2D Lyndon Words and Applications

A Lyndon word is a primitive string which is lexicographically smallest among cyclic permutations of its characters. Lyndon words are used for constructing bases in free Lie algebras, constructing de Bruijn sequences, finding the lexicographically smallest or largest substring in a string, and succinct suffix-prefix matching of highly periodic strings. In this paper, we extend the concept of the Lyndon word to two dimensions. We introduce the 2D Lyndon word and use it to capture 2D horizontal periodicity of a matrix in which each row is highly periodic, and to efficiently solve 2D horizontal suffix-prefix matching among a set of patterns. This yields a succinct and efficient algorithm for 2D dictionary matching. We present several algorithms that compute the 2D Lyndon word that represents a matrix. The final algorithm achieves linear time complexity even when the least common multiple of the periods of the rows is exponential in the matrix width.

cs.DS