Methods for Solving Extremal Problems in Practice

During the 20 th century there has been an incredible progress in solving theoretically hard problems in practice. One of the most prominent examples is the DPLL algorithm and its derivatives to solve the Boolean satisfiability problem, which can handle instances with millions of variables and clauses in reasonable time, notwithstanding the theoretical difficulty of solving the problem. Despite this progress, there are classes of problems that contain especially hard instances, which have remained open for decades despite their relative small size. One such class is the class of extremal problems, which typically involve finding a combinatorial object under some constraints (e.g, the search for Ramsey numbers). In recent years, a number of specialized methods have emerged to tackle extremal problems. Most of these methods are applied to a specific problem, despite the fact there is a great deal in common between different problems. Following a meticulous examination of these methods, we would like to extend them to handle general extremal problems. Further more, we would like to offer ways to exploit the general structure of extremal problems in order to develop constraints and symmetry breaking techniques which will, hopefully, improve existing tools. The latter point is of immense importance in the context of extremal problems, which often hamper existing tools when there is a great deal of symmetry in the search space, or when not enough is known of the problem structure. For example, if a graph is a solution to a problem instance, in many cases any isomorphic graph will also be a solution. In such cases, existing methods can usually be applied only if the model excludes symmetries.

[1]  Mike Müller,et al.  New Bounds on Optimal Sorting Networks , 2015, CiE.

[2]  Joan Boyar,et al.  Tight bounds for the multiplicative complexity of symmetric functions , 2008, Theor. Comput. Sci..

[3]  René Peralta,et al.  The Multiplicative Complexity of Boolean Functions on Four and Five Variables , 2014, LightSec.

[4]  Michael Frank,et al.  When Six Gates are Not Enough , 2015, ArXiv.

[5]  Marius Thomas Lindauer,et al.  Potassco: The Potsdam Answer Set Solving Collection , 2011, AI Commun..

[6]  Michael Frank,et al.  Logic Programming with Graph Automorphism: Integrating nauty with Prolog (Tool Description) , 2016, Theory Pract. Log. Program..

[7]  B. McKay nauty User ’ s Guide ( Version 2 . 4 ) , 1990 .

[8]  Michael Frank,et al.  Computing the Ramsey number R(4,3,3) using abstraction and symmetry breaking , 2016, Constraints.

[9]  Michael Codish,et al.  Breaking symmetries in graph search with canonizing sets , 2016, Constraints.

[10]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[11]  Joan Boyar,et al.  On the multiplicative complexity of Boolean functions over the basis (cap, +, 1) , 2000, Theor. Comput. Sci..

[12]  Hiroshi Fujita A New Lower Bound for the Ramsey Number R(4, 8) , 2012, ArXiv.

[13]  S. Radziszowski Small Ramsey Numbers , 2011 .

[14]  Michael Frank,et al.  Sorting nine inputs requires twenty-five comparisons , 2016, J. Comput. Syst. Sci..

[15]  Peter J. Stuckey,et al.  Breaking Symmetries in Graph Representation , 2013, IJCAI.

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

[17]  Mike Müller,et al.  Faster Sorting Networks for $17$, $19$ and $20$ Inputs , 2014, ArXiv.

[18]  Brendan D. McKay,et al.  R(4, 5) = 25 , 1995, J. Graph Theory.

[19]  V. S. Costa,et al.  Theory and Practice of Logic Programming , 2010 .

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

[21]  Michael Codish,et al.  Compiling finite domain constraints to SAT with BEE* , 2012, Theory and Practice of Logic Programming.

[22]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.