preprocessing techniques
play

Preprocessing Techniques Marijn J.H. Heule - PowerPoint PPT Presentation

Preprocessing Techniques Marijn J.H. Heule http://www.cs.cmu.edu/~mheule/15816-f19/ Automated Reasoning and Satisfiability, September 19, 2019 1 / 47 Motivation Subsumption Variable Elimination Bounded Variable Addition Blocked Clause


  1. Preprocessing Techniques Marijn J.H. Heule http://www.cs.cmu.edu/~mheule/15816-f19/ Automated Reasoning and Satisfiability, September 19, 2019 1 / 47

  2. Motivation Subsumption Variable Elimination Bounded Variable Addition Blocked Clause Elimination Hyper Binary Resolution Unhiding Redundancy Concluding Remarks 2 / 47

  3. Motivation Subsumption Variable Elimination Bounded Variable Addition Blocked Clause Elimination Hyper Binary Resolution Unhiding Redundancy Concluding Remarks 3 / 47

  4. Interaction between different solving approaches Translator reencoding encoding Simplifier inprocessing preprocessing Clause Learner 4 / 47

  5. Interaction between different solving approaches Translator reencoding encoding Simplifier inprocessing preprocessing Clause Learner It all comes down to adding and removing redundant clauses 4 / 47

  6. Redundant clauses A clause is redundant with respect to a formula if adding it to the formula preserves satisfiability. For unsatisfiable formulas, all clauses can be added, including the empty clause ⊥ . 5 / 47

  7. Redundant clauses A clause is redundant with respect to a formula if adding it to the formula preserves satisfiability. For unsatisfiable formulas, all clauses can be added, including the empty clause ⊥ . A clause is redundant with respect to a formula if removing it from the formula preserves unsatisfiability. For satisfiable formulas, all clauses can be removed. 5 / 47

  8. Redundant clauses A clause is redundant with respect to a formula if adding it to the formula preserves satisfiability. For unsatisfiable formulas, all clauses can be added, including the empty clause ⊥ . A clause is redundant with respect to a formula if removing it from the formula preserves unsatisfiability. For satisfiable formulas, all clauses can be removed. Challenge regarding redundant clauses: How to check redundancy in polynomial time? Ideally find redundant clauses in linear time 5 / 47

  9. Preprocessing and Inprocessing in Practice 5000 4500 pre- & inprocessing disabled only clause elimination enabled 4000 base line without clause elimination Lingeling version aqw (base line) 3500 Runtime (sec) 3000 2500 2000 1500 1000 500 0 0 50 100 150 200 250 Number of solved application benchmarks of SAT Competition 2013 6 / 47

  10. Outline Motivation Subsumption Variable Elimination Bounded Variable Addition Blocked Clause Elimination Hyper Binary Resolution Unhiding Redundancy Concluding Remarks 7 / 47

  11. Motivation Subsumption Variable Elimination Bounded Variable Addition Blocked Clause Elimination Hyper Binary Resolution Unhiding Redundancy Concluding Remarks 8 / 47

  12. Tautologies and Subsumption Definition (Tautology) A clause C is a tautology if its contains two complementary literals x and ¯ x . Example The clause ( a ∨ b ∨ ¯ b ) is a tautology. Definition (Subsumption) Clause C subsumes clause D if and only if C ⊂ D . Example The clause ( a ∨ b ) subsumes clause ( a ∨ b ∨ ¯ c ) . 9 / 47

  13. Self-Subsuming Resolution Self-Subsuming Resolution C ∨ x D ∨ ¯ x ( a ∨ b ∨ x ) ( a ∨ b ∨ c ∨ ¯ x ) C ⊆ D D ( a ∨ b ∨ c ) resolvent D subsumes second antecedent D ∨ ¯ x 10 / 47

  14. Self-Subsuming Resolution Self-Subsuming Resolution C ∨ x D ∨ ¯ x ( a ∨ b ∨ x ) ( a ∨ b ∨ c ∨ ¯ x ) C ⊆ D D ( a ∨ b ∨ c ) resolvent D subsumes second antecedent D ∨ ¯ x Example Assume a CNF contains both antecedents . . . ( a ∨ b ∨ x )( a ∨ b ∨ c ∨ ¯ x ) . . . If D is added, then D ∨ ¯ x can be removed which in essence removes ¯ x from D ∨ ¯ x . . . ( a ∨ b ∨ x )( a ∨ b ∨ c ) . . . Initially in the SATeLite preprocessor, [EenBiere’07] now common in most solvers (i.e., as pre- and inprocessing) 10 / 47

  15. Self-Subsuming Example Self-Subsuming Resolution C ∨ x D ∨ ¯ x ( a ∨ b ∨ x ) ( a ∨ b ∨ c ∨ ¯ x ) C ⊆ D D ( a ∨ b ∨ c ) resolvent D subsumes second antecedent D ∨ ¯ x Example: Remove literals using self-subsumption ( a ∨ b ∨ c ) ∧ ( ¯ a ∨ b ∨ c ) ∧ c ) ∧ ( a ∨ ¯ (¯ a ∨ b ∨ ¯ b ∨ c ) ∧ a ∨ ¯ a ∨ ¯ b ∨ ¯ (¯ b ∨ d ) ∧ ( ¯ d ) ∧ c ∨ ¯ ( a ∨ ¯ c ∨ d ) ∧ ( a ∨ ¯ d ) 11 / 47

  16. Self-Subsuming Example Self-Subsuming Resolution C ∨ x D ∨ ¯ x ( a ∨ b ∨ x ) ( a ∨ b ∨ c ∨ ¯ x ) C ⊆ D D ( a ∨ b ∨ c ) resolvent D subsumes second antecedent D ∨ ¯ x Example: Remove literals using self-subsumption ( b ∨ c ) ∧ ( ¯ a ∨ b ∨ c ) ∧ c ) ∧ ( a ∨ ¯ (¯ a ∨ b ∨ ¯ b ∨ c ) ∧ a ∨ ¯ a ∨ ¯ b ∨ ¯ (¯ b ∨ d ) ∧ ( ¯ d ) ∧ c ∨ ¯ ( a ∨ ¯ c ∨ d ) ∧ ( a ∨ ¯ d ) 11 / 47

  17. Self-Subsuming Example Self-Subsuming Resolution C ∨ x D ∨ ¯ x ( a ∨ b ∨ x ) ( a ∨ b ∨ c ∨ ¯ x ) C ⊆ D D ( a ∨ b ∨ c ) resolvent D subsumes second antecedent D ∨ ¯ x Example: Remove literals using self-subsumption ( b ∨ c ) ∧ ( ¯ a ∨ b ∨ c ) ∧ ) ∧ ( a ∨ ¯ (¯ a ∨ b b ∨ c ) ∧ a ∨ ¯ a ∨ ¯ b ∨ ¯ (¯ b ∨ d ) ∧ ( ¯ d ) ∧ c ∨ ¯ ( a ∨ ¯ c ∨ d ) ∧ ( a ∨ ¯ d ) 11 / 47

  18. Self-Subsuming Example Self-Subsuming Resolution C ∨ x D ∨ ¯ x ( a ∨ b ∨ x ) ( a ∨ b ∨ c ∨ ¯ x ) C ⊆ D D ( a ∨ b ∨ c ) resolvent D subsumes second antecedent D ∨ ¯ x Example: Remove literals using self-subsumption ( b ∨ c ) ∧ ( ¯ a ∨ b ∨ c ) ∧ (¯ a ∨ b ) ∧ ( a ∨ c ) ∧ a ∨ ¯ a ∨ ¯ b ∨ ¯ (¯ b ∨ d ) ∧ ( ¯ d ) ∧ c ∨ ¯ ( a ∨ ¯ c ∨ d ) ∧ ( a ∨ ¯ d ) 11 / 47

  19. Self-Subsuming Example Self-Subsuming Resolution C ∨ x D ∨ ¯ x ( a ∨ b ∨ x ) ( a ∨ b ∨ c ∨ ¯ x ) C ⊆ D D ( a ∨ b ∨ c ) resolvent D subsumes second antecedent D ∨ ¯ x Example: Remove literals using self-subsumption ( b ∨ c ) ∧ ( ¯ a ∨ b ∨ c ) ∧ (¯ a ∨ b ) ∧ ( a ∨ c ) ∧ a ∨ ¯ a ∨ ¯ b ∨ ¯ (¯ b ) ∧ ( ¯ d ) ∧ c ∨ ¯ ( a ∨ ¯ c ∨ d ) ∧ ( a ∨ ¯ d ) 11 / 47

  20. Self-Subsuming Example Self-Subsuming Resolution C ∨ x D ∨ ¯ x ( a ∨ b ∨ x ) ( a ∨ b ∨ c ∨ ¯ x ) C ⊆ D D ( a ∨ b ∨ c ) resolvent D subsumes second antecedent D ∨ ¯ x Example: Remove literals using self-subsumption ( b ∨ c ) ∧ ( ¯ a ∨ b ∨ c ) ∧ (¯ a ∨ b ) ∧ ( a ∨ c ) ∧ a ∨ ¯ a ∨ ¯ b ∨ ¯ (¯ b ) ∧ ( ¯ d ) ∧ c ∨ ¯ ( a ∨ ¯ c ) ∧ ( a ∨ ¯ d ) 11 / 47

  21. Self-Subsuming Example Self-Subsuming Resolution C ∨ x D ∨ ¯ x ( a ∨ b ∨ x ) ( a ∨ b ∨ c ∨ ¯ x ) C ⊆ D D ( a ∨ b ∨ c ) resolvent D subsumes second antecedent D ∨ ¯ x Example: Remove literals using self-subsumption ( b ∨ c ) ∧ ( ¯ a ∨ b ∨ c ) ∧ (¯ a ) ∧ ( a ∨ c ) ∧ a ∨ ¯ a ∨ ¯ b ∨ ¯ (¯ b ) ∧ ( ¯ d ) ∧ c ∨ ¯ ( a ∨ ¯ c ) ∧ ( a ∨ ¯ d ) 11 / 47

  22. Self-Subsuming Example Self-Subsuming Resolution C ∨ x D ∨ ¯ x ( a ∨ b ∨ x ) ( a ∨ b ∨ c ∨ ¯ x ) C ⊆ D D ( a ∨ b ∨ c ) resolvent D subsumes second antecedent D ∨ ¯ x Example: Remove literals using self-subsumption ( b ∨ c ) ∧ ( ¯ a ∨ b ∨ c ) ∧ (¯ a ) ∧ ( a ) ∧ a ∨ ¯ a ∨ ¯ b ∨ ¯ (¯ b ) ∧ ( ¯ d ) ∧ c ∨ ¯ ( a ∨ ¯ c ) ∧ ( a ∨ ¯ d ) 11 / 47

  23. Self-Subsuming Example Self-Subsuming Resolution C ∨ x D ∨ ¯ x ( a ∨ b ∨ x ) ( a ∨ b ∨ c ∨ ¯ x ) C ⊆ D D ( a ∨ b ∨ c ) resolvent D subsumes second antecedent D ∨ ¯ x Example: Remove literals using self-subsumption ( b ∨ c ) ∧ ( ¯ a ∨ b ∨ c ) ∧ ( ) ∧ ( a ) ∧ a ∨ ¯ a ∨ ¯ b ∨ ¯ (¯ b ) ∧ ( ¯ d ) ∧ c ∨ ¯ ( a ∨ ¯ c ) ∧ ( a ∨ ¯ d ) 11 / 47

  24. Implementing Subsumption Definition (Subsumption) Clause C subsumes clause D if and only if C ⊂ D . Example The clause ( a ∨ b ) subsumes clause ( a ∨ b ∨ ¯ c ) . Forward Subsumption for each clause C in formula F do if C is subsumed by a clause D in F \ C then remove C from F 12 / 47

  25. Implementing Subsumption Definition (Subsumption) Clause C subsumes clause D if and only if C ⊂ D . Example The clause ( a ∨ b ) subsumes clause ( a ∨ b ∨ ¯ c ) . Forward Subsumption for each clause C in formula F do if C is subsumed by a clause D in F \ C then remove C from F Backward Subsumption for each clause C in formula F do remove all clauses D in F that are subsumed by C 12 / 47

  26. Implementing Subsumption Definition (Subsumption) Clause C subsumes clause D if and only if C ⊂ D . Example The clause ( a ∨ b ) subsumes clause ( a ∨ b ∨ ¯ c ) . Forward Subsumption for each clause C in formula F do if C is subsumed by a clause D in F \ C then remove C from F Backward Subsumption for each clause C in formula F do pick a literal x in C remove all clauses D in F x that are subsumed by C 12 / 47

  27. Motivation Subsumption Variable Elimination Bounded Variable Addition Blocked Clause Elimination Hyper Binary Resolution Unhiding Redundancy Concluding Remarks 13 / 47

  28. Variable Elimination [DavisPutnam’60] Definition (Resolution) Given two clauses C = ( x ∨ a 1 ∨ · · · ∨ a i ) and D = (¯ x ∨ b 1 ∨ · · · ∨ b j ), the resolvent of C and D on variable x (denoted by C ⊗ x D ) is ( a 1 ∨ · · · ∨ a i ∨ b 1 ∨ · · · ∨ b j ) Resolution on sets of clauses F x and F ¯ x (denoted by F x ⊗ x F ¯ x ) generates all non-tautological resolvents of C ∈ F x and D ∈ F ¯ x . 14 / 47

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend