Estimating the longest increasing sequence in polylogarithmic time

preprint2013arXivOpen access

Abstract

Finding the length of the longest increasing subsequence (LIS) is a classic algorithmic problem. Let nn denote the size of the array. Simple O(nlog⁡n)O(n\log n) algorithms are known for this problem. We develop a polylogarithmic time randomized algorithm that for any constant δ>0δ> 0, estimates the length of the LIS of an array to within an additive error of δnδn. More precisely, the running time of the algorithm is (log⁡n)c(1/δ)O(1/δ)(\log n)^c (1/δ)^{O(1/δ)} where the exponent cc is independent of δδ. Previously, the best known polylogarithmic time algorithms could only achieve an additive n/2n/2 approximation. With a suitable choice of parameters, our algorithm also gives, for any fixed τ>0τ>0, a multiplicative (1+τ)(1+τ)-approximation to the distance to monotonicity εf\varepsilon_f (the fraction of entries not in the LIS), whose running time is polynomial in log⁡(n)\log(n) and 1/varepsilonf1/varepsilon_f. The best previously known algorithm could only guarantee an approximation within a factor (arbitrarily close to) 2.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.