TY - GEN
T1 - A unified algorithm for accelerating edit-distance computation via text-compression
AU - Hermelin, Danny
AU - Landau, Gad M.
AU - Landau, Shir
AU - Weimann, Oren
PY - 2009
Y1 - 2009
N2 - The edit distance problem is a classical fundamental problem in computer science in general, and in combinatorial pattern matching in particular. The standard dynamic-programming solution for this problem computes the edit-distance between a pair of strings of total length O(N) in O(N2) time. To this date, this quadratic upper-bound has never been substantially improved for general strings. However, there are known techniques for breaking this bound in case the strings are known to compress well under a particular compression scheme. The basic idea is to first compress the strings, and then to compute the edit distance between the compressed strings. As it turns out, practically all known o(N2) edit-distance algorithms work, in some sense, under the same paradigm described above. It is therefore natural to ask whether there is a single edit-distance algorithm that works for strings which are compressed under any compression scheme. A rephrasing of this question is to ask whether a single algorithm can exploit the compressibility properties of strings under any compression method, even if each string is compressed using a different compression. In this paper we set out to answer this question by using straight-line programs. These provide a generic platform for representing many popular compression schemes including the LZ-family, Run-Length Encoding, Byte-Pair Encoding, and dictionary methods. For two strings of total length N having straight-line program representations of total size n, we present an algorithm running in O(n1.4N1.2) time for computing the edit-distance of these two strings under any rational scoring function, and an O(n1.34N1.34)-time algorithm for arbitrary scoring functions. This improves on a recent algorithm of Tiskin that runs in O(nN 1.5) time, and works only for rational scoring functions.
AB - The edit distance problem is a classical fundamental problem in computer science in general, and in combinatorial pattern matching in particular. The standard dynamic-programming solution for this problem computes the edit-distance between a pair of strings of total length O(N) in O(N2) time. To this date, this quadratic upper-bound has never been substantially improved for general strings. However, there are known techniques for breaking this bound in case the strings are known to compress well under a particular compression scheme. The basic idea is to first compress the strings, and then to compute the edit distance between the compressed strings. As it turns out, practically all known o(N2) edit-distance algorithms work, in some sense, under the same paradigm described above. It is therefore natural to ask whether there is a single edit-distance algorithm that works for strings which are compressed under any compression scheme. A rephrasing of this question is to ask whether a single algorithm can exploit the compressibility properties of strings under any compression method, even if each string is compressed using a different compression. In this paper we set out to answer this question by using straight-line programs. These provide a generic platform for representing many popular compression schemes including the LZ-family, Run-Length Encoding, Byte-Pair Encoding, and dictionary methods. For two strings of total length N having straight-line program representations of total size n, we present an algorithm running in O(n1.4N1.2) time for computing the edit-distance of these two strings under any rational scoring function, and an O(n1.34N1.34)-time algorithm for arbitrary scoring functions. This improves on a recent algorithm of Tiskin that runs in O(nN 1.5) time, and works only for rational scoring functions.
KW - Combinatorial pattern matching
KW - Dynamic programming acceleration via compression
KW - Edit distance
KW - Straight-line programs
UR - http://www.scopus.com/inward/record.url?scp=84880203708&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:84880203708
SN - 9783939897095
T3 - Leibniz International Proceedings in Informatics, LIPIcs
SP - 529
EP - 540
BT - STACS 2009 - 26th International Symposium on Theoretical Aspects of Computer Science
T2 - 26th International Symposium on Theoretical Aspects of Computer Science, STACS 2009
Y2 - 26 February 2009 through 28 February 2009
ER -