Questions tagged [sat]

In computer science, the Boolean Satisfiability Problem (or SAT) is the problem of determining if there exists an interpretation that satisfies a given boolean formula.

Mainly from Wikipedia:

In computer science, the Boolean Satisfiability Problem (sometimes called Propositional Satisfiability Problem and abbreviated as satisfiability or SAT) is the problem of determining if there exists an interpretation that satisfies a given Boolean formula.

In other words, it asks whether the variables of a given Boolean formula can be consistently replaced by the values true or false in such a way that the formula evaluates to true.

If this is the case, the formula is called satisfiable. On the other hand, if no such assignment exists, the function expressed by the formula is identically false for all possible variable assignments and the formula is unsatisfiable.

  • For example, the formula "a AND NOT b" is satisfiable because one can find the values a = TRUE and b = FALSE, which make "a AND NOT b" TRUE.

  • In contrast, "a AND NOT a" is unsatisfiable.

SAT is one of the first problems that was proven to be NP-complete. This means that all problems in the complexity class NP, which includes a wide range of natural decision and optimization problems, are in a technical sense equally difficult to solve as SAT.

There is no known algorithm that efficiently solves SAT, and it is generally believed that no such algorithm exists; yet this belief has not been proven mathematically, and resolving the question whether SAT has an efficient algorithm is equivalent to the P versus NP problem, which is the most famous open problem in the theory of computing.

Despite the fact that no algorithms are known that solve SAT efficiently, correctly, and for all possible input instances, many instances of SAT that occur in practice (such as in artificial intelligence, circuit design and automatic theorem proving) can actually be solved rather efficiently using heuristical SAT-solvers.

Such algorithms are not believed to be efficient on all SAT instances, but experimentally these algorithms tend to work well for many practical applications.

Nowadays, the research on the SAT theory continues, if you want to keep up to date with this research, feel free to visit: http://www.satlive.org/.

289 questions
-2
votes
1 answer

Is there any SAT Solver that provides a built-in library as Sat4j?

As far as I know, Sat4j is a library that integrates SAT solver miniSAT on Java environment. I've searched on SAT competition (http://www.satcompetition.org/) and found that Kissat considered as the best SAT Solver so far. Thus I wanna find a…
Anh
  • 13
  • 5
-2
votes
1 answer

How to implement Machine Learning algorithms for SAT solving?

I'm interested in applying machine learning algorithms for SAT solving procedures. Current trends on SAT solvers seems they use CDCL procedures. Specifically, is there any small example to illustrate the idea?
hddmss
  • 231
  • 1
  • 12
-3
votes
1 answer

find which values satisfy a boolean formula

I have the following Boolean expression x > 5 AND y > 10 C:\>python Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36)Type "help", "copyright", "credits" or "license" for more information. >>> x = 3 >>> y = 11 >>> eval("x>5 and y > 10") False >>>…
cateof
  • 6,608
  • 25
  • 79
  • 153
-3
votes
2 answers

3 SAT algorithm's complexity?

I have an interesting algorithm for 3SAT in mind that I wanted to implement but was not able to code for the same so unable to see if it really works. The algorithm is defined in a Microsoft Word file here: DropBox Link for 3SAT algorithm I do not…
vinaych
  • 79
  • 1
  • 10
1 2 3
19
20