Michael Codish

Senior Academic

Optimal-depth sorting networks

Daniel Bundala, Michael Codish, Luís Cruz-Filipe, Peter Schneider-Kamp, Jakub Závodný

We solve a 40-year-old open problem on depth optimality of sorting networks. In 1973, Donald E. Knuth detailed sorting networks of the smallest depth known for n≤16 inputs, quoting optimality for n≤8 (Volume 3 of “The Art of Computer Programming”). In 1989, Parberry proved optimality of networks with 9≤n≤10 inputs. We present a general technique for obtaining such results, proving optimality of the remaining open cases of 11≤n≤16 inputs. Exploiting symmetry, we construct a small set Rn of two-layer networks such that: if there is a depth-k sorting network on n inputs, then there is one whose first layers are in Rn. For each network in Rn, we construct a propositional formula whose satisfiability is necessary for the existence of a depth-k sorting network. Using an off-the-shelf SAT solver we prove optimality of the sorting networks listed by Knuth. For n≤10 inputs, our algorithm is orders of magnitude faster than prior ones.

Publication language English
Pages 185-204
Journal Journal of Computer and System Sciences
Volume 84
Publication status Published - 01.03.2017

Keywords

SAT solving
Sorting networks
Symmetry breaking

ASJC Scopus subject areas

Theoretical Computer Science
General Computer Science
Computer Networks and Communications
Computational Theory and Mathematics
Applied Mathematics
Access to Document
10.1016/j.jcss.2016.09.004
Other files and links
Link to publication in Scopus