Improving Glucose for Incremental SAT Solving with Assumptions: - - PowerPoint PPT Presentation

improving glucose for incremental sat solving with
SMART_READER_LITE
LIVE PREVIEW

Improving Glucose for Incremental SAT Solving with Assumptions: - - PowerPoint PPT Presentation

Introduction GLUCOSE and MUSER Conclusion Improving Glucose for Incremental SAT Solving with Assumptions: Application to MUS Extraction Gilles Audemard Jean-Marie Lagniez and Laurent Simon SAT 2013 Glucose and MUS SAT 2013 1 / 17


slide-1
SLIDE 1

Introduction

GLUCOSE and MUSER

Conclusion

Improving Glucose for Incremental SAT Solving with Assumptions: Application to MUS Extraction Gilles Audemard Jean-Marie Lagniez and Laurent Simon

SAT 2013

Glucose and MUS SAT 2013 1 / 17

slide-2
SLIDE 2

Introduction

GLUCOSE and MUSER

Conclusion

Introduction and Motivations

Glucose and MUS SAT 2013 2 / 17

slide-3
SLIDE 3

Introduction

GLUCOSE and MUSER

Conclusion

Minimum Unsatisfiable Subformula

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 inconsistant : Why ? Minimal unsatisfiable subset of clauses

Glucose and MUS SAT 2013 3 / 17

slide-4
SLIDE 4

Introduction

GLUCOSE and MUSER

Conclusion

Minimum Unsatisfiable Subformula

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 inconsistant : Why ? Minimal unsatisfiable subset of clauses

Glucose and MUS SAT 2013 3 / 17

slide-5
SLIDE 5

Introduction

GLUCOSE and MUSER

Conclusion

Minimum Unsatisfiable Subformula

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 inconsistant : Why ? Minimal unsatisfiable subset of clauses Different approaches

◮ Local search [Piette et al, ECAI 2006] ◮ Resolution based [Nadel, FMCAD 2010] ◮ Constructive or destructive [Belov etal, AI Com 2012]. The tool MUSER Glucose and MUS SAT 2013 3 / 17

slide-6
SLIDE 6

Introduction

GLUCOSE and MUSER

Conclusion

Minimum Unsatisfiable Subformula

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 inconsistant : Why ? Minimal unsatisfiable subset of clauses Different approaches

◮ Local search [Piette et al, ECAI 2006] ◮ Resolution based [Nadel, FMCAD 2010] ◮ Constructive or destructive [Belov etal, AI Com 2012]. The tool MUSER Glucose and MUS SAT 2013 3 / 17

slide-7
SLIDE 7

Introduction

GLUCOSE and MUSER

Conclusion

Minimum Unsatisfiable Subformula

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 inconsistant : Why ? Minimal unsatisfiable subset of clauses Different approaches

◮ Local search [Piette et al, ECAI 2006] ◮ Resolution based [Nadel, FMCAD 2010] ◮ Constructive or destructive [Belov etal, AI Com 2012]. The tool MUSER Glucose and MUS SAT 2013 3 / 17

slide-8
SLIDE 8

Introduction

GLUCOSE and MUSER

Conclusion

Minimum Unsatisfiable Subformula

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 inconsistant : Why ? Minimal unsatisfiable subset of clauses Different approaches

◮ Local search [Piette et al, ECAI 2006] ◮ Resolution based [Nadel, FMCAD 2010] ◮ Constructive or destructive [Belov etal, AI Com 2012]. The tool MUSER Glucose and MUS SAT 2013 3 / 17

slide-9
SLIDE 9

Introduction

GLUCOSE and MUSER

Conclusion

Minimum Unsatisfiable Subformula

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 inconsistant : Why ? Minimal unsatisfiable subset of clauses Different approaches

◮ Local search [Piette et al, ECAI 2006] ◮ Resolution based [Nadel, FMCAD 2010] ◮ Constructive or destructive [Belov etal, AI Com 2012]. The tool MUSER Glucose and MUS SAT 2013 3 / 17

slide-10
SLIDE 10

Introduction

GLUCOSE and MUSER

Conclusion

Minimum Unsatisfiable Subformula

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 inconsistant : Why ? Minimal unsatisfiable subset of clauses Different approaches

◮ Local search [Piette et al, ECAI 2006] ◮ Resolution based [Nadel, FMCAD 2010] ◮ Constructive or destructive [Belov etal, AI Com 2012]. The tool MUSER Glucose and MUS SAT 2013 3 / 17

slide-11
SLIDE 11

Introduction

GLUCOSE and MUSER

Conclusion

Minimum Unsatisfiable Subformula

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 inconsistant : Why ? Minimal unsatisfiable subset of clauses Different approaches

◮ Local search [Piette et al, ECAI 2006] ◮ Resolution based [Nadel, FMCAD 2010] ◮ Constructive or destructive [Belov etal, AI Com 2012]. The tool MUSER Glucose and MUS SAT 2013 3 / 17

slide-12
SLIDE 12

