using interval constraint propagation for pseudo boolean
play

Using Interval Constraint Propagation for Pseudo- Boolean Constraint - PowerPoint PPT Presentation

Using Interval Constraint Propagation for Pseudo- Boolean Constraint Solving Albert-Ludwigs-Universitt Freiburg Karsten Scheibler, Bernd Becker Chair of Computer Architecture FMCAD 2014 PB Constraints PB Constraints: 2 x 1 + 4 x 2 + x 3


  1. Using Interval Constraint Propagation for Pseudo- Boolean Constraint Solving Albert-Ludwigs-Universität Freiburg Karsten Scheibler, Bernd Becker Chair of Computer Architecture FMCAD 2014

  2. PB Constraints PB Constraints: 2 x 1 + 4 x 2 + x 3 < 5 ∑ i c i x i ∼ C c i and C integer coefficients, x i boolean variables ∼∈ { <, ≤ , ≥ ,> } FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 2 / 23

  3. ATPG for Open-Faults ( O good ⇔ ¬ (( I 1 ∨ I good ) ⊕ I good ⊕ I 3 )) ∧ 1 2 2 ⇔ ( 60 · I 1 + 15 · I 3 + 5 · O good ( I bad ≥ 45 )) ∧ 2 1 ⊕ I 3 )) ∧ ( O good ( O bad ⇔ ¬ (( I 1 ∨ I bad ) ⊕ I bad ⊕ O bad ) 1 2 2 1 1 FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 3 / 23

  4. ATPG for Open-Faults ( O good ⇔ ¬ (( I 1 ∨ I good ) ⊕ I good ⊕ I 3 )) ∧ 1 2 2 ⇔ ( 60 · I 1 + 15 · I 3 + 5 · O good ( I bad ≥ 45 )) ∧ 2 1 ⊕ I 3 )) ∧ ( O good ( O bad ⇔ ¬ (( I 1 ∨ I bad ) ⊕ I bad ⊕ O bad ) 1 2 2 1 1 FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 4 / 23

  5. ATPG for Open-Faults ( O good ⇔ ¬ (( I 1 ∨ I good ) ⊕ I good ⊕ I 3 )) ∧ 1 2 2 ⇔ ( 60 · I 1 + 15 · I 3 + 5 · O good ( I bad ≥ 45 )) ∧ 2 1 ⊕ I 3 )) ∧ ( O good ( O bad ⇔ ¬ (( I 1 ∨ I bad ) ⊕ I bad ⊕ O bad ) 1 2 2 1 1 FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 5 / 23

  6. ATPG for Open-Faults ( O good ⇔ ¬ (( I 1 ∨ I good ) ⊕ I good ⊕ I 3 )) ∧ 1 2 2 ⇔ ( 60 · I 1 + 15 · I 3 + 5 · O good ( I bad ≥ 45 )) ∧ 2 1 ⊕ I 3 )) ∧ ( O good ( O bad ⇔ ¬ (( I 1 ∨ I bad ) ⊕ I bad ⊕ O bad ) 1 2 2 1 1 FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 6 / 23

  7. SAT Solvers, SMT Solvers SAT solvers: e.g. (( a ⊕ b ) ∨ ( a ∧¬ c )) SMT solvers: SMT = SAT Modulo Theories e.g. ( ¬ (( x + y < 7 ) ∨ ( z 4 < 1 )) ⊕ ( sin ( x ) · z 2 = 3 )) � SMT solver iSAT3 worked very well FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 7 / 23

  8. SMT Solver iSAT3 decomposing input formula into: simple bounds, e.g. ( h 1 < 7 ) primitive constraints, e.g. ( h 5 = h 3 · h 4 ) ( ¬ (( x + y < 7 ) ∨ ( z 4 < 1 )) ⊕ ( sin ( x ) · z 2 = 3 )) ( ¬ (( h 1 < 7 ) ∨ ( h 2 < 1 )) ⊕ (( h 5 ≥ 3 ) ∧ ( h 5 ≤ 3 ))) ∧ ( h 1 = x + y ) ∧ ( h 2 = z 4 ) ∧ ( h 3 = sin ( x )) ∧ ( h 4 = z 2 ) ∧ ( h 5 = h 3 · h 4 ) FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 8 / 23

  9. SMT Solver iSAT3 h 4 = z 2 , z ∈ [ 3 , 7 ] , h 4 ∈ [ − 2 , 25 ] 49 25 9 9 − 2 3 7 3 5 7 z ∈ [ 3 , 7 ] � h 4 ≥ 9 h 4 ∈ [ 9 , 25 ] � z ≤ 5 ✶ ✶ h 4 ∈ [ 9 , 25 ] z ∈ [ 3 , 5 ] � � FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 9 / 23

  10. Two Questions 1 Performance of other PB Solvers on our problem class? Minisatp SAT4JPB Clasp 2 How well does iSAT3 perform on other PB benchmarks? Benchmarks from PB competition 2012 FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 10 / 23

  11. The Answer PB competition 2012: DEC-BIGINT-LIN = DBL, 14 benchmarks DEC-SMALLINT-LIN = DSL, 355 benchmarks DEC-SMALLINT-NLC = DSN, 30 benchmarks ATPG for Open-Faults = OF10, 321 benchmarks Solver DBL DSL DSN OF10 ∑ (14) (355) (30) (321) Minisatp 9 229 - 8 243 SAT4JPB 9 219 [10] 233 461 [471] Clasp 5 234 [13] 287 526 [539] iSAT3 2 155 [20] 313 470 [490] FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 11 / 23

  12. Translation to SAT A good translation 1 has small size 2 maintains GAC (3 · x 1 + 2 · x 2 + x 3 < 4 x 3 ⇒ ¬ x 1 ) GAC size BDDs ++ - Sorting networks + + Adder cicuits – ++ FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 12 / 23

  13. Translation to SAT with BDDs 3 · x 1 + 2 · x 2 + x 3 < 4 1 0 FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 13 / 23

  14. Translation to SAT with BDDs 3 · x 1 + 2 · x 2 + x 3 < 4 x 1 1 0 FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 14 / 23

  15. Translation to SAT with BDDs 3 · x 1 + 2 · x 2 + x 3 < 4 x 1 x 2 1 0 FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 15 / 23

  16. Translation to SAT with BDDs 3 · x 1 + 2 · x 2 + x 3 < 4 x 1 x 2 x 3 1 0 FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 16 / 23

  17. Translation to SAT with BDDs 3 · x 1 + 2 · x 2 + x 3 < 4 ¬ x 1 ∨ ( x 1 ∧¬ x 2 ∧¬ x 3 ) � x 1 x 2 x 3 1 0 FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 17 / 23

  18. Symbolic Gaussian Elimination Basic idea: generate new lemmas from existing tautologies ( y ≥ 2 . 00001 · x + 0 . 25 ) ∧ x , y ∈ [ 0 , 1000000 ] ( y ≤ 2 · x ) ( h 1 = y − 2 . 00001 · x ) ∧ ( h 1 ≥ 0 . 25 ) ∧ x , y ∈ [ 0 , 1000000 ] ( h 2 = y − 2 · x ) ∧ ( h 2 ≤ 0 ) y − 2 . 00001 · x − h 1 = 0 y − 2 · x − h 2 = 0 replace y 0 . 00001 · x + h 1 − h 2 = 0 (add to formula) � FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 18 / 23

  19. Symbolic Gaussian Elimination Basic idea: generate new lemmas from existing tautologies ( y ≥ 2 . 00001 · x + 0 . 25 ) ∧ x , y ∈ [ 0 , 1000000 ] ( y ≤ 2 · x ) ( h 1 = y − 2 . 00001 · x ) ∧ ( h 1 ≥ 0 . 25 ) ∧ x , y ∈ [ 0 , 1000000 ] ( h 2 = y − 2 · x ) ∧ ( h 2 ≤ 0 ) y − 2 . 00001 · x − h 1 = 0 y − 2 · x − h 2 = 0 replace y 0 . 00001 · x + h 1 − h 2 = 0 (add to formula) � FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 19 / 23

  20. Symbolic Gaussian Elimination Basic idea: generate new lemmas from existing tautologies ( y ≥ 2 . 00001 · x + 0 . 25 ) ∧ x , y ∈ [ 0 , 1000000 ] ( y ≤ 2 · x ) ( h 1 = y − 2 . 00001 · x ) ∧ ( h 1 ≥ 0 . 25 ) ∧ x , y ∈ [ 0 , 1000000 ] ( h 2 = y − 2 · x ) ∧ ( h 2 ≤ 0 ) y − 2 . 00001 · x − h 1 = 0 y − 2 · x − h 2 = 0 replace y 0 . 00001 · x + h 1 − h 2 = 0 (add to formula) � FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 20 / 23

  21. Symbolic Gaussian Elimination Basic idea: generate new lemmas from existing tautologies ( y ≥ 2 . 00001 · x + 0 . 25 ) ∧ x , y ∈ [ 0 , 1000000 ] ( y ≤ 2 · x ) ( h 1 = y − 2 . 00001 · x ) ∧ ( h 1 ≥ 0 . 25 ) ∧ x , y ∈ [ 0 , 1000000 ] ( h 2 = y − 2 · x ) ∧ ( h 2 ≤ 0 ) y − 2 . 00001 · x − h 1 = 0 y − 2 · x − h 2 = 0 replace y 0 . 00001 · x + h 1 − h 2 = 0 (add to formula) � FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 21 / 23

  22. Results DEC-BIGINT-LIN = DBL, 14 benchmarks DEC-SMALLINT-LIN = DSL, 355 benchmarks DEC-SMALLINT-NLC = DSN, 30 benchmarks OPENFAULTS-DIV10 = OF10, 321 benchmarks Solver DBL DSL DSN OF10 ∑ (14) (355) (30) (321) Minisatp 9 229 - 8 243 SAT4JPB 9 219 [10] 233 461 [471] Clasp 5 234 [13] 287 526 [539] iSAT3 2 155 [20] 313 470 [490] iSAT3 + BDD 14 208 [20] 315 537 [557] iSAT3 + BDD + SGE 14 238 [20] 315 567 [587] FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 22 / 23

  23. Conclusion & Outlook Conclusion: SAT-Translations of large PB Constraints may perform poor Advantageous to have an arithmetic reasoning mechanism as fall-back Outlook: Generating lemmas during solving FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 23 / 23

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