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

using interval constraint propagation for pseudo boolean
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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

slide-2
SLIDE 2

PB Constraints

PB Constraints: 2x1 +4x2 +x3 < 5 ∑i cixi ∼ C ci and C integer coefficients, xi boolean variables ∼∈ {<,≤,≥,>}

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 2 / 23

slide-3
SLIDE 3

ATPG for Open-Faults

(Ogood

1

⇔ ¬((I1 ∨Igood

2

)⊕Igood

2

⊕I3))∧ (Ibad

2

⇔ (60·I1 +15·I3 +5·Ogood

1

≥ 45))∧ (Obad

1

⇔ ¬((I1 ∨Ibad

2

)⊕Ibad

2

⊕I3))∧(Ogood

1

⊕Obad

1

)

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 3 / 23

slide-4
SLIDE 4

ATPG for Open-Faults

(Ogood

1

⇔ ¬((I1 ∨Igood

2

)⊕Igood

2

⊕I3))∧ (Ibad

2

⇔ (60·I1 +15·I3 +5·Ogood

1

≥ 45))∧ (Obad

1

⇔ ¬((I1 ∨Ibad

2

)⊕Ibad

2

⊕I3))∧(Ogood

1

⊕Obad

1

)

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 4 / 23

slide-5
SLIDE 5

ATPG for Open-Faults

(Ogood

1

⇔ ¬((I1 ∨Igood

2

)⊕Igood

2

⊕I3))∧ (Ibad

2

⇔ (60·I1 +15·I3 +5·Ogood

1

≥ 45))∧ (Obad

1

⇔ ¬((I1 ∨Ibad

2

)⊕Ibad

2

⊕I3))∧(Ogood

1

⊕Obad

1

)

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 5 / 23

slide-6
SLIDE 6

ATPG for Open-Faults

(Ogood

1

⇔ ¬((I1 ∨Igood

2

)⊕Igood

2

⊕I3))∧ (Ibad

2

⇔ (60·I1 +15·I3 +5·Ogood

1

≥ 45))∧ (Obad

1

⇔ ¬((I1 ∨Ibad

2

)⊕Ibad

2

⊕I3))∧(Ogood

1

⊕Obad

1

)

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 6 / 23

slide-7
SLIDE 7

SAT Solvers, SMT Solvers

SAT solvers: e.g. ((a⊕b)∨(a∧¬c)) SMT solvers: SMT = SAT Modulo Theories e.g. (¬((x +y < 7)∨(z4 < 1))⊕(sin(x)·z2 = 3)) SMT solver iSAT3 worked very well

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 7 / 23

slide-8
SLIDE 8

SMT Solver iSAT3

decomposing input formula into: simple bounds, e.g. (h1 < 7) primitive constraints, e.g. (h5 = h3 ·h4) (¬((x +y < 7) ∨ (z4 < 1)) ⊕ (sin(x)·z2 = 3)) (¬((h1 < 7) ∨ (h2 < 1)) ⊕ ((h5 ≥ 3)∧(h5 ≤ 3)))∧ (h1 = x +y)∧(h2 = z4)∧(h3 = sin(x))∧(h4 = z2)∧(h5 = h3 ·h4)

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 8 / 23

slide-9
SLIDE 9

SMT Solver iSAT3

h4 = z2, z ∈ [3,7], h4 ∈ [−2,25]

3 7 −2 9 49 ✶ 3 5 7 9 25 ✶

z ∈ [3,7] h4 ≥ 9 h4 ∈ [9,25] z ≤ 5

  • h4 ∈ [9,25]
  • z ∈ [3,5]

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 9 / 23

slide-10
SLIDE 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

slide-11
SLIDE 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

slide-12
SLIDE 12

Translation to SAT

A good translation

1 has small size 2 maintains GAC

(3·x1 +2·x2 +x3 < 4 x3 ⇒ ¬x1) GAC size BDDs ++

  • Sorting networks

+ + Adder cicuits – ++

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 12 / 23

slide-13
SLIDE 13

Translation to SAT with BDDs

3·x1 +2·x2 +x3 < 4 1

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 13 / 23

slide-14
SLIDE 14

Translation to SAT with BDDs

3·x1 +2·x2 +x3 < 4 x1 1

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 14 / 23

slide-15
SLIDE 15

Translation to SAT with BDDs

3·x1 +2·x2 +x3 < 4 x1 x2 1

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 15 / 23

slide-16
SLIDE 16

Translation to SAT with BDDs

3·x1 +2·x2 +x3 < 4 x1 x2 x3 1

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 16 / 23

slide-17
SLIDE 17

Translation to SAT with BDDs

3·x1 +2·x2 +x3 < 4

  • ¬x1 ∨(x1∧¬x2 ∧¬x3)

x1 x2 x3 1

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 17 / 23

slide-18
SLIDE 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) (h1 = y −2.00001·x)∧(h1 ≥ 0.25)∧ x,y ∈ [0,1000000] (h2 = y −2·x)∧(h2 ≤ 0) y −2.00001·x −h1 = 0 y −2·x −h2 = 0 replace y

  • 0.00001·x +h1 −h2 = 0

(add to formula)

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 18 / 23

slide-19
SLIDE 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) (h1 = y −2.00001·x)∧(h1 ≥ 0.25)∧ x,y ∈ [0,1000000] (h2 = y −2·x)∧(h2 ≤ 0) y −2.00001·x −h1 = 0 y −2·x −h2 = 0 replace y

  • 0.00001·x +h1 −h2 = 0

(add to formula)

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 19 / 23

slide-20
SLIDE 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) (h1 = y −2.00001·x)∧(h1 ≥ 0.25)∧ x,y ∈ [0,1000000] (h2 = y −2·x)∧(h2 ≤ 0) y −2.00001·x −h1 = 0 y −2·x −h2 = 0 replace y

  • 0.00001·x +h1 −h2 = 0

(add to formula)

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 20 / 23

slide-21
SLIDE 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) (h1 = y −2.00001·x)∧(h1 ≥ 0.25)∧ x,y ∈ [0,1000000] (h2 = y −2·x)∧(h2 ≤ 0) y −2.00001·x −h1 = 0 y −2·x −h2 = 0 replace y

  • 0.00001·x +h1 −h2 = 0

(add to formula)

FMCAD 2014 Karsten Scheibler – Using ICP for PB Solving 21 / 23

slide-22
SLIDE 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

slide-23
SLIDE 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