Introduction

GLUCOSE and MUSER

Conclusion

Muser Architecture

Incremental SAT

MUSER (Σ)

Solver(Σ′)

Σ′ ⊆ Σ SAT/UNSAT

MUS

Successive calls to a SAT oracle Non independant calls Informations between two calls are preserved

◮ Heuristics : VSIDS, phase saving, restarts... ◮ Learnt clauses Glucose and MUS SAT 2013 4 / 17

slide-13
SLIDE 13

Introduction

GLUCOSE and MUSER

Conclusion

Forget some clauses and some learnt clauses

Add one selector (fresh variable) ai per clause

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

Assign ai (as an assumption) to false to activate the clause i Assign ai (as an assumption) to true to disable the clause i All learnt clauses related to a disable clause will be disabled !

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

Glucose and MUS SAT 2013 5 / 17

slide-14
SLIDE 14

Introduction

GLUCOSE and MUSER

Conclusion

Our work

MUSER (Σ) MINISAT (Σ′)

Σ′ ⊆ Σ SAT/UNSAT

MUS

Glucose and MUS SAT 2013 6 / 17

slide-15
SLIDE 15

Introduction

GLUCOSE and MUSER

Conclusion

Our work

MUSER (Σ) GLUCOSE (Σ′)

Σ′ ⊆ Σ SAT/UNSAT

MUS

Plug GLUCOSE in MUSER Adapt and modify GLUCOSE to improve MUSER performances

Improve SAT oracle in order to improve the MUSER tool

Glucose and MUS SAT 2013 6 / 17

slide-16
SLIDE 16

Introduction

GLUCOSE and MUSER

Conclusion

GLUCOSE and MUSER

Glucose and MUS SAT 2013 7 / 17

slide-17
SLIDE 17

Introduction

GLUCOSE and MUSER

Conclusion

Test set

300 instances from the SAT competition 2011, MUS category timeout set to 2400 seconds

MUSER is used with default options (destructive approach, model rotation)

Glucose and MUS SAT 2013 8 / 17

slide-18
SLIDE 18

Introduction

GLUCOSE and MUSER

Conclusion

A first Attempt

1 10 100 1000 1 10 100 1000 Minisat (273 solved) Glucose 2.1 (261 solved) (259 points)

Resolution time

Glucose and MUS SAT 2013 9 / 17

slide-19
SLIDE 19

Introduction

GLUCOSE and MUSER

Conclusion

Disappointing results

Trying to explain these bad results

Glucose and MUS SAT 2013 10 / 17

slide-20
SLIDE 20

Introduction

GLUCOSE and MUSER

Conclusion

Disappointing results

1 10 100 1000 10000 1 10 100 1000 10000 Minisat (273 solved) Glucose 2.1 (261 solved) (259 points)

Nb SAT calls

Glucose and MUS SAT 2013 10 / 17

slide-21
SLIDE 21

Introduction

GLUCOSE and MUSER

Conclusion

Disappointing results

Trying to explain these bad results

Comparable number of oracle calls Easy SAT calls (not shown in the paper) Difficult UNSAT ones

GLUCOSE is supposed to be good on UNSAT formulas

Glucose and MUS SAT 2013 10 / 17

slide-22
SLIDE 22

Introduction

GLUCOSE and MUSER

Conclusion

Disappointing results

Trying to explain these bad results

Comparable number of oracle calls Easy SAT calls (not shown in the paper) Difficult UNSAT ones

GLUCOSE is supposed to be good on UNSAT formulas GLUCOSE uses LBD for cleaning, restarts...

Each assumption uses its own decision level

Glucose and MUS SAT 2013 10 / 17

slide-23
SLIDE 23

Introduction

GLUCOSE and MUSER

Conclusion

Disappointing results

Each point represents an instance x-axis is the average number of initial variables in learnt clauses y-axis is the average number of selector variables in learnt clauses

200 400 600 800 1000 1200 1400 1600 1800 2000 50 100 150 200 250 300 350 400 450 500

assumption initial

Glucose and MUS SAT 2013 10 / 17

slide-24
SLIDE 24

Introduction

GLUCOSE and MUSER

Conclusion

Disappointing results

LBD size LBD Instance #C time avg max avg max fdmus_b21_96 8541 29 1145 5980 1095 5945 longmult6 8853 46 694 3104 672 3013 dump_vc950 360419 110 522 36309 498 35873 g7n 70492 190 1098 16338 1049 16268

LBD looks like size Clauses are very long

Glucose and MUS SAT 2013 10 / 17

slide-25
SLIDE 25

Introduction

GLUCOSE and MUSER

Conclusion

Disappointing results

Trying to explain these bad results

Comparable number of oracle calls Easy SAT calls (not shown in the paper) Difficult UNSAT ones

GLUCOSE is supposed to be good on UNSAT formulas GLUCOSE uses LBD for cleaning, restarts...

Each assumption uses its own decision level The LBD of a clause looks like its size !

