## Abstract

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 R_{n} 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 R_{n}. For each network in R_{n}, 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.

Original language | English |
---|---|

Pages (from-to) | 185-204 |

Number of pages | 20 |

Journal | Journal of Computer and System Sciences |

Volume | 84 |

DOIs | |

State | Published - 1 Mar 2017 |

## Keywords

- SAT solving
- Sorting networks
- Symmetry breaking

## ASJC Scopus subject areas

- Theoretical Computer Science
- Applied Mathematics
- General Computer Science
- Computer Networks and Communications
- Computational Theory and Mathematics