Sorting nine inputs requires twenty-five comparisons

Twenty-five comparators are minimal to sort nine inputs.Twenty-nine comparators are minimal to sort ten inputs.New symmetry-breaking results control the growth of the search space.Optimized and parallelized algorithms for generating size-optimal sorting networks.Use of SAT-solving to speed up the last part of the computation. 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, 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.

[1]  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.

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

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

[4]  Pierre Castéran,et al.  Interactive Theorem Proving and Program Development , 2004, Texts in Theoretical Computer Science An EATCS Series.

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

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

[7]  Michael Frank,et al.  Twenty-Five Comparators Is Optimal When Sorting Nine Inputs (and Twenty-Nine for Ten) , 2014, 2014 IEEE 26th International Conference on Tools with Artificial Intelligence.

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

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

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

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

[12]  Peter Schneider-Kamp,et al.  Optimizing a Certified Proof Checker for a Large-Scale Computer-Generated Proof , 2015, CICM.

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

[14]  Ian Parberry,et al.  The Pairwise Sorting Network , 1992, Parallel Process. Lett..

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

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

[17]  Robert W. Floyd,et al.  The Bose-Nelson Sorting Problem††The preparation of this report has been supported in part by the National Science Foundation, and in part by the Office of Naval Research. , 1970 .

[18]  Edward M. Reingold,et al.  Efficient generation of the binary reflected gray code and its applications , 1976, CACM.

[19]  Peter Schneider-Kamp,et al.  Formalizing Size-Optimal Sorting Networks: Extracting a Certified Proof Checker , 2015, ITP.

[20]  David Curtis Van Voorhis An Improved Lower Bound for Sorting Networks , 1972, IEEE Trans. Computers.

[21]  János Komlós,et al.  An 0(n log n) sorting network , 1983, STOC.

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

[23]  Pierre Letouzey Extraction in Coq: An Overview , 2008, CiE.

[24]  R. C. Bose,et al.  A Sorting Problem , 1962, JACM.