Lune

FOCS2024Top-tier venue

Tight Bounds for Sorting Under Partial Information

Ivor van der Hoog, Daniel Rutschmann

2024Year
8Citations
1Top-tier citations

Abstract

Sorting is one of the fundamental algorithmic problems in theoretical computer science. It has a natural generalization, introduced by Fredman in 1976, called sorting under partial information. The input consists of: –a ground setXXof sizenn, –a partial oracleOFO_{F}(where partial oracle queries for any(xi,xj)(x_{i},x_{j})output whetherxi≺Pxjx_{i}\prec _{P}x_{j}, for some partial orderPP), –a linear oracleOLO_{L}(where linear oracle queries for any(xi,xj)(x_{i},x_{j})output whetherxi<Lxjx_{i} < _{L}x_{j}and the orderLLextendsPP) The goal is to recover the linear orderLLonXXusing the fewest number of linear oracle queries. In this problem, we measure algorithmic complexity through three metrics: the number of linear oracle queries toOLO_{L}, the number of partial oracle queries toOPO_{P}, and the time spent (the number of algorithmic instructions required to identify for which pairs(xi,xj)(x_{i},x_{j})a partial or linear oracle query is performed). Lete(P)e(P)denote the number of linear extensions ofPP. Any algorithm requires worst-caselog⁡2e(P)\log_{2}e(P)linear oracle queries to recover the linear order onXX. In 1984, Kahn and Saks presented the first algorithm that usesΘ(log⁡e(P))\Theta(\log e(P))linear oracle queries (usingO(n2)O(n^{2})partial oracle queries and exponential time). Since then, both the general problem and restricted variants have been consistently studied. The state-of-the-art for the general problem is by Cardinal, Fiorini, Joret, Jungers and Munro who at STOC'10 manage to separate the linear and partial oracle queries into a preprocessing and query phase. They can preprocessPPusingO(n2)O(n^{2})partial oracle queries andO(n2.5)O(n^{2.5})time. Then, givenOLO_{L}, they uncover the linear order onXXinΘ(log⁡e(P)\Theta(\log e(P)linear oracle queries andO(n+log⁡e(P))O(n+\log e(P))time - which is worst-case optimal in the number of linear oracle queries but not in the time spent. We present the first algorithm that uses a subquadratic number of partial oracle queries. For any constantc≥1c\geq 1, our algorithm can preprocessOFO_{F}using OO(n1+1c)O(n^{1+\frac{1}{c}})partial oracle queries and time. GivenOL{OL}, we uncover the linear order onXXusingΘ(clog⁡e(P))\Theta(c\log e(P))linear oracle queries and time, which is worst-case optimal. We show a matching lower bound for the prepossessing also, as we show that there exist positive constants((y,β)((y,\beta)where for any constantc≥3c\geq 3, any algorithm that uses at mostα⋅n1+1c\alpha\cdot n^{1+\frac{1}{c}}partial oracle queries must use worst-case at leastβ⋅clog⁡e(P)\beta\cdot c\log e(P)linear oracle queries. Thus, we solve the problem of sorting under partial information through an algorithm that is asymptotically tight across all three metrics.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext f9c664d4-1666-455b-a44d-26624124eec8

Cited by top-tier papers1

Ask how each one uses it

Builds on1

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines