Boolean Satisfiability
Team Speedup Duo Stavan Karia Saiprasad Nooka
CSCI 654 - Foundations of Parallel Computing
Boolean Satisfiability Team Speedup Duo Stavan Karia Saiprasad - - PowerPoint PPT Presentation
Boolean Satisfiability Team Speedup Duo Stavan Karia Saiprasad Nooka CSCI 654 - Foundations of Parallel Computing Contents Definition Applications Typical Recent Approaches Key Components of Algorithm DPLL
Team Speedup Duo Stavan Karia Saiprasad Nooka
CSCI 654 - Foundations of Parallel Computing
Boolean Satisfiability [1] * : It is the problem of deciding (requires a YES or NO answer) if there is an assignment to the variables/literals in the boolean formula such that the formula is satisfied. Example :
A = True , B = False A = False , B = True * The first problem to be shown NP Complete !
○ K is the number of literals in a clause (example 2-SAT , 3 - SAT , etc.) ○ clause is a collection of literals following a rule/operator ■ For example : (x1 ⋁ x2 ⋁ x3⋁...⋁ xk) is a clause with k literals where ‘ ⋁ ‘ represents logical OR.
○ C1 ⋀ C2 ⋀ C3⋀ … ⋀ Ck where Cn is a clause with all literals operated by ‘ ⋁ ‘ ( logical OR ) and clauses by ‘ ⋀ ‘ ( logical AND ) .
○ C1 ⋁ C2 ⋁ C3⋁ … ⋁ Ck where Cn is a clause with all literals operated by ‘ ⋀ ‘ ( logical AND ) and clauses by ‘ ⋁ ‘ ( logical OR ) .
Fig 1.[5] Design Verification
Approach 1. Conflict Directed Clause Learning
Figure 2[2] . Conflict Driven Clause Learning
Component 1. Unit Propagation Component 2. Boolean Constraint Propagation Component 3. Resolution Component 4. Backtracking (DPLL[3])
DPLL : if set of clauses is a consistent set of literals then return true; if set of clauses contains an empty clause then return false; for every unit clause k in the set of clauses set of clauses becomes unitPropagation(k, set of clauses); for every literal k that occurs pure in set of clauses set of clauses becomes pureLiteralAssignment(k, set of clauses); k becomes chooseLiteral(set of clauses); return DPLL(set of clauses ∧ k) or DPLL(set of clauses ∧ not(k));
IJCAI'09 Proceedings of the 21st international jont conference on Artifical intelligence , Pages 399-404.
ICCAD '01 Proceedings of the 2001 IEEE/ACM international conference
Youssef Hamadi, Said Jabour, Lakhdar Sais - Journal on satisfiability, boolean modelling and computation (JSAT).
[1] Stephen Cook,1971 - The complexity of theorem proving procedures , STOC '71 Proceedings of the third annual ACM symposium on Theory of computing. [2] Article - http://cacm.acm.org/magazines/2009/8/34498-boolean-satisfiability-from-theoretical-hardness-to-practical- success/fulltext Accessed on : 09/22/2014 [3] M. Davis, G. Logemann, and D. W. Loveland. A machine program for theorem-proving.Communications of the ACM, 5(7):394–397, 1962. [4] Article - http://gianelloni.wordpress.com/2013/10/14/project-_________/ Accessed on : 09/22/2014 [5] S. Eggersgl¨uß and R. Drechsler, High Quality Test Pattern Generation and Boolean Satisfiability.
[4]