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
Introduction GLUCOSE and MUSER Conclusion Introduction and Motivations Glucose and MUS SAT 2013 2 / 17
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
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
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
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
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
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
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
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
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
Introduction GLUCOSE and MUSER Conclusion Muser Architecture Incremental SAT SAT/UNSAT Σ ′ ⊆ Σ Solver( Σ ′ ) MUSER ( Σ ) 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
Introduction GLUCOSE and MUSER Conclusion Forget some clauses and some learnt clauses Add one selector (fresh variable) a i per clause a 1 ∨ x ∨ y ∨ z a 2 ∨ x ∨ ¬ y a 3 ∨ x ∨ ¬ z a 4 ∨ ¬ x ∨ y ∨ z a 5 ∨ x ∨ w a 6 ∨ w ∨ z ∨ ¬ y a 7 ∨ ¬ x ∨ ¬ y a 8 ∨ ¬ x ∨ ¬ z a 9 ∨ w ∨ ¬ x ∨ ¬ z Assign a i (as an assumption) to false to activate the clause i Assign a i (as an assumption) to true to disable the clause i All learnt clauses related to a disable clause will be disabled ! a 1 ∨ x ∨ y ∨ z a 2 ∨ x ∨ ¬ y a 1 ∨ a 2 ∨ x ∨ z Glucose and MUS SAT 2013 5 / 17
Introduction GLUCOSE and MUSER Conclusion Our work SAT/UNSAT Σ ′ ⊆ Σ MINISAT ( Σ ′ ) MUSER ( Σ ) MUS Glucose and MUS SAT 2013 6 / 17
Introduction GLUCOSE and MUSER Conclusion Our work SAT/UNSAT Σ ′ ⊆ Σ GLUCOSE ( Σ ′ ) MUSER ( Σ ) 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
Introduction GLUCOSE and MUSER Conclusion GLUCOSE and MUSER Glucose and MUS SAT 2013 7 / 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
Introduction GLUCOSE and MUSER Conclusion A first Attempt (259 points) 1000 Glucose 2.1 (261 solved) 100 10 Minisat (273 solved) 1 1 10 100 1000 Resolution time Glucose and MUS SAT 2013 9 / 17
Introduction GLUCOSE and MUSER Conclusion Disappointing results Trying to explain these bad results Glucose and MUS SAT 2013 10 / 17
Introduction GLUCOSE and MUSER Conclusion Disappointing results 10000 (259 points) 1000 Glucose 2.1 (261 solved) 100 10 Minisat (273 solved) 1 1 10 100 1000 10000 Nb SAT calls Glucose and MUS SAT 2013 10 / 17
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
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
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 2000 1800 1600 1400 1200 assumption 1000 800 600 400 200 0 50 100 150 200 250 300 350 400 450 500 initial Glucose and MUS SAT 2013 10 / 17
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
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
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
Introduction GLUCOSE and MUSER Conclusion A second attempt (267 points) 1000 Glucose New LBD (272 solved) 100 10 Minisat (273 solved) 1 1 10 100 1000 Resolution time Glucose and MUS SAT 2013 11 / 17
Recommend
More recommend