Boolean Satisfiability Team Speedup Duo Stavan Karia Saiprasad - - PowerPoint PPT Presentation

boolean satisfiability
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Boolean Satisfiability

Team Speedup Duo Stavan Karia Saiprasad Nooka

CSCI 654 - Foundations of Parallel Computing

slide-2
SLIDE 2
  • Definition
  • Applications
  • Typical Recent Approaches
  • Key Components of Algorithm
  • DPLL Algorithm
  • Papers Referred
  • Scope for parallelization
  • Bibliography

Contents

slide-3
SLIDE 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 !

slide-4
SLIDE 4
  • 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 : (x1 ⋁ x2 ⋁ x3⋁...⋁ xk) is a clause with k literals where ‘ ⋁ ‘ represents logical OR.

  • Conjunctive Normal Forms

○ C1 ⋀ C2 ⋀ C3⋀ … ⋀ Ck where Cn is a clause with all literals operated by ‘ ⋁ ‘ ( logical OR ) and clauses by ‘ ⋀ ‘ ( logical AND ) .

  • Disjunctive Normal Forms

○ C1 ⋁ C2 ⋁ C3⋁ … ⋁ Ck where Cn is a clause with all literals operated by ‘ ⋀ ‘ ( logical AND ) and clauses by ‘ ⋁ ‘ ( logical OR ) .

Definition (contd.)

slide-5
SLIDE 5

Applications

  • Design Verification
  • Software Verifications
  • Theorem Solving
  • Automated Testing...

Fig 1.[5] Design Verification

slide-6
SLIDE 6

Typical recent approaches

Approach 1. Conflict Directed Clause Learning

Figure 2[2] . Conflict Driven Clause Learning

slide-7
SLIDE 7

Key components of the algorithm

Component 1. Unit Propagation Component 2. Boolean Constraint Propagation Component 3. Resolution Component 4. Backtracking (DPLL[3])

slide-8
SLIDE 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));

slide-9
SLIDE 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

  • n Computer-aided design , Pages 279-285
  • DPLL [3] [Sequential]
slide-10
SLIDE 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]
slide-11
SLIDE 11

Scope for parallelization

  • Unit Propagation.
  • Boolean Constraint Propagation.
  • Testing of possible literal values.
slide-12
SLIDE 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.

slide-13
SLIDE 13

Questions

[4]