Papers
Topics
Authors
Recent
Search
2000 character limit reached

Space efficient streaming algorithms for the distance to monotonicity and asymmetric edit distance

Published 5 Apr 2012 in cs.DS and cs.DM | (1204.1098v2)

Abstract: Approximating the length of the longest increasing sequence (LIS) of an array is a well-studied problem. We study this problem in the data stream model, where the algorithm is allowed to make a single left-to-right pass through the array and the key resource to be minimized is the amount of additional memory used. We present an algorithm which, for any $\delta &gt; 0$, given streaming access to an array of length nn provides a (1+δ)(1+\delta)-multiplicative approximation to the \emph{distance to monotonicity} (nn minus the length of the LIS), and uses only O((log⁡<sup>2</sup>n)/δ)O((\log<sup>2</sup> n)/\delta) space. The previous best known approximation using polylogarithmic space was a multiplicative 2-factor. Our algorithm can be used to estimate the length of the LIS to within an additive δn\delta n for any $\delta &gt;0$ while previous algorithms could only achieve additive error n(1/2−o(1))n(1/2-o(1)). Our algorithm is very simple, being just 3 lines of pseudocode, and has a small update time. It is essentially a polylogarithmic space approximate implementation of a classic dynamic program that computes the LIS. We also give a streaming algorithm for approximating LCS(x,y)LCS(x,y), the length of the longest common subsequence between strings xx and yy, each of length nn. Our algorithm works in the asymmetric setting (inspired by \cite{AKO10}), in which we have random access to yy and streaming access to xx, and runs in small space provided that no single symbol appears very often in yy. More precisely, it gives an additive-δn\delta n approximation to LCS(x,y)LCS(x,y) (and hence also to E(x,y)=n−LCS(x,y)E(x,y) = n-LCS(x,y), the edit distance between xx and yy when insertions and deletions, but not substitutions, are allowed), with space complexity O(k(log⁡<sup>2</sup>n)/δ)O(k(\log<sup>2</sup> n)/\delta), where kk is the maximum number of times any one symbol appears in yy.

Authors (2)
Citations (35)

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.