Factoring Out Assumptions to Speed Up MUS Extraction Jean-Marie - - PowerPoint PPT Presentation

factoring out assumptions to speed up mus extraction
SMART_READER_LITE
LIVE PREVIEW

Factoring Out Assumptions to Speed Up MUS Extraction Jean-Marie - - PowerPoint PPT Presentation

Factoring Out Assumptions to Speed Up MUS Extraction Jean-Marie Lagniez 1 Armin Biere 2 11 July 2013 1 Univ. Lille-Nord de France CRIL/CNRS UMR8188 Lens, F-62307, France 2 Institute for Formal Models and Verification Johannes Kepler


slide-1
SLIDE 1

Factoring Out Assumptions to Speed Up MUS Extraction

Jean-Marie Lagniez1 Armin Biere2 11 July 2013

1 Univ. Lille-Nord de France – CRIL/CNRS UMR8188 – Lens, F-62307, France 2 Institute for Formal Models and Verification Johannes Kepler University, Linz, Austria

slide-2
SLIDE 2

Minimal Unsatisfiable Set (MUS)

x ∨ y ∨ z x ∨ ¬y x ∨ ¬z ¬x ∨ y ∨ z x ∨ w w ∨ z ∨ ¬y ¬x ∨ ¬y ¬x ∨ ¬z w ∨ ¬x ∨ ¬z

UNSAT

The formula is unsatisfiable : why? Subset of constraints minimally unsatisfiable Two approaches:

→ constructive → destructive

2 / 16

slide-3
SLIDE 3

Minimal Unsatisfiable Set (MUS)

x ∨ y ∨ z x ∨ ¬y x ∨ ¬z ¬x ∨ y ∨ z x ∨ w w ∨ z ∨ ¬y ¬x ∨ ¬y ¬x ∨ ¬z w ∨ ¬x ∨ ¬z

The formula is unsatisfiable : why? Subset of constraints minimally unsatisfiable Two approaches:

→ constructive → destructive

2 / 16

slide-4
SLIDE 4

Minimal Unsatisfiable Set (MUS)

x ∨ y ∨ z x ∨ ¬y x ∨ ¬z ¬x ∨ y ∨ z x ∨ w w ∨ z ∨ ¬y ¬x ∨ ¬y ¬x ∨ ¬z w ∨ ¬x ∨ ¬z

The formula is unsatisfiable : why? Subset of constraints minimally unsatisfiable Two approaches:

→ constructive → destructive

2 / 16

slide-5
SLIDE 5

Minimal Unsatisfiable Set (MUS)

x ∨ y ∨ z x ∨ ¬y x ∨ ¬z ¬x ∨ y ∨ z x ∨ w w ∨ z ∨ ¬y ¬x ∨ ¬y ¬x ∨ ¬z w ∨ ¬x ∨ ¬z

SAT

The formula is unsatisfiable : why? Subset of constraints minimally unsatisfiable Two approaches:

→ constructive → destructive

2 / 16

slide-6
SLIDE 6

Minimal Unsatisfiable Set (MUS)

x ∨ y ∨ z x ∨ ¬y x ∨ ¬z ¬x ∨ y ∨ z x ∨ w w ∨ z ∨ ¬y ¬x ∨ ¬y ¬x ∨ ¬z w ∨ ¬x ∨ ¬z

The formula is unsatisfiable : why? Subset of constraints minimally unsatisfiable Two approaches:

→ constructive → destructive

2 / 16

slide-7
SLIDE 7

Minimal Unsatisfiable Set (MUS)

x ∨ y ∨ z x ∨ ¬y x ∨ ¬z ¬x ∨ y ∨ z x ∨ w w ∨ z ∨ ¬y ¬x ∨ ¬y ¬x ∨ ¬z w ∨ ¬x ∨ ¬z

UNSAT

The formula is unsatisfiable : why? Subset of constraints minimally unsatisfiable Two approaches:

→ constructive → destructive

2 / 16

slide-8
SLIDE 8

Minimal Unsatisfiable Set (MUS)

x ∨ y ∨ z x ∨ ¬y x ∨ ¬z ¬x ∨ y ∨ z x ∨ w w ∨ z ∨ ¬y ¬x ∨ ¬y ¬x ∨ ¬z w ∨ ¬x ∨ ¬z

The formula is unsatisfiable : why? Subset of constraints minimally unsatisfiable Two approaches:

→ constructive → destructive

2 / 16

