Sorting under partial information (without the ellipsoid algorithm)

  • Authors:
  • Jean Cardinal;Samuel Fiorini;Gwenaël Joret;Raphaël M. Jungers;J. Ian Munro

  • Affiliations:
  • Université Libre de Bruxelles (ULB), Brussels, Belgium;Université Libre de Bruxelles (ULB), Brussels, Belgium;Université Libre de Bruxelles (ULB), Brussels, Belgium;Massachusetts Institute of Technology (MIT), Cambridge, MA, USA;University of Waterloo, Waterloo, ON, Canada

  • Venue:
  • Proceedings of the forty-second ACM symposium on Theory of computing
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We revisit the well-known problem of sorting under partial information: sort a finite set given the outcomes of comparisons between some pairs of elements. The input is a partially ordered set $P$, and solving the problem amounts to discovering an unknown linear extension of P, using pairwise comparisons. The information-theoretic lower bound on the number of comparisons needed in the worst case is log e(P), the binary logarithm of the number of linear extensions of $P$. In a breakthrough paper, Jeff Kahn and Jeong Han Kim (STOC 1992) showed that there exists a polynomial-time algorithm for the problem achieving this bound up to a constant factor. Their algorithm invokes the ellipsoid algorithm at each iteration for determining the next comparison, making it impractical. We develop efficient algorithms for sorting under partial information. Like Kahn and Kim, our approach relies on graph entropy. However, our algorithms differ in essential ways from theirs. Rather than resorting to convex programming for computing the entropy, we approximate the entropy, or make sure it is computed only once in a restricted class of graphs, permitting the use of a simpler algorithm. Specifically, we present: an O(n2) algorithm performing O(log n ⋅ log e(P)) comparisons; an O(n2.5) algorithm performing at most (1+ε) log e(P) + Oε(n) comparisons; an O(n2.5) algorithm performing O(log e(P)) comparisons. All our algorithms are simple to implement.