Efficient edit distance with duplications and contractions

Tamar Pinhas, Shay Zakov, Dekel Tsur, Michal Ziv-Ukelson

Research output: Contribution to journalArticlepeer-review

7 Scopus citations


We propose three algorithms for string edit distance with duplications and contractions. These include an efficient general algorithm and two improvements which apply under certain constraints on the cost function. The new algorithms solve a more general problem variant and obtain better time complexities with respect to previous algorithms. Our general algorithm is based on min-plus multiplication of square matrices and has time and space complexities of O (|Σ|MP(n)) and O (|Σ|n2), respectively, where |Σ| is the alphabet size, n is the length of the strings, and MP(n) is the time bound for the computation of min-plus matrix multiplication of two n × n matrices (currently, MP(n) = O(n3log3log n/log2 n) due to an algorithm by Chan). For integer cost functions, the running time is further improved to O(|Σ|n3/log2 n). In addition, this variant of the algorithm is online, in the sense that the input strings may be given letter by letter, and its time complexity bounds the processing time of the first n given letters. This acceleration is based on our efficient matrix-vector min-plus multiplication algorithm, intended for matrices and vectors for which differences between adjacent entries are from a finite integer interval D. Choosing a constant 1/log|D| n < λ < 1, the algorithm preprocesses an n × n matrix in O(n2+λ/|D|λ2 log|D|2 n) space. Then, it may multiply the matrix with any given n-length vector in O(n22 log|D|2 n) time. Under some discreteness assumptions, this matrix-vector min-plus multiplication algorithm applies to several problems from the domains of context-free grammar parsing and RNA folding and, in particular, implies the asymptotically fastest O(n3/log2 n) time algorithm for single-strand RNA folding with discrete cost functions. Finally, assuming a different constraint on the cost function, we present another version of the algorithm that exploits the run-length encoding of the strings and runs in O(|Σ|nMP(ñ)/ñ) time and O(|Σ|nñ) space, where ñ is the length of the run-length encoding of the strings.

Original languageEnglish
Article number27
JournalAlgorithms for Molecular Biology
Issue number1
StatePublished - 29 Oct 2013


  • Edit distance
  • Four Russians
  • Min-plus matrix multiplication
  • Minisatellites

ASJC Scopus subject areas

  • Structural Biology
  • Molecular Biology
  • Computational Theory and Mathematics
  • Applied Mathematics


Dive into the research topics of 'Efficient edit distance with duplications and contractions'. Together they form a unique fingerprint.

Cite this