on division versus saturation in pseudo boolean solving
play

On Division Versus Saturation in Pseudo-Boolean Solving Stephan - PowerPoint PPT Presentation

On Division Versus Saturation in Pseudo-Boolean Solving Stephan Gocht , Jakob Nordstr om, Amir Yehudayoff 21.05.2019 The SAT Problem find assignment to Boolean variables that satisfies constraints SAT expressive formalism captures


  1. On Division Versus Saturation in Pseudo-Boolean Solving Stephan Gocht , Jakob Nordstr¨ om, Amir Yehudayoff 21.05.2019

  2. The SAT Problem ◮ find assignment to Boolean variables that satisfies constraints ◮ SAT expressive formalism ⇒ captures many real-world problems ◮ theoretically hard, in practice often feasible ◮ state-of-the-art: conflict driven clause learning (CDCL) SAT solvers [MS96, BS97, MMZ + 01, . . . ] Stephan Gocht 2/ 23 Division vs. Saturation

  3. The SAT Problem ◮ find assignment to Boolean variables that satisfies constraints ◮ SAT expressive formalism ⇒ captures many real-world problems ◮ theoretically hard, in practice often feasible ◮ state-of-the-art: conflict driven clause learning (CDCL) SAT solvers [MS96, BS97, MMZ + 01, . . . ] Potential for improvement? ◮ CDCL SAT solvers essentially based on resolution ◮ resolution very simple + simple data structures allow efficient implementation - weak method of reasoning Stephan Gocht 2/ 23 Division vs. Saturation

  4. Pseudo-Boolean SAT Solving ◮ exponential stronger reasoning via cutting planes proof system ◮ constraints: pseudo-Boolean (PB) (0-1 linear inequalities) Stephan Gocht 3/ 23 Division vs. Saturation

  5. Pseudo-Boolean SAT Solving ◮ exponential stronger reasoning via cutting planes proof system ◮ constraints: pseudo-Boolean (PB) (0-1 linear inequalities) In practice: ◮ PB solvers often worse than resolution based solvers ◮ only implementation details? Stephan Gocht 3/ 23 Division vs. Saturation

  6. Pseudo-Boolean SAT Solving ◮ exponential stronger reasoning via cutting planes proof system ◮ constraints: pseudo-Boolean (PB) (0-1 linear inequalities) In practice: ◮ PB solvers often worse than resolution based solvers ◮ only implementation details? no ◮ different solver use different variants of cutting planes ◮ none as strong as full cutting planes ⇒ study cutting-planes subsystems used in PB solvers Stephan Gocht 3/ 23 Division vs. Saturation

  7. Method of Reasoning Underlying CDCL: Resolution Literal a : a variable x or its negation x Clause C = a 1 ∨ · · · ∨ a k : disjunction ( ∨ ) of variables CNF F = C 1 ∧ . . . ∧ C m : conjunction ( ∧ ) of clauses Stephan Gocht 4/ 23 Division vs. Saturation

  8. Method of Reasoning Underlying CDCL: Resolution Literal a : a variable x or its negation x Clause C = a 1 ∨ · · · ∨ a k : disjunction ( ∨ ) of variables CNF F = C 1 ∧ . . . ∧ C m : conjunction ( ∧ ) of clauses Goal: Show F unsatisfiable using: Example: y ∨ x x ∨ y C ∨ x x ∨ D Resolution rule y y C ∨ D ⊥ Stephan Gocht 4/ 23 Division vs. Saturation

  9. Method of Reasoning Underlying CDCL: Resolution Literal a : a variable x or its negation x Clause C = a 1 ∨ · · · ∨ a k : disjunction ( ∨ ) of variables CNF F = C 1 ∧ . . . ∧ C m : conjunction ( ∧ ) of clauses Goal: Show F unsatisfiable using: Example: y ∨ x x ∨ y C ∨ x x ∨ D Resolution rule y y C ∨ D ⊥ ◮ implicationally complete , i.e. can drive all consequences ◮ in particular, can refute all unsatisfiable CNF formulas Stephan Gocht 4/ 23 Division vs. Saturation

  10. Pseudo-Boolean Constraints ◮ integer linear inequalities over 0-1 variables ◮ 1 = true , 0 = false 3 x + 2 y + 2 z ≥ 5 Example: Normalized Form ◮ use literals, i.e. x , x with x = (1 − x ) ⇒ x + x = 1 ◮ only positive coefficients and “ ≥ ” ◮ degree (of falsity): right hand side of normalized constraint Stephan Gocht 5/ 23 Division vs. Saturation

  11. Pseudo-Boolean Constraints ◮ integer linear inequalities over 0-1 variables ◮ 1 = true , 0 = false 3 x + 2 y + 2 z ≥ 5 Example: Normalized Form ◮ use literals, i.e. x , x with x = (1 − x ) ⇒ x + x = 1 ◮ only positive coefficients and “ ≥ ” ◮ degree (of falsity): right hand side of normalized constraint Representing Clauses: x ∨ y ∨ z x + y + z ≥ 1 � Cardinality constraints, e.g at-least 2: ( x ∨ y ) ∧ ( x ∨ z ) ∧ ( y ∨ z ) x + y + z ≥ 2 � Stephan Gocht 5/ 23 Division vs. Saturation

  12. Cutting Planes: Linear Combination Literal Axioms x ≥ 0 x ≥ 0 Stephan Gocht 6/ 23 Division vs. Saturation

  13. Cutting Planes: Linear Combination Literal Axioms x ≥ 0 x ≥ 0 Positive Linear Combination — Remember: x + x = 1 3 · ( y + z + x ≥ 1) 1 · (2 x + z ≥ 3) 3 y + 4 z + 2 x + 3 x ≥ 6 � �� � =2+ x Stephan Gocht 6/ 23 Division vs. Saturation

  14. Cutting Planes: Linear Combination Literal Axioms x ≥ 0 x ≥ 0 Positive Linear Combination — Remember: x + x = 1 3 · ( y + z + x ≥ 1) 1 · (2 x + z ≥ 3) 3 y + 4 z + x ≥ 4 Stephan Gocht 6/ 23 Division vs. Saturation

  15. Cutting Planes: Linear Combination Literal Axioms x ≥ 0 x ≥ 0 Positive Linear Combination — Remember: x + x = 1 3 · ( y + z + x ≥ 1) 1 · (2 x + z ≥ 3) 3 y + 4 z + x ≥ 4 Generalized Resolution 2 x + v + w ≥ 2 2 x + y + z ≥ 2 v + w + y + z ≥ 2 Stephan Gocht 6/ 23 Division vs. Saturation

  16. Cutting Planes: Boolean Rule Division (divide and round up) x + 2 y + 2 z ≥ 3 Divide by 2 x + y + z ≥ 2 Stephan Gocht 7/ 23 Division vs. Saturation

  17. Cutting Planes: Boolean Rule Division (divide and round up) x + 2 y + 2 z ≥ 3 Divide by 2 x + y + z ≥ 2 Saturation (set coefficient to value ≤ degree of falsity) 4 x + 4 y + z ≥ 2 2 x + 2 y + z ≥ 2 Stephan Gocht 7/ 23 Division vs. Saturation

  18. Example x 1 + x 2 ≥ 1 x 1 + x 3 ≥ 1 x 2 + x 3 ≥ 1 x 1 + x 2 + x 3 ≥ 2 Stephan Gocht 8/ 23 Division vs. Saturation

  19. Example x 1 + x 2 ≥ 1 x 1 + x 3 ≥ 1 2 x 1 + x 2 + x 3 ≥ 2 x 2 + x 3 ≥ 1 x 1 + x 2 + x 3 ≥ 2 Stephan Gocht 8/ 23 Division vs. Saturation

  20. Example x 1 + x 2 ≥ 1 x 1 + x 3 ≥ 1 2 x 1 + x 2 + x 3 ≥ 2 x 2 + x 3 ≥ 1 2 x 1 + 2 x 2 + 2 x 3 ≥ 3 x 1 + x 2 + x 3 ≥ 2 Stephan Gocht 8/ 23 Division vs. Saturation

  21. Example x 1 + x 2 ≥ 1 x 1 + x 3 ≥ 1 2 x 1 + x 2 + x 3 ≥ 2 x 2 + x 3 ≥ 1 2 x 1 + 2 x 2 + 2 x 3 ≥ 3 x 1 + x 2 + x 3 ≥ 2 x 1 + x 2 + x 3 ≥ 2 Stephan Gocht 8/ 23 Division vs. Saturation

  22. Example x 1 + x 2 ≥ 1 x 1 + x 3 ≥ 1 2 x 1 + x 2 + x 3 ≥ 2 x 2 + x 3 ≥ 1 2 x 1 + 2 x 2 + 2 x 3 ≥ 3 x 1 + x 2 + x 3 ≥ 2 x 1 + x 2 + x 3 ≥ 2 0 ≥ 1 Stephan Gocht 8/ 23 Division vs. Saturation

  23. Pseudo-Boolean Solvers and the Subsystem Used not all rules used by implementations generalized resolution and saturation: ◮ PRS [DG02] ◮ Galena [CK05] ◮ Pueblo [SS06] ◮ Sat4j [LP10] generalized resolution and division: ◮ RoundingSat [EN18] linear combination and division (full cutting planes): ◮ ∅ Stephan Gocht 9/ 23 Division vs. Saturation

  24. Systematic Overview [VEG + 18] saturation division † unrestricted lin. comb. unrestricted lin. comb. saturation division generalized resolution generalized resolution resolution (on CNF) collapse on CNF input collapse on CNF input, † B can do everything A can A B B can do everything A can and B can do things A can’t A B polynomial-sized coefficients † Stephan Gocht 10/ 23 Division vs. Saturation

  25. Our Results We want to study reasoning power depending on choice of: ◮ boolean rule: (a) division, (b) saturation ◮ linear combination: (a) generalized resolution, (b) unrestricted ◮ saturation as boolean rule ⇒ generalized resolution as powerful as unrestricted linear combinations ◮ division + generalized resolution can be exponentially stronger than saturation + unrestricted linear combinations ◮ replacing single saturation, requires large # divisions Stephan Gocht 11/ 23 Division vs. Saturation

  26. Our Result: Strength of Generalized Resolution saturation division † unrestricted lin. comb. unrestricted lin. comb. saturation division generalized resolution generalized resolution resolution (on CNF) collapse on CNF input B can do everything A can A B B can do everything A can and B can do things A can’t A B polynomial-sized coefficients † Stephan Gocht 12/ 23 Division vs. Saturation

  27. Proof Sketch: “Rewriting” to Generalized Resolution x + 2 y ≥ 2 2 x + 2 y + z ≥ 2 x + 4 y + z ≥ 3 ◮ rewrite as generalized resolution: Stephan Gocht 13/ 23 Division vs. Saturation

  28. Proof Sketch: “Rewriting” to Generalized Resolution x + 2 y ≥ 2 2 x + 2 y + z ≥ 2 x + 4 y + z ≥ 3 ◮ rewrite as generalized resolution: 2 · ( x + 2 y ≥ 2) 2 x + 2 y + z ≥ 2 generalized res. 6 y + z ≥ 4 Stephan Gocht 13/ 23 Division vs. Saturation

  29. Proof Sketch: “Rewriting” to Generalized Resolution x + 2 y ≥ 2 2 x + 2 y + z ≥ 2 x + 4 y + z ≥ 3 ◮ rewrite as generalized resolution: 2 · ( x + 2 y ≥ 2) 2 x + 2 y + z ≥ 2 generalized res. 6 y + z ≥ 4 2 x + 2 y + z ≥ 2 postponed step 2 x + 8 y + 2 z ≥ 6 ◮ postpone addition of constraints that can’t be rewritten Stephan Gocht 13/ 23 Division vs. Saturation

  30. Proof Sketch: “Rewriting” to Generalized Resolution x + 2 y ≥ 2 2 x + 2 y + z ≥ 2 x + 3 y + z ≥ 3 ◮ rewrite as generalized resolution: 2 · ( x + 2 y ≥ 2) 2 x + 2 y + z ≥ 2 generalized res. 4 y + z ≥ 4 2 x + 2 y + z ≥ 2 postponed step 2 x + 6 y + 2 z ≥ 6 ◮ postpone addition of constraints that can’t be rewritten ◮ saturation not affected by postponing Stephan Gocht 13/ 23 Division vs. Saturation

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