Title: Satisfiability problem of Boolean expressions in Conjunctive Normal Form
1Satisfiability 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)
2Boolean 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
3Motivation
- 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
4Development 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
5Satisfiability 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
6Conjunctive Normal Form (CNF)
j ( a c ) ( b c ) (a b c )
7CNF 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)
-
8CNF 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
9CNF 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)
10Example
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
11Circuit 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)
12Solving 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
13Solving SAT Case Splitting with Implications
a
b
b
c
c
Source Karem A. Sakallah, Univ. of Michigan
14Implementation
- 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
15Solving 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
16Further 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
17SAT 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
18Acknowledgement
- 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???
20Thank you!!!