slide-9
SLIDE 9

Minimal Unsatisfiable Set (MUS)

x ∨ y ∨ z x ∨ ¬y x ∨ ¬z ¬x ∨ y ∨ z x ∨ w w ∨ z ∨ ¬y ¬x ∨ ¬y ¬x ∨ ¬z w ∨ ¬x ∨ ¬z

MUS!

The formula is unsatisfiable : why? Subset of constraints minimally unsatisfiable Two approaches:

→ constructive → destructive

2 / 16

slide-10
SLIDE 10

Minimal Unsatisfiable Set (MUS)

x ∨ y ∨ z x ∨ ¬y x ∨ ¬z ¬x ∨ y ∨ z x ∨ w w ∨ z ∨ ¬y ¬x ∨ ¬y ¬x ∨ ¬z w ∨ ¬x ∨ ¬z

MUS!

The formula is unsatisfiable : why? Subset of constraints minimally unsatisfiable Two approaches:

→ constructive → destructive SAT Incremental

2 / 16

slide-11
SLIDE 11

From SAT to Incremental SAT

Solving the SAT problem

Modern SAT solvers are based on the CDCL paradigm Dynamic heuristics:

→ VSIDS, polarity, cleaning learned clauses and restart

Solving incrementally SAT

Successive calls of a SAT solver Keeping a lot of information between the different runs

→ VSIDS, polarity, cleaning learned clauses and restart

3 / 16

slide-12
SLIDE 12

From SAT to Incremental SAT

Solving the SAT problem

Modern SAT solvers are based on the CDCL paradigm Dynamic heuristics:

→ VSIDS, polarity, cleaning learned clauses and restart

Solving incrementally SAT

Successive calls of a SAT solver Keeping a lot of information between the different runs

→ VSIDS, polarity, cleaning learned clauses and restart → learned clauses

3 / 16

slide-13
SLIDE 13

From SAT to Incremental SAT

Solving the SAT problem

Modern SAT solvers are based on the CDCL paradigm Dynamic heuristics:

→ VSIDS, polarity, cleaning learned clauses and restart

Solving incrementally SAT

Successive calls of a SAT solver Keeping a lot of information between the different runs

→ VSIDS, polarity, cleaning learned clauses and restart → learned clauses

Adding selectors

3 / 16

slide-14
SLIDE 14

Selectors

a1 ∨ x ∨ y ∨ z a2 ∨ x ∨ ¬y a3 ∨ x ∨ ¬z a4 ∨ ¬x ∨ y ∨ z a5 ∨ x ∨ w a6 ∨ w ∨ z ∨ ¬y a7 ∨ ¬x ∨ ¬y a8 ∨ ¬x ∨ ¬z a9 ∨ w ∨ ¬x ∨ ¬z

To activate/deactivate the ith clause :

→ assign ai to false to activate the clause → assign ai to true to deactivate the clause

Used to know which initial clauses participating to the creation of each learned clause

a1 ∨ x ∨ y ∨ z a2 ∨ x ∨ ¬y a1 ∨ a2 ∨ x ∨ z

4 / 16

slide-15
SLIDE 15

Selectors

a1 ∨ x ∨ y ∨ z a2 ∨ x ∨ ¬y a3 ∨ x ∨ ¬z a4 ∨ ¬x ∨ y ∨ z a5 ∨ x ∨ w a6 ∨ w ∨ z ∨ ¬y a7 ∨ ¬x ∨ ¬y a8 ∨ ¬x ∨ ¬z a9 ∨ w ∨ ¬x ∨ ¬z

To activate/deactivate the ith clause :

→ assign ai to false to activate the clause → assign ai to true to deactivate the clause

Used to know which initial clauses participating to the creation of each learned clause

a1 ∨ x ∨ y ∨ z a2 ∨ x ∨ ¬y a1 ∨ a2 ∨ x ∨ z Selectors impact on the size of the clauses

4 / 16

slide-16
SLIDE 16

Factoring-out Assumptions

Introducing abbreviations to factor out assumptions

The replaced part consists of all assumptions and previously added abbreviations Connections between the abbreviations and the replaced literals is stored in a definition map

(p1 ∨ · · · ∨ pn ∨ a1 ∨ · · · ∨ am) is factored out into (p1 ∨ · · · ∨ pn ∨ ℓ) and ℓ → a1 ∨ · · · ∨ am

  • G[ℓ]

5 / 16

slide-17
SLIDE 17

Definition Map

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .}

