Satisfiability problem of Boolean expressions in Conjunctive Normal Form - PowerPoint PPT Presentation

About This Presentation
Title:

Satisfiability problem of Boolean expressions in Conjunctive Normal Form

Description:

Given a suitable representation for a Boolean function : ... valid or tautology if for all T. unsatisfiable if for any T. VALID. SATISFIABLE. UNSATISFIABLE ... – PowerPoint PPT presentation

Number of Views:704
Avg rating:3.0/5.0
Slides: 21
Provided by: maciejcies
Category:

less

Transcript and Presenter's Notes

Title: Satisfiability problem of Boolean expressions in Conjunctive Normal Form


1
Satisfiability problem of Boolean expressions in
Conjunctive Normal Form
  • Alodeep Sanyal
  • Electrical and Computer Engineering
  • University of Massachusetts at Amherst

Source K. A. Sakallah (University of Michigan),
S. Malik (Princeton University) and M.
Ciesielski (University of Massachusetts)
2
Boolean Satisfiability (SAT)
  • Given a suitable representation for a Boolean
    function
  • Find a truth assignment T appropriate to
    such that , or
  • prove that such an assignment does not exist
  • (i.e. for all possible
    assignments)
  • Definitions A Boolean expression is
  • satisfiable if there is a truth assignment T
    such that
  • valid or tautology if for all T
  • unsatisfiable if for any T

Figure adopted from C. Papadimitriou,
Computational Complexity, Addison Wesley
3
Motivation
  • SAT is a core computational engine for major
    applications
  • VLSI CAD
  • Testing and verification
  • Logic synthesis
  • FPGA routing
  • Path delay analysis
  • AI
  • Knowledge based deduction
  • Automatic theorem proving

Adopted from S. Malik, Princeton University
4
Development in SAT research a brief history
  • Main contributions in SAT research
  • 1960 Davis and Putnam resolution based -
    dealing with 10 variables
  • 1962 Davis, Logemann and Loveland DFS-based
    dealing with 10 variables
  • Basic framework for many modern SAT solvers
  • 1986 R. E. Bryant BDD-based dealing with
    100 variables
  • 1996 Silva and Sakallah GRASP (conflict-driven
    learning and non-chronological backtracking)
    dealing with 1k variables
  • 2001 Malik et al. Efficient BCP and decision
    making dealing with 10k vars

Adopted from S. Malik, Princeton University
5
Satisfiability of Boolean expressions in
Conjunctive Normal Form (CNF)
  • In a classical SAT problem, function is
    represented in conjunctive normal form (CNF)
  • If the function involves n variables, there
    are 2n possible truth assignments to be checked
  • As a matter of fact, SAT was the first
    established NP-Complete problem
  • Many other decision (yes/no) problems can be
    formulated in terms of Boolean Satisfiability

S. A. Cook. The complexity of theorem proving
procedures, Third Annual ACM Symp. On Theory of
Computing, pp. 151-158, 1971
6
Conjunctive Normal Form (CNF)
j ( a c ) ( b c ) (a b c )
7
CNF Formulas
  • Product of Sum (POS) representation of Boolean
    function
  • Describes solution using a set of constraints
  • very handy in many applications because new
    constraints can just be added to the list of
    existing constraints
  • very common in AI community
  • Example
  • j ( ab c)(a b c)( abc)( a b c)

8
CNF Basics
  • Implication
  • x y x y
  • (y) (x)
  • y x (contra positive)
  • Assignments a 0, b 1 a b
  • Partial (some variables still unassigned)
  • Complete (all variables assigned)
  • Conflicting (imply j)
  • Implications binate clauses
  • SAT find any satisfying assignment
  • Covering find an assignment optimizing some cost
    function

9
CNF for Boolean gate
jd d (a b )d a b
d a bd a b
(a d)(b d)(a b d)
(a d)(b d)(a b d)
10
Example
Single gate
a
(ab c)(ac)(bc)
c
b
Circuit network of connected gates
(124)(14)(24) (235)(25)(35) (23
6)(26)(36) (457)(47)(57) (568)(5
8)(68) (789)(79)(89) (9)
Justify to 0
  • Note
  • Node 1,2,3 PI
  • Node 4,5,6,7,8,9 AND gate

11
Circuit Satisfiability
j h d(ab) e(bc) fd gde hfg
h
(a d)(b d)(a b d)
(b e)(c e)(b c e)
(d f)(d f)
(d g)(e g)(d e g)
(f h)(g h)(f g h)
12
Solving SAT - Basic Case Splitting Algorithm
(Davis-Putnam-Logemann-Loveland 1962)
a
b
b
c
c
c
d
d
d
d
d
Source Karem A. Sakallah, Univ. of Michigan
13
Solving SAT Case Splitting with Implications
a
b
b
c
c
Source Karem A. Sakallah, Univ. of Michigan
14
Implementation
  • Clauses are stored in array
  • Track sensitivity of clauses for changes
  • all literals but one assigned (unit clause) -gt
    implication
  • all literals but two assigned -gt clause is
    sensitive to a change of either literal
  • all other clauses are insensitive and do not need
    to be observed
  • Learning
  • learned implications are added to the CNF formula
    as additional clauses
  • limit the size of the clause
  • limit the lifetime of a clause, will be removed
    after some time
  • Non-chronological back-tracking
  • similar to circuit case

15
Solving SAT Conflict-based Learning(GRASP
Silva and Sakallah 1996)
a
ab j ß j (a b)
a j ß j (a)
bc j ß j (b c)
b
b
c
Source Karem A. Sakallah, Univ. of Michigan
16
Further Improvements
  • Random restarts
  • stop after a given number of backtracks
  • start search again with modified ordering
    heuristic
  • keep learned structures !!!
  • very effective for satisfiable formulas but often
    also effective for unsatatisfiable formulas
  • Learning of equivalence relations
  • (a Þ b) Ù (b Þ a) Þ (a b)
  • very powerful for formal equivalence checking

17
SAT used in our research
  • Kunal Ganeshpure, Alodeep Sanyal, and Sandip
    Kundu. A pattern generation technique for
    maximizing power supply currents. ICCD 2006
  • apply SAT to set a maximal set of nodes (say S)
    to logic value 0
  • apply SAT again to set S to find a maximal subset
    S ( ) to set it to logic value 1
  • the switching occurring in set S gives
    an estimation on worst case power supply current
  • Alodeep Sanyal, Kunal Ganeshpure, and Sandip
    Kundu. On accelerating soft error detection by
    targeted pattern generation. ISQED 2007
  • identify a set of soft-error susceptible nodes
    using some filtering scheme
  • apply SAT to obtain a truth assignment in the PIs
    such that the set of susceptible nodes are
    excited in their vulnerable state

18
Acknowledgement
  • This presentation liberally borrowed material
    from the following tutorials
  • M. Ciesielski. Lecture on Boolean SAT CNF
    representation. Course Synthesis and
    Verification of Digital Systems
  • A. Kuehlmann. SAT Tutorial. UC Berkeley 2003
  • J. M. Silva and K. A. Sakallah. Boolean
    satisfiability in electronic design automation.
    DAC 2000
  • S. Malik. The quest for efficient Boolean
    satisfiability solvers. CMU seminar on SAT, 2004

19
???
20
Thank you!!!
Write a Comment
User Comments (0)
About PowerShow.com