Reversal distance for strings with duplicates: linear time approximation using hitting set (Q1010605)
From MaRDI portal
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | Reversal distance for strings with duplicates: linear time approximation using hitting set |
scientific article |
Statements
Reversal distance for strings with duplicates: linear time approximation using hitting set (English)
0 references
7 April 2009
0 references
Summary: In the last decade there has been an ongoing interest in string comparison problems; to a large extend the interest was stimulated by genome rearrangement problems in computational biology but related problems appear in many other areas of computer science. Particular attention has been given to the problem of Sorting By Reversals (SBR): given two strings, \(A\) and \(B\), find the minimum number of reversals that transform the string \(A\) into the string \(B\) (a reversal \(\rho(i,j), i<j\), transforms a string \(A=a_1\dots a_n\) into a string \(A'=a_1\dots a_{i-1} a_{j} a_{j-1} \dots a_{i} a_{j+1} \dots a_n\)). Closely related is the Minimum Common String Partition Problem (MCSP): given two strings, \(A\) and \(B\), find a minimum size partition of \(A\) into substrings \(P_1,\dots,P_l\) (i.e., \(A=P_1\dots P_l\)) and a partition of \(B\) into substrings \(Q_1,\dots,Q_l\) such that \((Q_1,\dots,Q_l)\) is a permutation of \((P_1,\dots,P_l)\). Primarily the SBR problem has been studied for strings in which every symbol appears exactly once (that is, for permutations) and only recently attention has been given to the general case where duplicates of the symbols are allowed. In this paper we consider the problem \(k\)-SBR, a version of SBR in which each symbol is allowed to appear up to \(k\) times in each string, for some \(k\geq 1\). The main result of the paper is a \(\Theta(k)\)-approximation algorithm for \(k\)-SBR running in time \(O(n)\); compared to the previously known algorithm for \(k\)-SBR, this is an improvement by a factor of \(\Theta(k)\) in the approximation ratio, and by a factor of \(\Theta(k)\) in the running time. We approach the \(k\)-SBR by finding an approximation for the \(k\)-MCSP first and then turning it into a solution for \(k\)-SBR. Crucial ingredients of our algorithm are the suffix tree data structure and a linear time algorithm for a special case of a disjoint set union problem.
0 references
string comparison
0 references
Minimum Common String Partition Problem
0 references