AITR-1109 Utilizing Symmetry and Evolutionary Search to Minimize Sorting Networks

Sorting networks are an interesting class of parallel sorting algorithms with applications in multiprocessor computers and switching networks. They are built by cascading a series of comparison-exchange units called comparators. Minimizing the number of comparators for a given number of inputs is a challenging optimization problem. This paper presents a two-pronged approach called Symmetry and Evolution based Network Sort Optimization (SENSO) that makes it possible to scale the solutions to networks with a larger number of inputs than previously possible. First, it utilizes the symmetry of the problem to decompose the minimization goal into subgoals that are easier to solve. Second, it minimizes the resulting greedy solutions further by utilizing an evolutionary algorithm to learn the statistical distribution of comparators in minimal networks. The final solutions improve upon half-century of results published in patents, books, and peer-reviewed literature, demonstrating the potential of the SENSO approach for solving difficult combinatorial problems.

[1]  John R. Koza,et al.  Evolving computer programs using rapidly reconfigurable field-programmable gate arrays and genetic programming , 1998, FPGA '98.

[2]  David C. van Voorhis An economical construction for sorting networks , 1974, AFIPS '74.

[3]  W. Daniel Hillis,et al.  Co-evolving parasites improve simulated evolution as an optimization procedure , 1990 .

[4]  Lukás Sekanina,et al.  Intrinsic Evolution of Sorting Networks: A Novel Complete Hardware Implementation for FPGAs , 2005, ICES.

[5]  Tse-Yun Feng,et al.  On a Class of Rearrangeable Networks , 1992, IEEE Trans. Computers.

[6]  Heinz Mühlenbein,et al.  The Estimation of Distributions and the Minimum Relative Entropy Principle , 2005, Evol. Comput..

[7]  Thomas Sellke,et al.  Stack Filters and Free Distributive Lattices , 1995 .

[8]  Omar Hasan,et al.  Bit-serial architecture for rank order and stack filters , 2003, Integr..

[9]  John R. Koza Genetic Programming III - Darwinian Invention and Problem Solving , 1999, Evolutionary Computation.

[10]  Devika Subramanian,et al.  Sets as Anti-Chains , 1996, ASIAN.

[11]  Rüdiger Westermann,et al.  UberFlow: a GPU-based particle engine , 2004, SIGGRAPH '04.

[12]  Isabelle Bloch,et al.  Estimation of Distribution Algorithms: A New Evolutionary Computation Approach for Graph Matching Problems , 2001, EMMCVPR.

[13]  D. Voorhis A generalization of the divide-sort-merge strategy for sorting networks , 1971 .

[14]  János Komlós,et al.  Sorting in c log n parallel sets , 1983, Comb..

[15]  Sartaj Sahni,et al.  Handbook of Data Structures and Applications , 2004 .

[16]  Kenneth E. Batcher,et al.  Designing Sorting Networks: A New Paradigm , 2011 .

[17]  Frank H. Young,et al.  Improved Divide/Sort/Merge Sorting Networks , 1975, SIAM J. Comput..

[18]  Hugues Juillé Evolution of Non-Deterministic Incremental Algorithms as a New Approach for Search in State Spaces , 1995, ICGA.

[19]  C. Greg Plaxton,et al.  A (fairly) simple circuit that (usually) sorts , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[20]  A. D. Korshunov,et al.  Monotone Boolean functions , 2003 .

[21]  Chaitali Chakrabarti,et al.  Novel sorting network-based architectures for rank order filters , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[22]  Kuo-Liang Chung,et al.  A generalized pipelined median filter network , 1997, Signal Process..

[23]  Seung-Woo Seo,et al.  A simulation scheme in rearrangeable networks , 1993, Proceedings of 36th Midwest Symposium on Circuits and Systems.

[24]  Kalyanmoy Deb,et al.  A Fast Elitist Non-dominated Sorting Genetic Algorithm for Multi-objective Optimisation: NSGA-II , 2000, PPSN.

[25]  Lee K. Graham,et al.  Symmetric Comparator Pairs In The Initialization Of Genetic Algorithm Populations For Sorting Networks , 2006, 2006 IEEE International Conference on Evolutionary Computation.

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

[27]  Kenneth E. Batcher,et al.  Finding better sorting networks , 2009 .

[28]  Rajgopal Kannan,et al.  Sorting networks with applications to hierarchical optical interconnects , 2001, Proceedings International Conference on Parallel Processing Workshops.