(1) are true when all variables are set true, AND ALSO
(2) have some other truth assignment that makes E true}
This can also be stated (in Garey-Johnson notation) as:
Instance: Set of clauses C1,C2,....Ck over the boolean variables u1,u2,....um
Question:
(1) are all Ci true when u1,u2,....um are set to true, and
(2) is there another satisfying truth assignment (not all variables set to true)?
First, Show TRUE_SAT is in NP. (This is left as an exercise)
Then show TRUE-SAT is NP-hard.
If an expression is not true when all variables are true, then it is surely not in TRUE-SAT.
To show TRUE-SAT is NP-complete, we reduce SAT to it. Suppose we are given an expression E with variables a,b,c.
Convert E to E' as follows:
Test if E is true when a = T, b=T and c=T.
If so, we know E is satisfiable, then add (a U a') to E.
E' = E U ( a U a' )
// E satisfies first condition. a U a' satisfies the second condition.
Otherwise
E' = E U ( a U b U c )
//Adding a U b U c satisfies first condition. If E is in SAT, that satisfies the second condition.
Therefore, TRUE_SAT accepts only when E is in SAT. Hence TRUE-SAT is reducible to SAT and TRUE-SAT is NP-complete.
No comments:
Post a Comment