English

Estimating the longest increasing sequence in polylogarithmic time

Data Structures and Algorithms 2013-08-06 v1 Discrete Mathematics

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(nlogn)O(n\log n) algorithms are known for this problem. We develop a polylogarithmic time randomized algorithm that for any constant δ>0\delta > 0, estimates the length of the LIS of an array to within an additive error of δn\delta n. More precisely, the running time of the algorithm is (logn)c(1/δ)O(1/δ)(\log n)^c (1/\delta)^{O(1/\delta)} where the exponent cc is independent of δ\delta. 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\tau>0, a multiplicative (1+τ)(1+\tau)-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.

Keywords

Cite

@article{arxiv.1308.0626,
  title  = {Estimating the longest increasing sequence in polylogarithmic time},
  author = {M. Saks and C. Seshadhri},
  journal= {arXiv preprint arXiv:1308.0626},
  year   = {2013}
}

Comments

Full version of FOCS 2010 paper

R2 v1 2026-06-22T01:03:14.954Z