learned clauses antecedents factoring factored clauses

G

6 / 16

slide-18
SLIDE 18

Definition Map

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .}

α1 : p2 ∨ p7 ∨ a1 ∨ a2 ∨ a4 {. . .} learned clauses antecedents factoring factored clauses

G

6 / 16

slide-19
SLIDE 19

Definition Map

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .}

α1 : p2 ∨ p7 ∨ a1 ∨ a2 ∨ a4 {. . .} learned clauses antecedents factoring α′

1 : p2 ∨ p7 ∨ ℓ1

factored clauses

G

6 / 16

slide-20
SLIDE 20

Definition Map

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .}

α1 : p2 ∨ p7 ∨ a1 ∨ a2 ∨ a4 {. . .} learned clauses antecedents factoring α′

1 : p2 ∨ p7 ∨ ℓ1

factored clauses

G

a2 a1 a4 ℓ1

6 / 16

slide-21
SLIDE 21

Definition Map

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .}

α1 : p2 ∨ p7 ∨ a1 ∨ a2 ∨ a4 α2 : p2 ∨ a2 ∨ a3 {. . .} {. . .} learned clauses antecedents factoring α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

factored clauses

G

a2 a1 a4 ℓ1

6 / 16

slide-22
SLIDE 22

Definition Map

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .}

α1 : p2 ∨ p7 ∨ a1 ∨ a2 ∨ a4 α2 : p2 ∨ a2 ∨ a3 {. . .} {. . .} learned clauses antecedents factoring α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

factored clauses

G

a3 a2 a1 a4 ℓ1 ℓ2

6 / 16

slide-23
SLIDE 23

Definition Map

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .}

α1 : p2 ∨ p7 ∨ a1 ∨ a2 ∨ a4 α2 : p2 ∨ a2 ∨ a3 α3 : p7 ∨ p4 ∨ p6 ∨ ℓ1 ∨ a4 {. . .} {. . .} {α1, . . .} learned clauses antecedents factoring α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

factored clauses

G

a3 a2 a1 a4 ℓ1 ℓ2

6 / 16

slide-24
SLIDE 24

Definition Map

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .}

α1 : p2 ∨ p7 ∨ a1 ∨ a2 ∨ a4 α2 : p2 ∨ a2 ∨ a3 α3 : p7 ∨ p4 ∨ p6 ∨ ℓ1 ∨ a4 {. . .} {. . .} {α1, . . .} learned clauses antecedents factoring α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

factored clauses

G

a3 a2 a1 a4 ℓ1 ℓ2 ℓ3

6 / 16

slide-25
SLIDE 25

Definition Map

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .}

α1 : p2 ∨ p7 ∨ a1 ∨ a2 ∨ a4 α2 : p2 ∨ a2 ∨ a3 α3 : p7 ∨ p4 ∨ p6 ∨ ℓ1 ∨ a4 α4 : p6 ∨ p8 ∨ ℓ2 ∨ a5 {. . .} {. . .} {α1, . . .} {α2, . . .} learned clauses antecedents factoring α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

factored clauses

G

a3 a2 a1 a4 ℓ1 ℓ2 ℓ3

6 / 16

slide-26
SLIDE 26

Definition Map

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .}

α1 : p2 ∨ p7 ∨ a1 ∨ a2 ∨ a4 α2 : p2 ∨ a2 ∨ a3 α3 : p7 ∨ p4 ∨ p6 ∨ ℓ1 ∨ a4 α4 : p6 ∨ p8 ∨ ℓ2 ∨ a5 {. . .} {. . .} {α1, . . .} {α2, . . .} learned clauses antecedents factoring α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

factored clauses

G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4

6 / 16

slide-27
SLIDE 27

Definition Map

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .}

α1 : p2 ∨ p7 ∨ a1 ∨ a2 ∨ a4 α2 : p2 ∨ a2 ∨ a3 α3 : p7 ∨ p4 ∨ p6 ∨ ℓ1 ∨ a4 α4 : p6 ∨ p8 ∨ ℓ2 ∨ a5 α5 : p2 ∨ p5 ∨ a2 {. . .} {. . .} {α1, . . .} {α2, . . .} {. . .} learned clauses antecedents factoring α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

factored clauses

G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4

6 / 16

slide-28
SLIDE 28

Definition Map

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .}

