Boolean Satisfiability
ECE 256B – Spring 2002
1 of 17
RCFB256B3449  Bool. Satis.
CNF:
Conjunctive Normal Form
A CNF is a Product of Sums of literals
eg:
xy zx yz uu z
+
′ +
()
′
++
′ +
′ +
such a representation is general in that any logic function can be represented (note: can find a CNF
from DNF by applying negation & De Morgan laws:
fx
y
zx
u
zy
z f xyzxuz
yz
=
′
+
′
+⇒=
′
′
′ +
′ +
′ +
′
although it is trivial to find a truth assignment for DNF i.e
xy z
=
′
==
11
1
,,
above – it is very hard in
general to find a truth assignment for CNF 1 (or equivalently an assignment to false for DNF…)
SAT:
Given a CNF on a set of literals, is there an assignment of values that satisfy CNF
i.e can we find
xyz
, , .
..
∋
CNF=1?
(note: if not
⇒
CNF=0 for all assignments: not satifiable)
⇒
if we can build a BDD for CNF, any path is a SAT & nosolns
⇒
BDD=0
SAT is still interesting since can be solved (sometimes for tens of thousands of literals & hundreds
of thousands of terms)
NP&SAT:
How hard is SAT?
SAT represents evaluation of an arbitrary Boolean function.
Thus many other problems can be cast in
SAT form.
This property was exploited by S.Cook to create a partition of “Hard Problems” that, in a
specified sense, are equally hard.
Boolean Satisfiability
ECE 256B – Spring 2002
2 of 17
RCFB256B3449  Bool. Satis.
Notion:
Polynomial Equivalence
Given a problem written in K characters, can one find another problem in no more than
K
p
characters
for some fixed
P
∋
the two problems are equivalent. i.e
the first problem is valid if the second one is
valid.
Given a problem in a set of polynomial equivalent problems,
if one can solve some problem in Polynomial Time
⇒
all problems in class can be solved in PTime.
Notion:
NPTime there are many problems for which, given a solution, one can check (or validate) the
solution in PTime on a Turing machine.
Equivalently, one could solve the problems in PTime on an
exponential set of turing machines, with each machine choosing an alternate character (out of a finite
alphabet) on each program cycle.
There are several NP  problems (an infinite set.)
eg.
Traveling Salesperson i.e given a graph with weighted edges, is there a tour of each vertex with
cost =
∑
(of weights of arcs taken)
<
c,
a predefined constant.
eg.
Clique Cover
i.e given a graph, can one cover each edge with no more than
c
cliques (complete
subgraphs)?
eg.
Knapsack given a collection of objects of different weights, and a sack with capacity M, can
one fill the sack so that at most m<<M capacity is unused?
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentBoolean Satisfiability
ECE 256B – Spring 2002
3 of 17
RCFB256B3449  Bool. Satis.
SAT is clearly a member of NP: i.e given a CNF and a solution, we can clearly verify the solution in
polynomial steps of a turing machine. In fact, SAT is the prototypical NP problem…
Cook showed that he could simulate the behavior of an arbitrary turing machine as a polynomial
equivalent instance of SAT.
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '09
 brewer
 Boolean satisfiability problem, boolean satisfiability, ECE 256B, PTime

Click to edit the document details