Edit Distance with Move Operations
The traditional edit-distance problem is to find the minimum number of insert-character and delete-character (and sometimes change character) operations required to transform one string into another. Here we consider the more general problem of strings being represented by a singly linked list (one character per node) and being able to apply these operations to the pointer associated with a vertex as well as the character associated with the vertex. That is, in O(1) time, not only can characters be inserted or deleted, but also substrings can be moved or deleted. We limit our attention to the ability to move substrings and leave substring deletions for future research. Note that O(1) time substring move operations imply O(1) substring exchange operations as well, a form of transformation that has been of interest in molecular biology. We show that this problem is NP-complete, show that a “recursive” sequence of moves can be simulated with at most a constant factor increase by a non-recursive sequence, and present a polynomial time greedy algorithm for non-recursive moves with a worst-case log factor approximation to optimal. The development of this greedy algorithm shows how to reduce moves of substrings to moves of characters, and how to convert moves with characters to only insert and deletes of characters.
KeywordsGreedy Algorithm Edit Distance Optimal Block Move Operation Primary Block
Unable to display preview. Download preview PDF.
- 1.Bafna V. AND Pevzner P.A., Genome rearrangements and sorting by reversals, 34th IEEE Symposium on Foundations of Computer Science, (1993) 148–157Google Scholar
- 5.Hannenhalli S., Polynomial-time Algorithm for Computing Translocation Distance between Genomes CPM, (1996) 162–176Google Scholar
- 7.Liben-Nowell D., On the Structure of Syntenic Distance, CPM, (1999) 50–65Google Scholar
- 9.Muthukrishnan S. AND Sahinalp S.C., Approximate nearest neighbors and sequence comparison with block operations, STOC’00, ACM Symposium on Theory of Computing, (2000) 416–424Google Scholar
- 11.Storer J. A., An Introduction to Data Structures and Algorithms, Birkhauser-Springer, (2001)Google Scholar