Download presentation

Presentation is loading. Please wait.

Published byKenna Pharo Modified about 1 year ago

1
1 Local Restarts in SAT Solvers Vadim Ryvchin and Ofer Strichman Technion, Haifa, Israel

2
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
3 Restarts Motivation Best time to restart: When algorithm spends too much time under a “wrong” branch No solution Perform restart solution decision level k decision level 1 decision level 0

4
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
5 Restarts strategies 1.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
6 Restarts Strategies (cont.) 2.Geometric series. Parameters: x, y. Init(t) = x Next(t)=t*y Used in Minisat 2007 (100, 1.5)

7
7 Restarts Strategies (cont.) 3.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
8 Restarts Strategies (cont.) 4.Luby et al. series. Parameter: x. Init(t) = x Next(t) = t i *x Used in: RSat (512) Tinisat (512) t i = …

9
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
10 Global Restarts Perform restart Explored sub tree No solution solution No solution solution decision level k decision level 1 decision level 0

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

12
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
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
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
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 Constant Not a restart number

16
16 Experimental Results Solvers: Minisat 2007 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 Restart Strategy LocalGlobalSpeedup Arithmetic x1.16 Geometric x1.11 Inner-Outer x1.2 Luby x1.13 Original vs. Best Local x1.44

18
Experimental Results (fails) – Minisat Restart Strategy LocalGlobalimprovement Arithmetic10 1 Geometric1114x1.27 Inner-Outer810x1.25 Luby911x1.22 Original vs. Best Local 814x1.75

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

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

21
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

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google