α1 : p2 ∨ p7 ∨ a1 ∨ a2 ∨ a4 α2 : p2 ∨ a2 ∨ a3 α3 : p7 ∨ p4 ∨ p6 ∨ ℓ1 ∨ a4 α4 : p6 ∨ p8 ∨ ℓ2 ∨ a5 α5 : p2 ∨ p5 ∨ a2 α6 : p7 ∨ p4 ∨ ℓ3 ∨ ℓ4 {. . .} {. . .} {α1, . . .} {α2, . . .} {. . .} {α3, α4, . . .} learned clauses antecedents factoring α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

factored clauses

G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4

6 / 16

slide-29
SLIDE 29

Definition Map

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .}

α1 : p2 ∨ p7 ∨ a1 ∨ a2 ∨ a4 α2 : p2 ∨ a2 ∨ a3 α3 : p7 ∨ p4 ∨ p6 ∨ ℓ1 ∨ a4 α4 : p6 ∨ p8 ∨ ℓ2 ∨ a5 α5 : p2 ∨ p5 ∨ a2 α6 : p7 ∨ p4 ∨ ℓ3 ∨ ℓ4 {. . .} {. . .} {α1, . . .} {α2, . . .} {. . .} {α3, α4, . . .} learned clauses antecedents factoring α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

factored clauses

G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

6 / 16

slide-30
SLIDE 30

Initialisation

The definition map G can be interpreted as a non-cyclic circuit Abbreviations can be computed after all assumptions have been assigned In the MUS behaviour, the set of assumptions equals to the set of entries and it remains the same over all incremental calls

Example: under assumptions {a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .} G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

7 / 16

slide-31
SLIDE 31

Initialisation

The definition map G can be interpreted as a non-cyclic circuit Abbreviations can be computed after all assumptions have been assigned In the MUS behaviour, the set of assumptions equals to the set of entries and it remains the same over all incremental calls

Example: under assumptions {a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .} G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

7 / 16

slide-32
SLIDE 32

Initialisation

The definition map G can be interpreted as a non-cyclic circuit Abbreviations can be computed after all assumptions have been assigned In the MUS behaviour, the set of assumptions equals to the set of entries and it remains the same over all incremental calls

Example: under assumptions {a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .} G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

7 / 16

slide-33
SLIDE 33

Assumptions Core Analysis

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .} α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

α7 : p2 ∨ ℓ1 factored clauses G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

8 / 16

slide-34
SLIDE 34

Assumptions Core Analysis

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .} α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

α7 : p2 ∨ ℓ1 factored clauses ⊥ G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

8 / 16

slide-35
SLIDE 35

Assumptions Core Analysis

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .} α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

α7 : p2 ∨ ℓ1 factored clauses ⊥ p2 p2 G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

8 / 16

slide-36
SLIDE 36

Assumptions Core Analysis

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .} α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

α7 : p2 ∨ ℓ1 factored clauses ⊥ p2 p2 ℓ1 G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

8 / 16

slide-37
SLIDE 37

Assumptions Core Analysis

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .} α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

α7 : p2 ∨ ℓ1 factored clauses ⊥ p2 p2 ℓ1 ℓ2 G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

8 / 16

slide-38
SLIDE 38

Assumptions Core Analysis

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .} α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

α7 : p2 ∨ ℓ1 factored clauses ⊥ p2 p2 ℓ1 ℓ2 G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

8 / 16

slide-39
SLIDE 39

Assumptions Core Analysis

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .} α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

α7 : p2 ∨ ℓ1 factored clauses ⊥ p2 p2 ℓ1 a3 a2 G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

8 / 16

slide-40
SLIDE 40

Assumptions Core Analysis

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .} α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

α7 : p2 ∨ ℓ1 factored clauses ⊥ p2 p2 ℓ1 a3 a2 G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

8 / 16

slide-41
SLIDE 41

Assumptions Core Analysis

Under assumptions {¬a1, ¬a2, ¬a3, ¬a4, ¬a5, ¬a6, . . .} α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

α7 : p2 ∨ ℓ1 factored clauses ⊥ p2 p2 a3 a2 a1 a4 G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

8 / 16

slide-42
SLIDE 42

Experiments: MUS Competition

300 instances from the MUS competition 2011 Timeout limited to 1800 seconds Memory limited to 7800 Mo Use of the MUS extractor MUSer.2

→ default options (destructive + model rotation) → use of MINISAT solver

Plug our approach MINISAT+abr to MUSer.2 Intel R CoreTM2 Quad Processor Q9550 with 2.83 GHz CPU frequency with 8 GB memory and running Ubuntu 12.04

