We solve a 40-year-old open problem on the depth optimality of sorting networks. In 1973, Donald E. Knuth detailed, in Volume 3 of "The Art of Computer Programming", sorting networks of the smallest depth known at the time for n ≤ 16 inputs, quoting optimality for n ≤ 8. In 1989, Parberry proved the optimality of the networks with 9 ≤ n ≤ 10 inputs. In this article, we present a general technique for obtaining such optimality results, and use it to prove the optimality of the remaining open cases of 11 ≤ n ≤ 16 inputs. We show how to exploit symmetry to construct a small set of two-layer networks on n inputs such that if there is a sorting network on n inputs of a given depth, then there is one whose first layers are in this set. For each network in the resulting set, we construct a propositional formula whose satisfiability is necessary for the existence of a sorting network of a given depth. Using an off-the-shelf SAT solver we show that the sorting networks listed by Knuth are optimal. For n ≤ 10 inputs, our algorithm is orders of magnitude faster than the prior ones.
Bundala REF presented a computer assisted proof for the optimal depths of networks with eleven to sixteen (inclusive) inputs.
Optimal-Depth Sorting Networks
ArXiv
ArXiv
Mathematics Computer Science