Source author record

Roman Kolpakov

Explore this author’s publications, collaborators and research topics. This catalog record has not been claimed by its author.

ResearcherUnclaimed source record

Catalog footprint

Research overview

9works
5topics
4close collaborators

Published work

9 publications

preprint2022arXiv

Almost optimal searching of maximal subrepetitions in a word

For 0<δ<10<δ<1 a δδ-subrepetition in a word is a factor which exponent is less than~2 but is not less than 1+δ1+δ (the exponent of the factor is the ratio of the factor length to its minimal period). The δδ-subrepetition is maximal if it cannot be extended to the left or to the right by at least one letter with preserving its minimal period. In the paper we propose an algorithm for searching all maximal δδ-subrepetitions in a word of length~nn in O(nδlog⁡1δ)O(\frac{n}δ\log\frac{1}δ) time (the lower bound for this time is Ω(nδ)Ω(\frac{n}δ)).

preprint2016arXiv

Indexing and querying color sets of images

We aim to study the set of color sets of continuous regions of an image given as a matrix of mm rows over n≥mn\geq m columns where each element in the matrix is an integer from [1,σ][1,σ] named a {\em color}. The set of distinct colors in a region is called fingerprint. We aim to compute, index and query the fingerprints of all rectangular regions named rectangles. The set of all such fingerprints is denoted by F{\cal F}. A rectangle is {\em maximal} if it is not contained in a greater rectangle with the same fingerprint. The set of all locations of maximal rectangles is denoted by L.\mathcal{L}. We first explain how to determine all the ∣L∣|\mathcal{L}| maximal locations with their fingerprints in expected time O(nm2σ)O(nm^2σ) using a Monte Carlo algorithm (with polynomially small probability of error) or within deterministic O(nm2σlog⁡(∣L∣nm2+2))O(nm^2σ\log(\frac{|\mathcal{L}|}{nm^2}+2)) time. We then show how to build a data structure which occupies O(nmlog⁡n+∣L∣)O(nm\log n+\mathcal{|L|}) space such that a query which asks for all the maximal locations with a given fingerprint ff can be answered in time O(∣f∣+log⁡log⁡n+k)O(|f|+\log\log n+k), where kk is the number of maximal locations with fingerprint ff. If the query asks only for the presence of the fingerprint, then the space usage becomes O(nmlog⁡n+∣F∣)O(nm\log n+|{\cal F}|) while the query time becomes O(∣f∣+log⁡log⁡n)O(|f|+\log\log n). We eventually consider the special case of squared regions (squares).

preprint2015arXiv

Optimal searching of gapped repeats in a word

Following (Kolpakov et al., 2013; Gawrychowski and Manea, 2015), we continue the study of {\em αα-gapped repeats} in strings, defined as factors uvuuvu with ∣uv∣≤α∣u∣|uv|\leq α|u|. Our main result is the O(αn)O(αn) bound on the number of {\em maximal} αα-gapped repeats in a string of length nn, previously proved to be O(α2n)O(α^2 n) in (Kolpakov et al., 2013). For a closely related notion of maximal δδ-subrepetition (maximal factors of exponent between 1+δ1+δ and 22), our result implies the O(n/δ)O(n/δ) bound on their number, which improves the bound of (Kolpakov et al., 2010) by a log⁡n\log n factor. We also prove an algorithmic time bound O(αn+S)O(αn+S) (SS size of the output) for computing all maximal αα-gapped repeats. Our solution, inspired by (Gawrychowski and Manea, 2015), is different from the recently published proof by (Tanimura et al., 2015) of the same bound. Together with our bound on SS, this implies an O(αn)O(αn)-time algorithm for computing all maximal αα-gapped repeats.

preprint2015arXiv

Upper bound on the number of steps for solving the subset sum problem by the Branch-and-Bound method

We study the computational complexity of one of the particular cases of the knapsack problem: the subset sum problem. For solving this problem we consider one of the basic variants of the Branch-and-Bound method in which any sub-problem is decomposed along the free variable with the maximal weight. By the complexity of solving a problem by the Branch-and-Bound method we mean the number of steps required for solving the problem by this method. In the paper we obtain upper bounds on the complexity of solving the subset sum problem by the Branch-and-Bound method. These bounds can be easily computed from the input data of the problem. So these bounds can be used for the the preliminary estimation of the computational resources required for solving the subset sum problem by the Branch-and-Bound method.