9 / 16

slide-43
SLIDE 43

Experiments: Factoring Out Assumptions

MINISAT (261) MINISAT+abr (272)

1 10 100 1000 1 10 100 1000

Figure: Running time

10 / 16

slide-44
SLIDE 44

Reduce learned clause database

Keeping all learned clauses slows down the solver Determining which learned clauses to keep is essential What are the necessary clauses to prove the inconsistancy?

→ use abbreviation information to refine the approximation

G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

α7 : p2 ∨ ℓ1

11 / 16

slide-45
SLIDE 45

Reduce learned clause database

Keeping all learned clauses slows down the solver Determining which learned clauses to keep is essential What are the necessary clauses to prove the inconsistancy?

→ use abbreviation information to refine the approximation

G

a5 a3 a2 a1 a4 ℓ1 ℓ2 ℓ3 ℓ4 ℓ5

α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

α7 : p2 ∨ ℓ1

11 / 16

slide-46
SLIDE 46

Reduce learned clause database

Keeping all learned clauses slows down the solver Determining which learned clauses to keep is essential What are the necessary clauses to prove the inconsistancy?

→ use abbreviation information to refine the approximation

G

a3 a2 a1 a4 ℓ1 ℓ2 ℓ3

α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

α7 : p2 ∨ ℓ1

11 / 16

slide-47
SLIDE 47

Reduce learned clause database

Keeping all learned clauses slows down the solver Determining which learned clauses to keep is essential What are the necessary clauses to prove the inconsistancy?

→ use abbreviation information to refine the approximation

G

a3 a2 a1 a4 ℓ1 ℓ2

α′

1 : p2 ∨ p7 ∨ ℓ1

α′

2 : p2 ∨ ℓ2

α′

3 : p7 ∨ p4 ∨ p6 ∨ ℓ3

α′

4 : p6 ∨ p8 ∨ ℓ4

α′

5 : p2 ∨ p5 ∨ a2

α′

6 : p7 ∨ p4 ∨ ℓ5

α7 : p2 ∨ ℓ1

11 / 16

slide-48
SLIDE 48

Experiments

MINISAT+abr (272) MINISAT+abr+g (275)

1 10 100 1000 1 10 100 1000

Figure: Running time

12 / 16

slide-49
SLIDE 49

Minimization of the learned clauses

Learned clauses can be minimized: recursive minimization Clause minimization usually improves SAT solver performance With many assumptions, clause minimization is not effective

→ assumptions are not obtained by unit propagation → non-assumption literals are often blocked by assumptions → the number of deleted literals is rather small

Ignoring assumptions during the minimization step

→ the resulting “minimized” clause might even increase in size → no more non-assumption literals than the original clause

MINISAT MINISAT+abr MINISAT+abr+g #solved(MO) #solved(MO) #solved(MO) without 259(15) 272(3) 273(3) classic 261(13) 272(3) 275(1) full 238(25) 276(0) 281(0)

13 / 16

slide-50
SLIDE 50

Conclusion and perspectives

Introduction of the factoring out assumptions in the context of incremental SAT solving under assumptions: MINISAT+abr

→ techniques that work well for a large number of assumptions → improve the speed of the BCP procedure

Additionnal information collected from the definition map to reduce the learned clause database Application of new form of clause minimization Good results when our approach is combined with MUSer.2 Combine our techniques with more recent results on MUS preprocessing (inprocessing) Apply our approach to high-level MUS extraction Improve the data structure used to save the definition map

14 / 16

slide-51
SLIDE 51

15 / 16

slide-52
SLIDE 52

MINISAT MINISAT+abr

1 10 100 1000 10000 1 10 100 1000 10000

Figure: Average size of learned clauses

16 / 16

slide-53
SLIDE 53

MINISAT MINISAT+abr

1 10 100 1 10 100

Figure: Average number of traversed literals

16 / 16

slide-54
SLIDE 54

MINISAT+abr MINISAT+abr+g

1 10 100 1000 1 10 100 1000

Figure: Memory used (in Mega Bytes)

16 / 16

slide-55
SLIDE 55

10 100 1000 50 100 150 200 250 memory used (in Mega Bytes) number of instances solved MINISAT(full) MINISAT(classic) MINISAT(without) MINISAT+abr+g(without) MINISAT+abr+g(classic) MINISAT+abr+g(full)

Figure: Memory usage of MUSer

16 / 16