Biomedical Engineering Reference
In-Depth Information
An extension of the SAT problem, in which the goal is to find all satisfying
assignments is called All-SAT .
Definition I.13: All-SAT . Given a Boolean formula S (on a set of binary variables
X ) expressed in CNF, the objective of All-SAT is to find all assignments of the binary
variables in X that satisfies S , if such an assignment exists.
One simple algorithm for All-SAT is to perform SAT on the formula S , express
the satisfying assignment as a cube k , complement k to get a clause c , add c asanew
clause of the formula S , and perform SAT again repeatedly until an UNSAT result
is obtained. The inclusion of c in S ensures that the same cube k cannot be found as
a satisfying assignment again. The process continues until no new solutions can be
found.
To d emonstrate All-SAT, we refer back to the previous e xam ple, S ( a , b , c )
=
( a
abc . We perform an
All-SAT by first taking the satisfying cube and complementing it (using DeMorgan's
law) to form a new clause c to be added to S :
+
b )
·
( a
+
b
+
c ) where we found a satisfying cube k
=
c = k =
( abc )
=
( a + b + c )
The new clause c is then appended to the original formula to obtain S
=
S
·
c :
=
+
·
+
+
·
+
+
S
( a
b )
( a
b
c )
( a
b
c )
Note that the new clause c is unsatisfiable using the variables from k , ensuring that
the next iteration of SAT will find a different satisfying cube. Th e new CNF S is
solved by SAT again to obtain a new satisfying cube, for example abc . The steps are
repeated until no new satisfying assignments are found.
Another useful extension of SAT is Weighted partial Max-SAT (WPMS) which
aims to satisfy a subset of the clauses. In WPMS, each clause in the CNF is iden-
tified as a hard clause or soft clause . Each soft clause is associated with a weight.
The problem then is to identify an assignment that satisfies all hard clauses while
maximizing the total weight of the satisfied soft clauses.
Definition I.14: Weighted partial Max-SAT (WPMS). Given a Boolean formula
S (on a set of binary variables X ) expressed in CNF, where each clause is identified
hard clause or soft clause , the objective of WPMS is to identify an assignment of
the binary variables in X that satisfies all hard clauses in S and maximizes the total
weigh of all satisfied soft clauses, if such an assignment exists.
To give an example of WPMS, consider the following CNF:
S ( x , y , z )
=
( x
+
y )
·
( x
+
z )
·
( y
+
z )
·
( x )
·
( y )
·
( z )
In this CNF, we are given that the first three clauses ( x
z ) are hard
clauses, while the last three clauses are soft clauses ( x ), ( y ), ( z ). Furthermore, the
soft clauses ( x ), ( y ), ( z ) are assigned weights of 3, 7, and 6 respectively.
For WPMS, an assignment of ( x , y , z ) must satisfy all the hard clauses and max-
imize the total weight of the satisfied soft clauses. In this example, each soft clause
+
y ), ( x
+
z ), ( y
+
 
Search WWH ::




Custom Search