TY - JOUR

T1 - Optimal-depth sorting networks

AU - Bundala, Daniel

AU - Codish, Michael

AU - Cruz-Filipe, Luís

AU - Schneider-Kamp, Peter

AU - Závodný, Jakub

N1 - Funding Information:
We thank Donald E. Knuth for suggesting the idea of using reflections to reduce the number of representative two-layer networks. This work was supported by the Israel Science Foundation , grant 182/13 , and by the Danish Council for Independent Research , Natural Sciences, grant DFF-1323-00247 . Computational resources provided by an IBM Shared University Award (BGU).
Publisher Copyright:
© 2016 Elsevier Inc.

PY - 2017/3/1

Y1 - 2017/3/1

N2 - 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.

AB - 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.

KW - SAT solving

KW - Sorting networks

KW - Symmetry breaking

UR - http://www.scopus.com/inward/record.url?scp=84995592246&partnerID=8YFLogxK

U2 - 10.1016/j.jcss.2016.09.004

DO - 10.1016/j.jcss.2016.09.004

M3 - Article

AN - SCOPUS:84995592246

SN - 0022-0000

VL - 84

SP - 185

EP - 204

JO - Journal of Computer and System Sciences

JF - Journal of Computer and System Sciences

ER -