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 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
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
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
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
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
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
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
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
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
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
Cutting Planes: Linear Combination Literal Axioms x ≥ 0 x ≥ 0 Stephan Gocht 6/ 23 Division vs. Saturation
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Recommend
More recommend