Streaming with Oracle: New Streaming Algorithms for Edit Distance and LCS
The edit distance (ED) and longest common subsequence (LCS) are two fundamental problems which quantify how similar two strings are to one another. In this paper, we consider these problems in the streaming model where one string is available via oracle queries and the other string comes as a stream of characters. Our main contribution is a constant factor approximation algorithm in this setting for ED with memory O(n^δ) for any δ > 0. In addition to this, we present an upper bound of Õ(√(n)) on the memory needed to approximate ED or LCS within a factor 1+o(1) in our setting. All our algorithms run in a single pass. For approximating ED within a constant factor, we discover yet another application of triangle inequality, this time in the context of streaming algorithms. Triangle inequality has been previously used to obtain subquadratic time approximation algorithms for ED. Our technique is novel and elegantly utilizes triangle inequality to save memory at the expense of an exponential increase in the runtime.
READ FULL TEXT