1 / 30

Satisfiability Checking of Non-clausal Formulas using General Matings

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

Download Presentation

Satisfiability Checking of Non-clausal Formulas using General Matings

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Satisfiability Checking of Non-clausal Formulas using General Matings Himanshu Jain Constantinos Bartzis Edmund Clarke Carnegie MellonUniversity

  2. 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

  3. 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

  4. 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

  5. Outline • Introduction • General Matings • Search space pruning • Learning • Non-chronological backtracking • Experimental results

  6. 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

  7. Basic search vpgraph c a Partial solution -c b -a b a -a partial assignment -c Satisfiable!

  8. 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

  9. Main problem: exponentially many vertical paths in the vpgraph of F Sample vpgraph

  10. Our contributions • Preventing enumeration of vertical paths • Search space pruning • Learning • Non-chronological backtracking

  11. Outline • Introduction • General Matings • Search space pruning • Learning • Non-chronological backtracking • Experimental results

  12. a a a b b b b b b a a a Search space pruning on vpgraph Avoids enumeration of exponentially many paths

  13. a a b b b b a a a a Conflict when pruning vpgraph Local conflict

  14. a b b a a Local learning Locally learned clause: (a b)

  15. Backtrack a  b  x Non-chronological backtracking a b x

  16. a  b  x Non-chronological backtracking a b x

  17. 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

  18. 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

  19. 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

  20. Conflicts and implications in hpgraph • Detecting conflict and implications • Can be done in linear time • Why use hpgraph • Globally learned clauses • Obtain implications efficiently

  21. 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

  22. Outline • Introduction • General Matings • Search space pruning • Learning • Non-chronological backtracking • Experimental results

  23. Experimental results Bench mark Prob- lems Classification theorems for quasigroups [Sorge et al. SAT 2005] Timeout of 10 minutes per problem per solver

  24. 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

  25. Conclusion • SAT solver based on General Matings • Graphical representations: vpgraph, hpgraph • Preventing enumeration of vertical paths • Experiments show promise of this technique

  26. Questions?

  27. 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)

  28. 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

  29. 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  rs Partial truth assignment: {p=false, q=false, s=true}

  30. 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

More Related