300 likes | 457 Views
Satisfiability Checking of Non-clausal Formulas using General Matings. Himanshu Jain Constantinos Bartzis Edmund Clarke. Carnegie Mellon University. Boolean Satisfiability. The first problem to be proven NP-complete Applications in verification equivalence checking bounded model checking
E N D
Satisfiability Checking of Non-clausal Formulas using General Matings Himanshu Jain Constantinos Bartzis Edmund Clarke Carnegie MellonUniversity
Boolean Satisfiability • The first problem to be proven NP-complete • Applications in verification • equivalence checking • bounded model checking • predicate abstraction • theorem proving • test generation • Applications in AI • planning
Current state of SAT solving • State-of-the-art complete SAT solvers • Davis-Putnam-Logemann-Loveland (DPLL) algorithm • Require the input formula to be in clausal form (CNF) • MiniSat, BerkMin, Siege, zChaff, Limmat, GRASP, SATO • Conversion to CNF by adding new variables • Linear size but exponential state-space • In practice does not seem to hurt
Non-Clausal (non-cnf) SAT solving • DPLL on circuit representation of formula • Ganai et al. (DAC 2002) • Lu et al. (CSAT, DAC 2003) • Thiffault et al. (NoClause, SAT 2004) This work: Non-clausal SAT-solver based on DPLL General Matings
Outline • Introduction • General Matings • Search space pruning • Learning • Non-chronological backtracking • Experimental results
p p q r s r q q General Matings example Formula F: (((p q) r q) (p (r s) q)) Vertical path Vertical path form (vpgraph) of F Each vertical path corresponds to a termin the DNF form of F F is satisfiable iff there exists a vertical path without opposite literals
Basic search vpgraph c a Partial solution -c b -a b a -a partial assignment -c Satisfiable!
Basic Idea • Given negation normal formula (NNF) F • Obtain vpgraph of F (O(k2), k= |F|) • Find vertical path without opposite literals • Due to P. Andrews , W. Bibel [1981] • Focus on higher order theorem proving • Quantifier instantiation is the main problem
Main problem: exponentially many vertical paths in the vpgraph of F Sample vpgraph
Our contributions • Preventing enumeration of vertical paths • Search space pruning • Learning • Non-chronological backtracking
Outline • Introduction • General Matings • Search space pruning • Learning • Non-chronological backtracking • Experimental results
a a a b b b b b b a a a Search space pruning on vpgraph Avoids enumeration of exponentially many paths
a a b b b b a a a a Conflict when pruning vpgraph Local conflict
a b b a a Local learning Locally learned clause: (a b)
Backtrack a b x Non-chronological backtracking a b x
a b x Non-chronological backtracking a b x
Limitations of local learning • Learned clause is useful at a particular node • Can learn same clause multiple times Need an equivalent of learning in CNF SAT solvers
Dual of vpgraph: hpgraph Formula F: (((p q) r q) (p (r s) q)) horizontal path p q p q p p r s r s r r q q q q vpgraph of F hpgraph of F Each horizontal path corresponds to a clause in the CNF representation of F
p p q p p q r s r s r r q q q q Conflicts and implications in hpgraph Conflict clause: r p Global conflict Unit clause: p q r s Implied literal : r
Conflicts and implications in hpgraph • Detecting conflict and implications • Can be done in linear time • Why use hpgraph • Globally learned clauses • Obtain implications efficiently
hpgraph of F vpgraph of F p q p q p p r s r r s r q q q q Putting vpgraph and hpgraph together Formula F: (((p q) r q) (p (r s) q)) {p, r} Global Conflict Unit clauses (implications) Local conflict ? Aim to find a vertical path in vpgraph without opposite literals
Outline • Introduction • General Matings • Search space pruning • Learning • Non-chronological backtracking • Experimental results
Experimental results Bench mark Prob- lems Classification theorems for quasigroups [Sorge et al. SAT 2005] Timeout of 10 minutes per problem per solver
Problem SatMate MiniSat BerkMin Siege zChaff Time Local confs Global confs Time Time Time Time dnd02 174 23500 15588 1308 1085 1238 TO brn13 181 20699 20062 1441 1673 1508 TO icl39 200 22683 14069 TO TO 2629 TO icl45 TO 4850 72106 TO 2320 1641 TO q2.14 237 113 15863 23 24 34 88 cache12 58 659 7131 1 1 1 2 Performance on individual benchmarks
Conclusion • SAT solver based on General Matings • Graphical representations: vpgraph, hpgraph • Preventing enumeration of vertical paths • Experiments show promise of this technique
Conversion to CNF • Results in more complex formula. Either: • Same variables but exponential size • Linear size but exponential state-space • Doesn’t seem to hurt in practice • Original formula: (a b) (c d) (e f) • CNF using expansion: (a c e) (a c f) (a d e) (a d f) (b c e) (b c f) (b d e) (b d f) • CNF using new variables: (x1 x2 x3) (x1 a b) (x1 a) (x1 b) (x2 a d) (x2 c) (x2 d) (x3 f e) (x3 f ) (x3 e)
p p q p p q r s r s r r q q q q Using hpgraph for conflict detection Conflict clause: r p Partial truth assignment: {r=true, p=true} Global conflict
p q p q p p r s r s r r q q q q Using hpgraph to produce implications Unit clause: p q rs Partial truth assignment: {p=false, q=false, s=true}
Obtaining vpgraph • Constructed directly from a NNF formula • Time/Space required: O(k2) • k is the size of given formula • Recently improved to O(k) • Directed acyclic graph