20

SAT solvers are getting more and more efficient in solving large instances and are being used as back-ends in various contexts. Every time one wants to use them to solve a problem in a specific domain, he/she has to come up with an ad-hoc encoding that not only has the right set of solutions but also puts the constraints (even redundant) in a form that helps the heuristics of solvers in finding a solution faster.

Many such encodings seem to me would be very common, for example: asserting that a finite set of nodes is linked as a tree, or as a DAG, or a list is sorted...

Is there a repository/recipe book of common encodings for common problems with optimised solutions?

Bordaigorl
  • 425
  • 4
  • 14
  • This question looks very useful, but also potentially overbroad. I think it might be a better question if you focus it on a single domain (yes, this might involve multiple questions, one per domain -- but make sure to do some research before asking and show us what you've done).
  • – D.W. Oct 09 '14 at 18:47
  • Also, what research have you done? Have you looked at SAT front-ends, such as STP, Alloy, and Minion? Have you looked at http://cs.stackexchange.com/q/12087/755, http://cs.stackexchange.com/q/13188/755, http://cs.stackexchange.com/a/6522/755, http://cs.stackexchange.com/a/12153/755? at the questions tagged [tag:sat-solvers] or [tag:satisfiability]?
  • – D.W. Oct 09 '14 at 18:51
  • Yes, the question may be a bit broad. @D.W. thanks for the links some of them are directly relevant. I should have mentioned I am not interested in solving a particular problem, nor in general methods for more efficient encodings; the expression "best-practices" I used is probably misleading, I'll edit. I am interested in a recipe book =) – Bordaigorl Oct 09 '14 at 19:15
  • Regarding the domain I would say (hyper)graph theory but this is probably still very broad... – Bordaigorl Oct 09 '14 at 19:19
  • See also related question https://cs.stackexchange.com/q/12087 – András Salamon May 20 '17 at 08:11