Glucose and MUS SAT 2013 10 / 17

slide-26
SLIDE 26

Introduction

GLUCOSE and MUSER

Conclusion

Disappointing results

Trying to explain these bad results

Comparable number of oracle calls Easy SAT calls (not shown in the paper) Difficult UNSAT ones

GLUCOSE is supposed to be good on UNSAT formulas GLUCOSE uses LBD for cleaning, restarts...

Each assumption uses its own decision level The LBD of a clause looks like its size !

Refine LBD : Do not take into account selectors

Glucose and MUS SAT 2013 10 / 17

slide-27
SLIDE 27

Introduction

GLUCOSE and MUSER

Conclusion

A second attempt

1 10 100 1000 1 10 100 1000 Minisat (273 solved) Glucose New LBD (272 solved) (267 points)

Resolution time

Glucose and MUS SAT 2013 11 / 17

slide-28
SLIDE 28

Introduction

GLUCOSE and MUSER

Conclusion

New LBD

LBD New LBD size LBD size LBD Instance #C time avg max avg max time avg max avg max fdmus_b21_96 8541 29 1145 5980 1095 5945 11 972 6391 8 71 longmult6 8853 46 694 3104 672 3013 14 627 2997 11 61 dump_vc950 360419 110 522 36309 498 35873 67 1048 36491 8 307 g7n 70492 190 1098 16338 1049 16268 75 1729 17840 27 160

LBD matters

However, results need to be improve

Glucose and MUS SAT 2013 12 / 17

slide-29
SLIDE 29

Introduction

GLUCOSE and MUSER

Conclusion

Clauses are too long

Many algorithms have to traverse clauses

Dynamic computing of LBD (useful but costly) Conflict analysis Unit propagation Deleting satisfiable clauses

Glucose and MUS SAT 2013 13 / 17

slide-30
SLIDE 30

Introduction

GLUCOSE and MUSER

Conclusion

Clauses are too long

Many algorithms have to traverse clauses

Dynamic computing of LBD (useful but costly)

→ Store the number of selectors in the clause → Stop when all initial literals have been tested

Conflict analysis Unit propagation Deleting satisfiable clauses

Glucose and MUS SAT 2013 13 / 17

slide-31
SLIDE 31

Introduction

GLUCOSE and MUSER

Conclusion

Clauses are too long

Many algorithms have to traverse clauses

Dynamic computing of LBD (useful but costly)

→ Store the number of selectors in the clause → Stop when all initial literals have been tested

Conflict analysis

→ Force initial literals to be placed at the beginning

Unit propagation Deleting satisfiable clauses

Glucose and MUS SAT 2013 13 / 17

slide-32
SLIDE 32

Introduction

GLUCOSE and MUSER

Conclusion

Clauses are too long

Many algorithms have to traverse clauses

Dynamic computing of LBD (useful but costly)

→ Store the number of selectors in the clause → Stop when all initial literals have been tested

Conflict analysis

→ Force initial literals to be placed at the beginning

Unit propagation

→ Look for a non selector literal or a satisfied one → Push selectors at the end of the clause

Deleting satisfiable clauses

Glucose and MUS SAT 2013 13 / 17

slide-33
SLIDE 33

Introduction

GLUCOSE and MUSER

Conclusion

Clauses are too long

Many algorithms have to traverse clauses

Dynamic computing of LBD (useful but costly)

→ Store the number of selectors in the clause → Stop when all initial literals have been tested

Conflict analysis

→ Force initial literals to be placed at the beginning

Unit propagation

→ Look for a non selector literal or a satisfied one → Push selectors at the end of the clause

Deleting satisfiable clauses

→ Take only watched literals into account

Glucose and MUS SAT 2013 13 / 17

slide-34
SLIDE 34

Introduction

GLUCOSE and MUSER

Conclusion

Third attempt

1 10 100 1000 1 10 100 1000 Minisat (273 solved) Glucose Inc (288 solved) (273 points)

Resolution time

Glucose and MUS SAT 2013 14 / 17

slide-35
SLIDE 35

Introduction

GLUCOSE and MUSER

Conclusion

Final comparison

500 1000 1500 2000 2500 180 200 220 240 260 280 300 time nb instances minisat glucose New LBD glucoseInc

Glucose and MUS SAT 2013 15 / 17

slide-36
SLIDE 36

Introduction

GLUCOSE and MUSER

Conclusion

Conclusion

Glucose and MUS SAT 2013 16 / 17

slide-37
SLIDE 37

Introduction

GLUCOSE and MUSER

Conclusion

Conclusion

Adapt GLUCOSE to deal with selectors and assumptions

◮ Adapt the definition of LBD ◮ Modify algorithms dealing with long clauses

Application to MUS extraction (using MUSER) Modify heuristics to take into account the semantic of selectors

◮ From a black box to a gray box SAT oracle

Try other contexts : MAXSAT for example Suggested by Alexander Nadel : An incremental track in next competition...

Glucose and MUS SAT 2013 17 / 17