Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between C-SAT and SAT?

What exactly is the difference between these two NP-complete problems? It seems to me that they are both asking if a boolean formula can be satisfied (i.e. output 1) but one is in the context of a circuit and the other just a formula. However couldnt one write a boolean formula from a boolean circuit?

like image 565
Daniela Carrasco Avatar asked Oct 25 '25 05:10

Daniela Carrasco


2 Answers

You are right, they are very close to each other. Any C-SAT problem could be represented as SAT, any SAT problem could be represented as C-SAT. There is a question how to translate C-SAT <-> SAT in the most efficient way. Some tasks are better to represent as SAT, some of them 'looks' better as C-SAT.

In addition, there are SAT solvers that use circuit representation internally, instead of more popular clausal form.

Further, you can read this great survey: M. Bjork, 2009, Successful SAT encoding techniques

like image 105
CaptainTrunky Avatar answered Oct 26 '25 17:10

CaptainTrunky


Both problems are concerned with the satisfiability of boolean functions. The difference lies in the way the functions are represented - either as circuits or as formulas.

In a circuit the output of a single gate can be used multiple times. When translating a circuit to a formula, the obvious way to deal with this is to duplicate parts of the circuit, which can lead to an exponential increase in size.

like image 23
Friedrich Avatar answered Oct 26 '25 19:10

Friedrich



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!