sat solver as conp solver beyond resolution
play

SAT Solver as coNP Solver Beyond Resolution Norbert Manthey - PowerPoint PPT Presentation

SAT Solver as coNP Solver Beyond Resolution Norbert Manthey International Center for Computational Logic Technische Universit at Dresden Germany Motivation Propositional Logic and Satisfiability Proof Theory and SAT Solving


  1. SAT Solver as coNP Solver – Beyond Resolution Norbert Manthey International Center for Computational Logic Technische Universit¨ at Dresden Germany ◮ Motivation ◮ Propositional Logic and Satisfiability ◮ Proof Theory and SAT Solving ◮ Beyond Resolution ◮ Conclusion Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 1

  2. Motivation Why is solving SAT interesting? Who benefits from improved SAT solvers? Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 2

  3. Applications of SAT Solving ◮ Many industrial applications have the complexity NP ◮ Satisfiability Testing (SAT) is NP -complete ◮ There are many industrial problems that are successfully solved with modern solvers Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 3

  4. Applications of SAT Solving ◮ Many industrial applications have the complexity NP ◮ Satisfiability Testing (SAT) is NP -complete ◮ There are many industrial problems that are successfully solved with modern solvers ◮ Translating applications directly into SAT ⊲ (Bounded) Model Checking ⊲ Planning ⊲ Periodic Event Scheduling ⊲ Termination Analysis ⊲ Bioinformatics ⊲ Hardware and Software Verification ⊲ Information Flow Quantification Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 4

  5. Applications of SAT Solving ◮ Many industrial applications have the complexity NP ◮ Satisfiability Testing (SAT) is NP -complete ◮ There are many industrial problems that are successfully solved with modern solvers ◮ Using (incremental) SAT solvers as back-end ⊲ Optimization variant of SAT: MaxSAT ⊲ SAT Modulo Theories ⊲ Constraint Satisfaction Problem ⊲ Minimum Unsatisfiable Subformula Extraction ⊲ Minimum Correction Subset Extraction Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 5

  6. Applications of SAT Solving ◮ Many industrial applications have the complexity NP ◮ Satisfiability Testing (SAT) is NP -complete ◮ There are many industrial problems that are successfully solved with modern solvers ◮ SAT solvers usually build the backbone . . . ⊲ I SABELLE uses N ITPICK ⊲ N ITPICK uses K ODKOD ⊲ K ODKOD uses M INISAT (or another SAT solver) Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 6

  7. Propositional Logic and Satisfiability Preliminaries and definitions. Properties of propositional logic proofs. Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 7

  8. Propositional Logic ◮ Let V be the set of variables V = { a , b , ... } which can be mapped to the truth values {⊤ , ⊥} ◮ Literals are positive or negative variables: the complement of a literal x , or ¬ x is the literal ¬ x , or x , respectively. ◮ A clause is a disjunction of literals C 1 = ( a ∨ ¬ b ∨ c ) ◮ A formula in conjunctive normal form (CNF) is a conjunction of clauses F = ( C 1 ∧ C 2 ∧ . . . ) ◮ Clauses and formulas can be represented as sets ◮ A resolvent C = C 1 ⊗ C 2 of two clauses C 1 and C 2 is defined as: C := { ( C 1 \ { x } ) ∪ ( C 2 \ {¬ x } ) } Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 8

  9. Propositional Logic ◮ An interpretation J maps variables truth values. ◮ The value of a formula F under an interpretation J is evaluated according to propositional logic. ◮ A formula F is satisfied by an interpretation J , if J maps F to ⊤ . Such a satisfying interpretation J is called model. ◮ A formula F is unsatisfiable, if there exists no J that maps F to ⊤ . ◮ A formula F is called a tautology, if F is equivalent to ⊤ ◮ Let TAUT be the set of all tautological formulas Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 9

  10. Satisfiability Testing (SAT Problem) ◮ SAT Problem: Given a formula F , is there a model J for the formula? ◮ Complexity: N P complete ◮ Algorithms: Theoretically, non-deterministic algorithms Practically: Truth table DPLL Algorithm CDCL Algorithm and with learning, restarts and simplification Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 10

  11. Satisfiability Testing (SAT Problem) ◮ SAT Problem: Given a formula F , is there a model J for the formula? ◮ Complexity: N P complete ◮ Algorithms: Theoretically, non-deterministic algorithms Practically: Truth table DPLL Algorithm CDCL Algorithm and with learning, restarts and simplification ◮ If F is satisfiable, a good heuristic finds the solution in linear time Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 11

  12. Satisfiability Testing (SAT Problem) ◮ SAT Problem: Given a formula F , is there a model J for the formula? ◮ Complexity: N P complete ◮ Algorithms: Theoretically, non-deterministic algorithms Practically: Truth table DPLL Algorithm CDCL Algorithm and with learning, restarts and simplification ◮ If F is satisfiable, a good heuristic finds the solution in linear time ◮ However, what happens if a search decision leads to an unsatisfiable sub-formula? Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 12

  13. Satisfiability Testing (SAT Problem) ◮ SAT Problem: Given a formula F , is there a model J for the formula? ◮ Complexity: N P complete ◮ Algorithms: Theoretically, non-deterministic algorithms Practically: Truth table DPLL Algorithm CDCL Algorithm and with learning, restarts and simplification ◮ If F is satisfiable, a good heuristic finds the solution in linear time ◮ However, what happens if a search decision leads to an unsatisfiable sub-formula? ⊲ What about complexity here? ◮ . . . and what about the complexity of showing unsatisfiability? Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 13

  14. Proof Theory and SAT Solving Why do we need proofs and proof theory? How strong are current SAT solvers? Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 14

  15. Proof Theory ◮ Usual question in applications: Is my problem sound? ◮ More formal: F ∈ TAUT ? ◮ More easily: ¬ F ∈ ¬ TAUT ? ◮ . . . or: ¬ F ≡ ⊥ ? ◮ Complexity: co N P Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 15

  16. Proof Theory ◮ Usual question in applications: Is my problem sound? ◮ More formal: F ∈ TAUT ? ◮ More easily: ¬ F ∈ ¬ TAUT ? ◮ . . . or: ¬ F ≡ ⊥ ? ◮ Complexity: co N P ◮ How to show the unsatisfiability of a formula? ⊲ Truth table, DPLL, CDCL, general resolution, . . . ⊲ Basically, show that F | = ( ) ⊲ Can the check be done in a linear number of steps? ⊲ Are there any lower or upper bounds known? Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 16

  17. Proof Theory - Proof Properties ◮ Resolution style proofs P = ( C 1 , C 2 , C 3 , . . . ( )) for a formula F : ⊲ P := P ∪ { C 0 | C ∈ F } , assign the depth 0 to each clause of F ⊲ Resolution: C max h + 1 := ⊗{ C h j | j < i , C j ∈ ForC j ∈ P } i ⊲ Length: the number of resolvents before ( ) is derived ⊲ Width: the maximum size of intermediate resolvents ⊲ Space: the maximum number of clauses used for a resolution step ⊲ Height: the maximum depth of a clause in a proof Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 17

  18. Proof Theory - Proof Properties ◮ Resolution style proofs P = ( C 1 , C 2 , C 3 , . . . ( )) for a formula F : ⊲ P := P ∪ { C 0 | C ∈ F } , assign the depth 0 to each clause of F ⊲ Resolution: C max h + 1 := ⊗{ C h j | j < i , C j ∈ ForC j ∈ P } i ⊲ Length: the number of resolvents before ( ) is derived ⊲ Width: the maximum size of intermediate resolvents ⊲ Space: the maximum number of clauses used for a resolution step ⊲ Height: the maximum depth of a clause in a proof ◮ Upper bounds: ⊲ Length: possible number of clauses for the given variables (2 n + 1 − 1) ⊲ Space: n + 2, where n is the number of variables in the formula F Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 18

  19. Proof Theory - Proof Properties ◮ Resolution style proofs P = ( C 1 , C 2 , C 3 , . . . ( )) for a formula F : ⊲ P := P ∪ { C 0 | C ∈ F } , assign the depth 0 to each clause of F ⊲ Resolution: C max h + 1 := ⊗{ C h j | j < i , C j ∈ ForC j ∈ P } i ⊲ Length: the number of resolvents before ( ) is derived ⊲ Width: the maximum size of intermediate resolvents ⊲ Space: the maximum number of clauses used for a resolution step ⊲ Height: the maximum depth of a clause in a proof ◮ Upper bounds: ⊲ Length: possible number of clauses for the given variables (2 n + 1 − 1) ⊲ Space: n + 2, where n is the number of variables in the formula F ◮ Lower bounds: ⊲ This is an open question. Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 19

  20. Proof Theory - Proof Properties ◮ Resolution style proofs P = ( C 1 , C 2 , C 3 , . . . ( )) for a formula F : ⊲ P := P ∪ { C 0 | C ∈ F } , assign the depth 0 to each clause of F ⊲ Resolution: C max h + 1 := ⊗{ C h j | j < i , C j ∈ ForC j ∈ P } i ⊲ Length: the number of resolvents before ( ) is derived ⊲ Width: the maximum size of intermediate resolvents ⊲ Space: the maximum number of clauses used for a resolution step ⊲ Height: the maximum depth of a clause in a proof ◮ Upper bounds: ⊲ Length: possible number of clauses for the given variables (2 n + 1 − 1) ⊲ Space: n + 2, where n is the number of variables in the formula F ◮ Lower bounds: ⊲ This is an open question. ◮ In this talk, lets consider length only, because it relates to run time Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 20

Recommend


More recommend