preprint2013arXiv

Searching of gapped repeats and subrepetitions in a word

A gapped repeat is a factor of the form uvuuvu where uu and vv are nonempty words. The period of the gapped repeat is defined as ∣u∣+∣v∣|u|+|v|. The gapped repeat is maximal if it cannot be extended to the left or to the right by at least one letter with preserving its period. The gapped repeat is called αα-gapped if its period is not greater than α∣v∣α|v|. A δδ-subrepetition is a factor which exponent is less than 2 but is not less than 1+δ1+δ (the exponent of the factor is the quotient of the length and the minimal period of the factor). The δδ-subrepetition is maximal if it cannot be extended to the left or to the right by at least one letter with preserving its minimal period. We reveal a close relation between maximal gapped repeats and maximal subrepetitions. Moreover, we show that in a word of length nn the number of maximal αα-gapped repeats is bounded by O(α2n)O(α^2n) and the number of maximal δδ-subrepetitions is bounded by O(n/δ2)O(n/δ^2). Using the obtained upper bounds, we propose algorithms for finding all maximal αα-gapped repeats and all maximal δδ-subrepetitions in a word of length nn. The algorithm for finding all maximal αα-gapped repeats has O(α2n)O(α^2n) time complexity for the case of constant alphabet size and O(nlog⁡n+α2n)O(n\log n + α^2n) time complexity for the general case. For finding all maximal δδ-subrepetitions we propose two algorithms. The first algorithm has O(nlog⁡log⁡nδ2)O(\frac{n\log\log n}{δ^2}) time complexity for the case of constant alphabet size and O(nlog⁡n+nlog⁡log⁡nδ2)O(n\log n +\frac{n\log\log n}{δ^2}) time complexity for the general case. The second algorithm has O(nlog⁡n+nδ2log⁡1δ)O(n\log n+\frac{n}{δ^2}\log \frac{1}δ) expected time complexity.

preprint2013arXiv

Various improvements to text fingerprinting

Let s = s_1 .. s_n be a text (or sequence) on a finite alphabet Σof size σ. A fingerprint in s is the set of distinct characters appearing in one of its substrings. The problem considered here is to compute the set {\cal F} of all fingerprints of all substrings of s in order to answer efficiently certain questions on this set. A substring s_i .. s_j is a maximal location for a fingerprint f in F (denoted by <i,j>) if the alphabet of s_i .. s_j is f and s_{i-1}, s_{j+1}, if defined, are not in f. The set of maximal locations ins is {\cal L} (it is easy to see that |{\cal L}| \leq n σ). Two maximal locations <i,j> and <k,l> such that s_i .. s_j = s_k .. s_l are named {\em copies}, and the quotient set of {\cal L} according to the copy relation is denoted by {\cal L}_C. We present new exact and approximate efficient algorithms and data structures for the following three problems: (1) to compute {\cal F}; (2) given f as a set of distinct characters in Σ, to answer if f represents a fingerprint in {\cal F}; (3) given f, to find all maximal locations of f in s.

preprint2011arXiv

Linear pattern matching on sparse suffix trees

Packing several characters into one computer word is a simple and natural way to compress the representation of a string and to speed up its processing. Exploiting this idea, we propose an index for a packed string, based on a {\em sparse suffix tree} \cite{KU-96} with appropriately defined suffix links. Assuming, under the standard unit-cost RAM model, that a word can store up to log⁡σn\log_σn characters (σσ the alphabet size), our index takes O(n/log⁡σn)O(n/\log_σn) space, i.e. the same space as the packed string itself. The resulting pattern matching algorithm runs in time O(m+r2+r⋅occ)O(m+r^2+r\cdot occ), where mm is the length of the pattern, rr is the actual number of characters stored in a word and occocc is the number of pattern occurrences.

Research graph

See the researcher in context

Open full explorer

Inspect adjacent papers, topics, institutions and collaborators without losing the researcher page.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.