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
0
votes
1 answer

Algorithm: How to find the number of solutions to SAT?

Assume that the number of variables N and the number of clauses K are equal. Find an algorithm that returns the number of different ways to satisfy the clauses. I read that SAT is related to Independent Sets.
jas7
  • 2,893
  • 6
  • 23
  • 36
0
votes
0 answers

Boolean Formula Satisfiability - Solving with Minimum Amount of Variables Set to True

I am having trouble coming up with the pseudocode to solve the Boolean satisfiability problem using the minimum amount of variables set to true. I have a method satisfiable number(H) that I can call to obtain the minimum number of variables needed…
BostonMan
  • 161
  • 1
  • 1
  • 5
0
votes
2 answers

Minizinc "var set of int: x" instead of "set of int: x"

I have an array of set in the Golfers problem (in each week there should be formed groups, such that no two players play together more than once, and everybody plays exactly one time each week): int: gr; %number of groups set of int: G=1..gr; int:…
Kuba
  • 291
  • 2
  • 5
  • 14
0
votes
1 answer

Polynomial Time Reduction Gadget that runs in poly time but creates n! size output.

Say someone has found a way to create a graph given a CNF boolean expression in O(n^3) time, and that any spanning tree of this special graph will be a solution to the CNF equation. The scenario seems to be hinting that the someone has found a…
0
votes
1 answer

CNF vs Horn Satisfiability

I know that it's easier to prove if a horn-formula is satisfiable. My Question is: Why is it easier with a horn formula rather than a normal CNF?
noctua
  • 115
  • 10
0
votes
1 answer

SAT for an LTL formula

A SAT-solver proofs satisfiability of a propositional formula F. However, is it possible to use SAT for testing the satisfiability of a LTL formula? For example, can we proof that the following LTL formula is unsatisfiable? G (A => B) and (A =…
igi
  • 29
  • 6
0
votes
1 answer

boolean sat check my code

I am getting a wrong answer for my code n is the number of variables and formula is a list containing clauses Given a SAT instance with 'n' variables and clauses encoded in list 'formula', returns 'satisfiable' if the instance is satisfiable, and…
user3349106
  • 77
  • 1
  • 7
0
votes
1 answer

Picosat SAT solver: set the propagation limit -- but what value?

From the API: /* As alternative to a decision limit you can use the number of propagations * as limit. This is more linearly related to execution time. This has to * be called after 'picosat_init' and before 'picosat_sat'. */ void…
mrsteve
  • 4,082
  • 1
  • 26
  • 63
0
votes
2 answers

What is a clause when talking about CSP/SAT?

Here is the question: Consider the following rules and definitions for a sports league scheduling problem: N (even) teams, and every two teams play each other exactly once during season. The season lasts (N-1) weeks. Every team plays one game in…
0
votes
2 answers

Does the SMT-Lib standard support the combination of theories?

I know that several works are trying to deal with the combination of theories in SMT. However, the SMT-Lib 2.0 language (http://smtlib.cs.uiowa.edu/docs.html) doesn't say anything regarding this point. My question is whether it supports that, and…
Med
  • 176
  • 7
0
votes
2 answers

Boolean formula encoding

i am wondering how many bits required to encode a boolean formula like @(x1,x2,x3,x4) = (x1 OR x2 OR NOT(x3) OR x4) AND ((NOT)x2 OR x3) AND (x1 OR (NOT)x4) @ is an instance of SAT. I think it is 4 bits since total number of possible…
Justin Carrey
  • 3,563
  • 8
  • 32
  • 45
0
votes
1 answer

How can I find a solution of binary matrix equation AX = B?

Given an m*n binary matrix A, m*p binary matrix B, where n > m what is an efficient algorithm to compute X such that AX=B? For example: A = 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 …
owencm
  • 8,384
  • 6
  • 38
  • 54
-2
votes
1 answer

How does "minimize" work in Z3

I'm using the minimize function in Z3 a lot and I'm worrying about some scalability issues (when the number of variables I'm minimizing grows). What is the underlying algorithm of "minimize" and is there a general way to speed things up?
Halaby
  • 49
  • 4
-3
votes
1 answer

Dpll, SAT (satisfability) problem, Need DPLL Function or Procedure?

here is my problem, I stucked in Matlab with SAT Problem (Satisfability) Actually I need a function called DPLL, I saw it somewhere here but it's in java, can anyone help me please?
1 2 3 4 5 6 7
8