3

The Boolean Satisfiabiity problem is a generalization for checking the satisfiability of a boolean expression. Now the boolean expression is generated by the nonnegativity algorithm of a polynomial. The polynomial could for example be $x_1x_2+x_2x_3$ and $x_1$ with some interval such as $x_i\in[0.1,0.3]\;\;\forall i=1,...,n$ where $n$ is the amount of variables. I currently check the features of polynomials such as nonnegativity with special algorithms such as branch-and-bound algorithm where I make the large problem into smaller problems but missing features such as learning promised by some SAT solvers such as MiniSat. So

  1. Some SAT solvers designed to check properties of polynomials such as multilinear functions or general multivariate functions?

  2. Any easy way to convert a multivariate function and the non-negativity algorithm into a boolean expression?

Robin Green
  • 32,079
  • 16
  • 104
  • 187
hhh
  • 50,788
  • 62
  • 179
  • 282
  • "Does there exist some SAT solvers" appears to be asking for a tool, which is off-topic for [so], as per the [help/on-topic]. So you may want to edit appropriately. – Bernhard Barker Dec 04 '13 at 17:15
  • AFAIK the answer is no to both questions. This is however relevant to my research area, so if you're interested in exploring this, feel free to get in touch ;) – Lars Kotthoff Dec 04 '13 at 17:16
  • @LarsKotthoff email sent :) – hhh Dec 04 '13 at 17:22

1 Answers1

1

After a cursory search, there don't seem to be any SAT solvers specifically for this purpose or algorithms to do the conversion you've mentioned. So it would appear that the answer to both of your questions is "no".

There are also some conceptual problems with using SAT solvers for this. It appears that the domains of your variables are continuous, which means that it cannot be converted to SAT directly. You would need to discretise your domains. The second problem is that you need to check an inequality, which you can encode in SAT, but you're risking an exponential increase in problem size.

A more suitable paradigm would be constraint programming, although solvers that support continuous domains are rare.

Altogether, it seems to me that your current branch and bound approach is probably the most suitable one. I am unconvinced that techniques like clause learning would be useful for your particular application, as you are dealing with real intervals. What clause learning essentially does is identify hidden problem structure that can be leveraged in solving the problem. It might help for a SAT encoding of your problem, but all the structure that would be there to discover is what would be lost by encoding the original problem into SAT.

Lars Kotthoff
  • 107,425
  • 16
  • 204
  • 204
  • Agree +1! I am wondering what kind of learning could be used to check features of multivariate functions with real-world data having features such as repetitions and symmetry. Perhaps, SAT may not be used directly but perhaps in some analysis part to prioritise the constraint programming. Just novel ideas! Thank you for your input. – hhh Dec 05 '13 at 12:03
  • 1
    For the symmetry, you may want to have a look at symmetry breaking in constraint programming, which is an active research area. – Lars Kotthoff Dec 05 '13 at 12:08
  • So is the question actually whether a `"Constraint satisfaction problem"` can be solved with some SAT solver? I could find a CSP solvers that are actually based on SAT solvers such as https://github.com/dmr/csp-solver and http://bach.istc.kobe-u.ac.jp/sugar/. Any experience with them or similar? I am now not yet sure whether this question is actually settled, investigating. – hhh Dec 06 '13 at 00:54
  • 1
    Both SAT and CSP are NP complete problems and there are polynomial time transformations between them. So yes, you can convert CSPs to SAT and solve them with a SAT solver. However, this is only true for the basic form of a CSP -- in particular, you can't do this anymore once you have real domains. – Lars Kotthoff Dec 06 '13 at 09:14
  • Consider a CSP where you need to evaluate multivariate problems only in their borders (for the branch-and-bound algorithm, this is enough) so a finite amount of borders to be checked, despite the real domain. This problem can be converted SAT? – hhh Dec 06 '13 at 10:26
  • 1
    Yes, provided that your CSP model has discrete or bound domains. – Lars Kotthoff Dec 06 '13 at 10:28