LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
Aggressive – but Reactive – Clause Database Management, Dynamic Restarts Gilles Audemard – Laurent Simon
POS – 16 june 2012
GLUCOSE 2.1
POS – 16 june 2012 1 / 25
GLUCOSE 2.1 Aggressive but Reactive Clause Database Management, - - PowerPoint PPT Presentation
LBD Managing Learnt Clauses Restarts Conclusion GLUCOSE 2.1 Aggressive but Reactive Clause Database Management, Dynamic Restarts Gilles Audemard Laurent Simon POS 16 june 2012 GLUCOSE 2.1 POS 16 june 2012 1 / 25 LBD
LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
POS – 16 june 2012 1 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ Built on top of MINISAT 2.0 ◮ Learnt clause measure usefulness: LBD ◮ Agressive cleaning strategy ◮ Dynamic restarts
GLUCOSE 2.1
POS – 16 june 2012 2 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ Built on top of MINISAT 2.0 ◮ Learnt clause measure usefulness: LBD ◮ Agressive cleaning strategy ◮ Dynamic restarts
◮ Built on top of MINISAT 2.2 (≈ 30% faster) ◮ Focus on cleaning strategy
◮ Reducing learnt clauses
GLUCOSE 2.1
POS – 16 june 2012 2 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ Built on top of MINISAT 2.0 ◮ Learnt clause measure usefulness: LBD ◮ Agressive cleaning strategy ◮ Dynamic restarts
◮ Built on top of MINISAT 2.2 (≈ 30% faster) ◮ Focus on cleaning strategy
◮ Reducing learnt clauses
◮ Focus on restarts
GLUCOSE 2.1
POS – 16 june 2012 2 / 25
LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
POS – 16 june 2012 3 / 25
LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
POS – 16 june 2012 4 / 25
LBD Managing Learnt Clauses Restarts Conclusion
een-pico-prop05-50 – UNSAT – 13,000 vars and 65,000 clauses
GLUCOSE 2.1
POS – 16 june 2012 5 / 25
LBD Managing Learnt Clauses Restarts Conclusion
grieu-vmpc-s05-25 – SAT – 625 vars and 76,000 clauses
GLUCOSE 2.1
POS – 16 june 2012 5 / 25
LBD Managing Learnt Clauses Restarts Conclusion
mizh-sha0-35-3 – SAT – 20,000 vars and 120,000 clauses
GLUCOSE 2.1
POS – 16 june 2012 5 / 25
LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
POS – 16 june 2012 6 / 25
LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
POS – 16 june 2012 7 / 25
LBD Managing Learnt Clauses Restarts Conclusion
grieu-vmpc-s05-25 – SAT – 625 vars and 76,000 clauses
GLUCOSE 2.1
POS – 16 june 2012 8 / 25
LBD Managing Learnt Clauses Restarts Conclusion
grieu-vmpc-s05-25 – SAT – 625 vars and 76,000 clauses
GLUCOSE 2.1
POS – 16 june 2012 8 / 25
LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
POS – 16 june 2012 9 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ Only one literal from the last decision level (the assertive one) ◮ This literal will be glued to the other block ◮ binary clauses have LBD equal to 2
GLUCOSE 2.1
POS – 16 june 2012 9 / 25
LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
POS – 16 june 2012 10 / 25
LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
POS – 16 june 2012 11 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ GLUCOSE 1.0 (2009): 20000 + 500 × x conflicts ◮ GLUCOSE 2.X (2011):
GLUCOSE 2.1
POS – 16 june 2012 12 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ Half of clauses have a LBD less than 3 (we are going to remove potentially
◮ Too much good clauses
GLUCOSE 2.1
POS – 16 june 2012 13 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ Half of clauses have a LBD less than 3 (we are going to remove potentially
◮ Too much good clauses
GLUCOSE 2.1
POS – 16 june 2012 13 / 25
LBD Managing Learnt Clauses Restarts Conclusion
20000 40000 60000 80000 100000 120000 200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 1.6e+06 Clause Database size Number of Conflicts All good All bad Bad, then good Good, then Bad Bad, then change every 100,000 GLUCOSE 2.1
POS – 16 june 2012 14 / 25
LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
POS – 16 june 2012 15 / 25
LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
POS – 16 june 2012 16 / 25
LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
POS – 16 june 2012 17 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ bounded queue (of size X) called queueLBD ◮ the sum of all LBD clauses sumLBD
GLUCOSE 2.1
POS – 16 june 2012 18 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ bounded queue (of size X) called queueLBD ◮ the sum of all LBD clauses sumLBD
GLUCOSE 2.1
POS – 16 june 2012 18 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ bounded queue (of size X) called queueLBD ◮ the sum of all LBD clauses sumLBD
GLUCOSE 2.1
POS – 16 june 2012 18 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ bounded queue (of size X) called queueLBD ◮ the sum of all LBD clauses sumLBD
GLUCOSE 2.1
POS – 16 june 2012 18 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ bounded queue (of size X) called queueLBD ◮ the sum of all LBD clauses sumLBD
GLUCOSE 2.1
POS – 16 june 2012 18 / 25
LBD Managing Learnt Clauses Restarts Conclusion
75 80 85 90 95 50 100 150 200 250 300 350 400 450 500 nb solved K SAT (0.7) SAT (0.8)
SAT 2011 Application benchmarks (limit 900 seconds)
GLUCOSE 2.1
POS – 16 june 2012 19 / 25
LBD Managing Learnt Clauses Restarts Conclusion
75 80 85 90 95 50 100 150 200 250 300 350 400 450 500 nb solved K SAT (0.7) SAT (0.8) UNSAT (0.7) UNSAT (0.8)
SAT 2011 Application benchmarks (limit 900 seconds)
GLUCOSE 2.1
POS – 16 june 2012 19 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ CONTRASAT: 1st with 99 instances ◮ GLUCOSE : 10th with 94 instances ◮ 6 of first ten solvers come from minisat hack (luby restarts) ◮ 18 instances separate 1st and 10th in UNSAT
GLUCOSE 2.1
POS – 16 june 2012 20 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ CONTRASAT: 1st with 99 instances ◮ GLUCOSE : 10th with 94 instances ◮ 6 of first ten solvers come from minisat hack (luby restarts) ◮ 18 instances separate 1st and 10th in UNSAT
GLUCOSE 2.1
POS – 16 june 2012 20 / 25
LBD Managing Learnt Clauses Restarts Conclusion
grieu-vmpc-s05-25 – SAT – 625 vars and 76,000 clauses
GLUCOSE 2.1
POS – 16 june 2012 21 / 25
LBD Managing Learnt Clauses Restarts Conclusion
grieu-vmpc-s05-25 – SAT – 625 vars and 76,000 clauses
GLUCOSE 2.1
POS – 16 june 2012 21 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ trail the assignment stack ◮ Bounded queue of the last Y trail size when reaching a conflict
GLUCOSE 2.1
POS – 16 june 2012 22 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ trail the assignment stack ◮ Bounded queue of the last Y trail size when reaching a conflict
GLUCOSE 2.1
POS – 16 june 2012 22 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ trail the assignment stack ◮ Bounded queue of the last Y trail size when reaching a conflict
GLUCOSE 2.1
POS – 16 june 2012 22 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ trail the assignment stack ◮ Bounded queue of the last Y trail size when reaching a conflict
GLUCOSE 2.1
POS – 16 june 2012 22 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ trail the assignment stack ◮ Bounded queue of the last Y trail size when reaching a conflict
GLUCOSE 2.1
POS – 16 june 2012 22 / 25
LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
POS – 16 june 2012 23 / 25
LBD Managing Learnt Clauses Restarts Conclusion
1 10 100 1000 1 10 100 1000 SAT UNSAT
GLUCOSE 2.1 vs GLUCOSE 2.0 SAT 2011 application benchmarks (limit 900 seconds)
GLUCOSE 2.1
POS – 16 june 2012 24 / 25
LBD Managing Learnt Clauses Restarts Conclusion
1 10 100 1000 1 10 100 1000 SAT UNSAT
GLUCOSE 2.1 vs GLUCOSE 1.0 SAT 2011 application benchmarks (limit 900 seconds)
GLUCOSE 2.1
POS – 16 june 2012 24 / 25
LBD Managing Learnt Clauses Restarts Conclusion
200 400 600 800 1000 150 200 250 300 350 glucose 1 glucose 2 glucose 2.1
SAT 2009 + SAT 2011 application benchmarks (536, non redundant)
GLUCOSE 2.1
POS – 16 june 2012 24 / 25
LBD Managing Learnt Clauses Restarts Conclusion
SAT 2009 + SAT 2011 application benchmarks (536, non redundant)
GLUCOSE 2.1
POS – 16 june 2012 24 / 25
LBD Managing Learnt Clauses Restarts Conclusion
GLUCOSE 2.1
POS – 16 june 2012 25 / 25
LBD Managing Learnt Clauses Restarts Conclusion
◮ Are CDCL solvers still complete?
◮ Are CDCL solvers closer to DPLL62 or local search??
GLUCOSE 2.1
POS – 16 june 2012 25 / 25