Estimating the Longest Increasing Sequence in Polylogarithmic Time

  • Authors:
  • Michael Saks;C. Seshadhri

  • Affiliations:
  • -;-

  • Venue:
  • FOCS '10 Proceedings of the 2010 IEEE 51st Annual Symposium on Foundations of Computer Science
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Finding the length of the longest increasing subsequence (LIS) is a classic algorithmic problem. Let $n$ denote the size of the array. Simple O(n log n) time algorithms are known that determine the LIS exactly. In this paper, we develop a randomized approximation algorithm, that for any constant delta 0, runs in time polylogarithmic in n and estimates the length of the LIS of an array up to an additive error of (delta n). The algorithm presented in this extended abstract runs in time (log n)^{O(1/delta)}. In the full paper, we will give an improved version of the algorithm with running time (log n)^c (1/delta)^{O(1/delta)} where the exponent c is independent of delta. Previously, the best known polylogarithmic time algorithms could only achieve an additive n/2-approximation. Our techniques also yield a fast algorithm for estimating the distance to monotonicity to within a small multiplicative factor. The distance of f to monotonicity, eps_f, is equal to 1 - |LIS|/n (the fractional length of the complement of the LIS). For any delta 0, we give an algorithm with running time O((eps^{-1}_f log n)^{O(1/delta)}) that outputs a (1+delta)-multiplicative approximation to eps_f. This can be improved so that the exponent is a fixed constant. The previously known polylogarithmic algorithms gave only a 2-approximation.