Proteus: A Hierarchical Portfolio of Solvers and Transformations

In recent years, portfolio approaches to solving SAT problems and CSPs have become increasingly common. There are also a number of different encodings for representing CSPs as SAT instances. In this paper, we leverage advances in both SAT and CSP solving to present a novel hierarchical portfolio-based approach to CSP solving, which we call Proteus, that does not rely purely on CSP solvers. Instead, it may decide that it is best to encode a CSP problem instance into SAT, selecting an appropriate encoding and a corresponding SAT solver. Our experimental evaluation used an instance of Proteus that involved four CSP solvers, three SAT encodings, and six SAT solvers, evaluated on the most challenging problem instances from the CSP solver competitions, involving global and intensional constraints. We show that significant performance improvements can be achieved by Proteus obtained by exploiting alternative view-points and solvers for combinatorial problem-solving.

[1]  Eoin O'Mahony,et al.  Using Case-based Reasoning in an Algorithm Portfolio for Constraint Solving ? , 2008 .

[2]  John R. Rice,et al.  The Algorithm Selection Problem , 1976, Adv. Comput..

[3]  Kevin Leyton-Brown,et al.  SATzilla: Portfolio-based Algorithm Selection for SAT , 2008, J. Artif. Intell. Res..

[4]  Gilles Audemard,et al.  GLUCOSE : a solver that predicts learnt clauses quality , 2009 .

[5]  Chih-Chun Lee,et al.  QuteSAT: a robust circuit-based SAT solver for complex circuit structure , 2007 .

[6]  Toby Walsh,et al.  Handbook of Constraint Programming (Foundations of Artificial Intelligence) , 2006 .

[7]  Ofer Strichman,et al.  A Proof-Producing CSP Solver , 2010, AAAI.

[8]  Bart Selman,et al.  Algorithm portfolios , 2001, Artif. Intell..

[9]  Peter C. Cheeseman,et al.  Where the Really Hard Problems Are , 1991, IJCAI.

[10]  Barry O'Sullivan,et al.  Constraint Programming and Combinatorial Optimisation in Numberjack , 2010, CPAIOR.

[11]  Lars Kotthoff,et al.  Machine learning for constraint solver design -- A case study for the alldifferent constraint , 2010, ArXiv.

[12]  Yuri Malitsky,et al.  ISAC - Instance-Specific Algorithm Configuration , 2010, ECAI.

[13]  Adnan Darwiche,et al.  RSat 2.0: SAT Solver Description , 2006 .

[14]  Armin Biere Lingeling, Plingeling and Treengeling Entering the SAT Competition 2013 , 2013 .

[15]  Lars Kottho,et al.  Algorithm Selection for Combinatorial Search Problems: A survey , 2012 .

[16]  Yuri Malitsky,et al.  Algorithm Selection and Scheduling , 2011, CP.

[17]  Toby Walsh,et al.  SAT v CSP , 2000, CP.

[18]  Marijn Heule,et al.  Symbiosis of Search and Heuristics for Random 3-SAT , 2014, ArXiv.

[19]  Ian H. Witten,et al.  The WEKA data mining software: an update , 2009, SKDD.

[20]  Olivier Roussel,et al.  XML Representation of Constraint Networks: Format XCSP 2.1 , 2009, ArXiv.

[21]  Lars Kotthoff,et al.  Algorithm Selection for Combinatorial Search Problems: A Survey , 2012, AI Mag..

[22]  Allen Van Gelder Contrasat - A Contrarian SAT Solver , 2012, J. Satisf. Boolean Model. Comput..

[23]  Toby Walsh,et al.  Restart Strategy Selection Using Machine Learning Techniques , 2009, SAT.

[24]  Ian P. Gent Arc Consistency in SAT , 2002, ECAI.

[25]  Lars Kotthoff,et al.  LLAMA: Leveraging Learning to Automatically Manage Algorithms , 2013, ArXiv.

[26]  Martin Gebser,et al.  clasp : A Conflict-Driven Answer Set Solver , 2007, LPNMR.

[27]  Daniel Le Berre,et al.  The Sat4j library, release 2.2 , 2010, J. Satisf. Boolean Model. Comput..

[28]  Theo Tryfonas,et al.  Frontiers in Artificial Intelligence and Applications , 2009 .

[29]  Xavier Lorca,et al.  Choco: an Open Source Java Constraint Programming Library , 2008 .

[30]  Toby Walsh,et al.  Handbook of Constraint Programming , 2006, Handbook of Constraint Programming.

[31]  Inês Lynce,et al.  CSP2SAT4J: A Simple CSP to SAT translator , 2007 .

[32]  Norbert Manthey Solver submission of riss 1 . 0 to the SAT Competition 2011 , 2011 .

[33]  Kevin Leyton-Brown,et al.  Evaluating Component Solver Contributions to Portfolio-Based Algorithm Selectors , 2012, SAT.

[34]  Toby Walsh,et al.  Handbook of Satisfiability: Volume 185 Frontiers in Artificial Intelligence and Applications , 2009 .

[35]  Mutsunori Banbara,et al.  Azucar: A SAT-Based CSP Solver Using Compact Order Encoding - (Tool Presentation) , 2012, SAT.

[36]  Rina Dechter,et al.  Principles and Practice of Constraint Programming – CP 2000 , 2001, Lecture Notes in Computer Science.

[37]  Tad Hogg,et al.  An Economics Approach to Hard Computational Problems , 1997, Science.

[38]  Christophe Lecoutre,et al.  Abscon 112 Toward more Robustness , 2008 .

[39]  Simon Kasif,et al.  On the Parallel Complexity of Discrete Relaxation in Constraint Satisfaction Networks , 1990, Artif. Intell..

[40]  Carlos Ansótegui,et al.  Mapping Problems with Finite-Domain Variables into Problems with Boolean Variables , 2004, SAT.

[41]  Kevin Leyton-Brown,et al.  Hierarchical Hardness Models for SAT , 2007, CP.