Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 Satisfiability Checking of Non-clausal Formulas using General Matings Himanshu Jain Constantinos Bartzis Edmund Clarke Carnegie Mellon University."— Presentation transcript:

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

2 2 The first problem to be proven NP-complete The first problem to be proven NP-complete Applications in verification Applications in verification –equivalence checking –bounded model checking –predicate abstraction –theorem proving –test generation Applications in AI Applications in AI –planning Boolean Satisfiability

3 3 Current state of SAT solving State-of-the-art complete SAT solvers State-of-the-art complete SAT solvers Davis-Putnam-Logemann-Loveland (DPLL) algorithm Davis-Putnam-Logemann-Loveland (DPLL) algorithm Require the input formula to be in clausal form (CNF) Require the input formula to be in clausal form (CNF) –MiniSat, BerkMin, Siege, zChaff, Limmat, GRASP, SATO Conversion to CNF by adding new variables Conversion to CNF by adding new variables –Linear size but exponential state-space –In practice does not seem to hurt

4 4 Non-Clausal (non-cnf) SAT solving DPLL on circuit representation of formula 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 5 Outline Introduction Introduction General Matings General Matings Search space pruning Search space pruning Learning Learning Non-chronological backtracking Non-chronological backtracking Experimental results Experimental results

6 6 General Matings example Formula F: (((p  q)   r   q)  (  p  (r   s)  q)) qq rr q pp Vertical path form (vpgraph) of F F is satisfiable iff there exists a vertical path without opposite literals pq r ss Vertical path Each vertical path corresponds to a term in the DNF form of F

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

8 8 Basic Idea Given negation normal formula (NNF) F Given negation normal formula (NNF) F Obtain vpgraph of F (O(k 2 ), k= |F|) Obtain vpgraph of F (O(k 2 ), k= |F|) Find vertical path without opposite literals Find vertical path without opposite literals Due to P. Andrews, W. Bibel [1981] Due to P. Andrews, W. Bibel [1981] –Focus on higher order theorem proving –Quantifier instantiation is the main problem

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

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

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

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

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

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

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

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

17 17 Limitations of local learning Learned clause is useful at a particular node Learned clause is useful at a particular node Can learn same clause multiple times Can learn same clause multiple times Need an equivalent of learning in CNF SAT solvers

18 18 Dual of vpgraph: hpgraph Formula F: (((p  q)   r   q)  (  p  (r   s)  q)) hpgraph of F Each horizontal path corresponds to a clause in the CNF representation of F p q rr qq q pp r  s horizontal path p q rr qq q pp r  s vpgraph of F

19 19 Conflicts and implications in hpgraph rr qq q r  s pp p q Conflict clause:  r   p Global conflict p q pp rr qq q r  s Unit clause: p  q  r   s Implied literal : r

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

21 21 Putting vpgraph and hpgraph together Formula F: (((p  q)   r   q)  (  p  (r   s)  q)) pp rr p q qq q r  s hpgraph of F Aim to find a vertical path in vpgraph without opposite literals p q rr qq q pp r  s vpgraph of F {p,  r} Global Conflict Unit clauses (implications) Local conflict ?

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

23 23 Experimental results SatMateMiniSatBerkMinSiegezChaff TimeSolvedTimeSolvedTimeSolvedTimeSolvedTimeSolved QG62562326623549386179466251844652518447321180 QG6*2562326623537562211159752393025422545557186 Mboard19431612433112494711450512502911 Pigeon195110116114954591061749548311 Bench mark Prob- lems Timeout of 10 minutes per problem per solver Classification theorems for quasigroups [Sorge et al. SAT 2005]

24 24 Performance on individual benchmarks 2111713165958cache12 8834242315863113237q2.14 TO16412320TO721064850TOicl45 TO2629TO 1406922683200icl39 TO1508167314412006220699181brn13 TO1238108513081558823500174dnd02 Time Global confsLocal confsTime zChaffSiegeBerkMinMiniSatSatMate Problem

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

26 26 Questions?

27 27 Conversion to CNF Results in more complex formula. Either: Results in more complex formula. Either: –Same variables but exponential size –Linear size but exponential state-space Doesn’t seem to hurt in practiceDoesn’t seem to hurt in practice Original formula: Original formula: (a  b)  (  c  d)  (e   f) CNF using expansion: 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: CNF using new variables: (x 1  x 2  x 3 )  (x 1   a   b)  (  x 1  a)  (  x 1  b)  (x 2  a   d)  (  x 2   c)  (  x 2  d)  (x 3  f   e)  (  x 3   f )  (  x 3  e)

28 28 Using hpgraph for conflict detection pp rr p q qq q r  s Partial truth assignment: {r=true, p=true} rr qq q r  s pp p q Conflict clause:  r   p Global conflict

29 29 Using hpgraph to produce implications pp rr p q qq q r  s Partial truth assignment: {p=false, q=false, s=true} p q pp rr qq q r  s Unit clause: p  q  r   s

30 30 Obtaining vpgraph Constructed directly from a NNF formula Constructed directly from a NNF formula Time/Space required: O(k 2 ) Time/Space required: O(k 2 ) –k is the size of given formula –Recently improved to O(k) Directed acyclic graph Directed acyclic graph


Download ppt "1 Satisfiability Checking of Non-clausal Formulas using General Matings Himanshu Jain Constantinos Bartzis Edmund Clarke Carnegie Mellon University."

Similar presentations


Ads by Google