1 / 21

Local Restarts in SAT Solvers

Local Restarts in SAT Solvers. Vadim Ryvchin and Ofer Strichman Technion, Haifa, Israel. Restarts. SAT solvers use a " restart " policy Following various criteria, the solver is forced to backtrack to level 0. Restarts have crucial impact on performance.

royce
Download Presentation

Local Restarts in SAT Solvers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Local Restartsin SAT Solvers Vadim Ryvchin and Ofer Strichman Technion, Haifa, Israel

  2. Restarts • SAT solvers use a "restart" policy • Following various criteria, the solver is forced to backtrack to level 0. • Restarts have crucial impact on performance. • Motivation: avoid spending too much time in ‘bad’ branches: • no easy-to-find satisfying assignment • no opportunity for fast learning of strong clauses.

  3. Restarts Motivation • Best time to restart: • When algorithm spends too much time under a “wrong” branch solution No solution Perform restart decision level k decision level 1 decision level 0

  4. The basic measure for restarts • All existing techniques use the number of conflicts learned as of the previous restart. • The difference is only in the method of calculating the threshold.

  5. Restarts strategies • Arithmetic (or fixed) series. • Parameters: x, y. • Init(t) = x • Next(t)=t+y • Used in: • Berkmin (550, 0) • Eureka (2000, 0) • Zchaff 2004 (700, 0) • Siege (16000, 0)

  6. Restarts Strategies (cont.) • Geometric series. • Parameters: x, y. • Init(t) = x • Next(t)=t*y • Used in • Minisat 2007 (100, 1.5)

  7. Restarts Strategies (cont.) • Inner-Outer Geometric series. • Parameters: x, y, z. • Init(t) = x • if (t*y < z) • Next(t) = t*y • else • Next(t) = x • Next(z) = z*y • Used in: • Picosat (100, 1.1, 1000)

  8. Restarts Strategies (cont.) • Luby et al. series. • Parameter: x. • Init(t) = x • Next(t) = ti*x • Used in: • RSat (512) • Tinisat (512) ti=1 1 2 1 1 2 4 1 1 2 1 1 2 4 8 1 1 2 1 1 2 4 1 1 2 1 1 2 4 8 16 1 1 2 1 1 2 4 1 1 2 1 1 2 4 8 …

  9. Global vs. Local • Recall: all techniques measure the number of conflicts as of the previous restart. • This is a global criterion. • Somewhat disregards the original motivation of focusing on ‘bad’ branches. • Local criteria: measure difficulty of branches.

  10. Global Restarts Explored sub tree solution solution No solution No solution decision level k Perform restart decision level 1 decision level 0

  11. Local Restarts Explored sub tree solution No solution Perform restart decision level k decision level 1 decision level 0

  12. Calculating the number of conflicts under a branch • We worked with the following local measure: • Number of conflicts above each level. • For each decision level d maintain a counter c(d): • When making a decision at level d, • c(d) = #global conflicts. • When backtracking to level d: • res = #global conflicts - c(d). • If res > threshold, restart. • All the presented strategies can be local.

  13. Dynamic Criteria • A new dimension for the restart strategy: the decision level d. • The restart threshold is a function of d. • Higher decision level  smaller threshold. • Each of the local strategies can be made dynamic.

  14. Dynamic Criteria • Dynamic-fix. • d – decision level, • i – iteration • Parameters: x, y, c. • Init(t) = x • Next(t) = x + y * i – (c * d) min Constant Need a minimum !

  15. Dynamic Criteria • Dynamic-fix. • d – decision level, • i – iteration • Parameters: x, y, c, min > 0. • Init(t) = x • Next(t) = max(x + y * i – (c * d), min) min Not a restart number Constant

  16. Experimental Results • Solvers: Minisat2007 and Eureka • Benchmarks: 100 instances from SAT-race 2006 (the TS1,TS2 test sets). • Timeout: 30 minutes. • Instances that timed-out are included and contribute 30 minutes • Restart configurations: 40 • Chosen dynamically following ‘hill climbing’ • Looked also for best parameters for global restarts

  17. Experimental Results - Minisat

  18. Experimental Results (fails) – Minisat

  19. Dynamic Restart • Unsat improvement: • x1.19 speedup (4.09h vs. 4.90h) • x1.75 in unsolved instances (4 vs. 7). Zoom in

  20. Dynamic Restart Unsat improvement: x1.19 speedup (4.09h vs. 4.90h) x1.75 in unsolved instances (4 vs. 7). 20

  21. Conclusions • Conclusion: • Making restarts local helps all restarts strategies. • Improves average run time • ~ x1.44 in Minisat • ~ x1.17 in Eureka • Improves fails (timeout = 30 min) by • ~ x1.75 in Minisat • ~ x1.27 in Eureka

More Related