Optimal-Depth Sorting Networks

Daniel Bundala, Michael Codish, Luis Cruz-Filipe, Peter Schneider-Kamp and Jakub Zavodny   

Journal of Computer and System Sciences; (accepted) (?): ?, 2016


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.

Available:    bibtex entry

Related sites:

Michael Codish
The Department of Computer Science
Ben-Gurion University of the Negev
PoB 653, Beer-Sheva, 84105, Israel

© copyright notice