Questions tagged [satisfiability]

Satisfiability (often written in all capitals or abbreviated SAT) is the problem of determining if the variables of a given Boolean formula can be assigned in such a way as to make the formula evaluate to TRUE.

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/.

119 questions
2
votes
1 answer

Incremental weakening Maxsat

I've an idea about MaxSat and have already implemented a naive Maxsat solver using MSU3 along with sequential encoding with minisat APIs I was wondering if there's a way to speed up this solver. I came with this…
2
votes
2 answers

finding max of the numbers in z3 using SMTLIB2

I have 7 cups which contains some water. I need to program these cups to have different amounts of water. Once this is done I need to measure the cup which has the highest amount of water and then remove some quantity (say 2 units of water). c…
2
votes
1 answer

Solve specific combination in propositional logic rule set (SAT Solver)

In the car industry you have thousand of different variants of components available to choose from when you buy a car. Not every component is combinable, so for each car there exist a lot of rules that are expressed in propositional logic. In my…
2
votes
1 answer

XOR clause in (positive) standard form

I'm struggling with following XOR clause transformation: This XOR clause is given: (x1 ⊕ ¬x2 ⊕ x3) translated into CNF, it is: (¬x1 ∨ ¬x2 ∨ ¬x3)∧(¬x1 ∨ x2 ∨ x3)∧(x1 ∨ ¬x2 ∨ x3)∧(x1 ∨ x2 ∨ ¬x3) This is clear. But why is (x1 ⊕ ¬x2 ⊕ x3) = (x1 ⊕ x2 ⊕…
2
votes
0 answers

Reducing 3-SAT to Vertex Cover?

Can someone explain to me in the most simplest possible way, how to reduce 3-SAT to Vertex Cover ? I am following the explanation here(scroll to page 4 bottom). I understand the basic setup of having two "gadgets": the 2-node variable gadgets and…
2
votes
2 answers

Assumptions in Z3 or Z3Py

is there a way to express assumptions in Z3 (I am using the Z3Py library) such that the engine does not check their validity but takes them as underlying theories, just like in theorem proving? For example, lets say that I have two unary functions…
predragf
  • 43
  • 4
2
votes
1 answer

DPLL and Satisfiablity Examples?

We know DPLL algorithm is backtracking + unit propagation + pure literal rule. I have an example. There is one example to solve following Satisfiability problem with DPLL. if assign of "0" to variables is prior to assign "1" to variables, Which of…
user5912880
2
votes
0 answers

CVC4: using quantifiers in C++ interface

I am trying to figure out how to code quantifiers in CVC4, using the C++ interface. Here is an example I am trying to get to run, but cannot. int main() { SmtEngine smt(&em); smt.setLogic("AUFLIRA"); // Set the logic Expr three =…
ndb
  • 127
  • 1
  • 10
2
votes
1 answer

Cook's Theorem (in plain English)

I read the book Computers and Intractability - A Guide to the Theory of NP-Completeness by Garey and Johnson for my algorithms course; however, upon reviewing the material a year later, I realized that I never really understood Cook's Theorem. In…
m.n
  • 47
  • 4
2
votes
2 answers

Parse string with propositional formula in CNF to DIMACS nested int list in haskell

I would like to parse string with a propositional formula in CNF to DIMACS, thus a nested int list in haskell. The format is suitable for the haskell picosat bindings that seem to be more performant then other options for SAT solving. The problem is…
mrsteve
  • 4,082
  • 1
  • 26
  • 63
2
votes
1 answer

CNF simplification

Given a set of clauses, I want to first check whether they are satisfiable. If they are, I want to simplify them and create a CNF, eg., (a OR b) ^ (NOT b) should simplify to: a ^ (NOT b). I'm only working with propositional formulas. I've tried to…
user676122
  • 45
  • 1
  • 5
2
votes
1 answer

Subgraph isomorphism to SAT

The Subgraph Isomorphism (SI) problem is a computational task in which two graphs G and H are given as input, and one must determine whether G contains a subgraph that is isomorphic to H. This is a NP-Complete problem . I want to know its relation…
T.J.
  • 1,466
  • 3
  • 19
  • 35
2
votes
2 answers

3-sat and Tutte polynomial

Please consider the following 3-SAT instance and the corresponding graph The graph can be displayed in other two forms The Tutte polynomial for this graph is The independence number of the graph is 4, then the considered 3-SAT instance is…
Juan Ospina
  • 1,317
  • 1
  • 7
  • 15
2
votes
1 answer

SAT-Solving a system of one-hot constraints

I'm trying to solve a SAT problem that consists of one-hot constraints only. Right now I'm using the one-hot encoding proposed by Claessen in Sec. 4.2 of [1] and MiniSAT. I wonder if there is a better way of solving such a problem, e.g. a class of…
CliffordVienna
  • 7,995
  • 1
  • 37
  • 57
1
vote
1 answer

Does any body knows or has a greedy satisfiability(GSAT) and simulated annealing satisfabiilty(SA-SAT) java algorithm?

I am looking for a GSAT and SA-SAT algorithm implemented in java. Does any body know about one? Thank you.