boolean satisfiability
play

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


  1. Boolean Satisfiability Team Speedup Duo Stavan Karia Saiprasad Nooka CSCI 654 - Foundations of Parallel Computing

  2. Contents ● Definition ● Applications ● Typical Recent Approaches ● Key Components of Algorithm ● DPLL Algorithm ● Papers Referred ● Scope for parallelization ● Bibliography

  3. Definition 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 ⋁ B A = True , B = False A = False , B = True * The first problem to be shown NP Complete !

  4. Definition (contd.) ● K - SAT where ○ 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 : ( x 1 ⋁ x 2 ⋁ x 3 ⋁ ... ⋁ x k ) is a clause with k literals where ‘ ⋁ ‘ represents logical OR. ● Conjunctive Normal Forms ○ C 1 ⋀ C 2 ⋀ C 3 ⋀ … ⋀ C k where C n is a clause with all literals operated by ‘ ⋁ ‘ ( logical OR ) and clauses by ‘ ⋀ ‘ ( logical AND ) . ● Disjunctive Normal Forms ○ C 1 ⋁ C 2 ⋁ C 3 ⋁ … ⋁ C k where C n is a clause with all literals operated by ‘ ⋀ ‘ ( logical AND ) and clauses by ‘ ⋁ ‘ ( logical OR ) .

  5. Applications ● Design Verification ● Software Verifications ● Theorem Solving Fig 1. [5] Design Verification ● Automated Testing...

  6. Typical recent approaches Approach 1. Conflict Directed Clause Learning Figure 2 [2] . Conflict Driven Clause Learning

  7. Key components of the algorithm Component 1. Unit Propagation Component 2. Boolean Constraint Propagation Component 3. Resolution Component 4. Backtracking (DPLL [3] )

  8. DPLL Algorithm 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));

  9. Papers Referred ● Predicting Learnt Clauses Quality in Modern SAT Solvers : IJCAI'09 Proceedings of the 21st international jont conference on Artifical intelligence , Pages 399-404. ● Identifying good clauses [Sequential] ● Aggressive deletion of clauses [Sequential] ● Efficient Conflict Driven Learning in a Boolean Satisfiability Solver : ICCAD '01 Proceedings of the 2001 IEEE/ACM international conference on Computer-aided design , Pages 279-285 DPLL [3] [Sequential] ●

  10. Papers Referred (contd.) ● ManySAT: a Parallel SAT Solver : Youssef Hamadi, Said Jabour, Lakhdar Sais - Journal on satisfiability, boolean modelling and computation (JSAT). ● Learned back jumping ● Clause Sharing [Shared Memory, for parallel solving]

  11. Scope for parallelization ● Unit Propagation. ● Boolean Constraint Propagation. ● Testing of possible literal values.

  12. Bibliography [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.

  13. Questions [4]

Recommend


More recommend