Twenty-Five Comparators Is Optimal When Sorting Nine Inputs (and Twenty-Nine for Ten)

This paper describes a computer-assisted non-existence proof of 9-input sorting networks consisting of 24 comparators, hence showing that the 25-comparator sorting network found by Floyd in 1964 is optimal. As a corollary, we obtain that the 29-comparator network found by Waksman in 1969 is optimal when sorting 10 inputs. This closes the two smallest open instances of the optimal-size sorting network problem, which have been open since the results of Floyd and Knuth from 1966 proving optimality for sorting networks of up to 8 inputs. The proof involves a combination of two methodologies: one based on exploiting the abundance of symmetries in sorting networks, and the other based on an encoding of the problem to that of satisfiability of propositional logic. We illustrate that, while each of these can single-handedly solve smaller instances of the problem, it is their combination that leads to the more efficient solution that scales to handle 9 inputs.

[1]  James M. Crawford,et al.  Experimental Results on the Application of Satisfiability Algorithms to Scheduling Problems , 1994, AAAI.

[2]  Vipin Kumar,et al.  Isoefficiency: measuring the scalability of parallel algorithms and architectures , 1993, IEEE Parallel & Distributed Technology: Systems & Applications.

[3]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

[4]  Jakub Závodný,et al.  Optimal Sorting Networks , 2013, LATA.

[5]  Moon-Jung Chung,et al.  Bounds on the size of test sets for sorting and related networks , 1990, Discret. Math..

[6]  Ian Parberry On the Computational Complexity of Optimal Sorting Network Verification , 1991, PARLE.

[7]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[8]  Ian Parberry A computer-assisted optimal depth lower bound for nine-input sorting networks , 2005, Mathematical systems theory.

[9]  David C. van Voorhis Toward a Lower Bound for Sorting Networks , 1972, Complexity of Computer Computations.

[10]  F. Wiedijk,et al.  The challenge of computer mathematics , 2005, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences.

[11]  Klaus Schneider,et al.  Synthesis of Parallel Sorting Networks using SAT Solvers , 2011, MBMV.

[12]  Peter J. Stuckey,et al.  Boolean Equi-propagation for Concise and Efficient SAT Encodings of Combinatorial Problems , 2013, J. Artif. Intell. Res..

[13]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[14]  Peter Schneider-Kamp,et al.  The Quest for Optimal Sorting Networks: Efficient Generation of Two-Layer Prefixes , 2014, 2014 16th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[15]  Olivier Bailleux,et al.  Efficient CNF Encoding of Boolean Cardinality Constraints , 2003, CP.