Restart Strategy Selection Using Machine Learning Techniques
Haim S., Walsh T. (2009) Restart Strategy Selection Using Machine Learning Techniques. In: Kullmann O. (eds) Theory and Applications of Satisfiability Testing - SAT 2009. SAT 2009. Lecture Notes in Computer Science, vol 5584. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02777-2_30
Abstract
Restart strategies are an important factor in the performance of conflict-driven Davis Putnam style SAT solvers. Selecting a good restart strategy for a problem instance can enhance the performance of a solver. Inspired by recent success applying machine learning techniques to predict the runtime of SAT solvers, we present a method which uses machine learning to boost solver performance through a smart selection of the restart strategy. Based on easy to compute features, we train both a satisfiability classifier and runtime models. 译文:基于容易计算的特征,我们训练了满足度分类器和运行时模型。 We use these models to choose between restart strategies. We present experimental results comparing this technique with the most commonly used restart strategies. Our results demonstrate that machine learning is effective in improving solver performance. |
|
Keywords
Machine Learn Technique 、Observation Window 、Horn Clause 、Runtime Model 、Current Partial Assignment
3 LMPick: A Restart-Strategy Selector
Since restart strategies are an important factor in the performance of DPLL style SAT solvers, a selection of a good restart strategy for a given instance should improve the performance of the solver for that instance. We suggest that by using supervised machine learning, it is possible to select a good restart strategy for a given instance. We present LMPick, a machine learning based technique which enhances CDCL solvers’ performance.译文:我们提出了LMPick,一种基于机器学习的技术,可以提高CDCL求解器的性能。 |
|
3.1 Restart Strategies Portfolio | |
LMPick uses a portfolio of restart strategies from which it chooses the best one for a given instance. Following [11] we recognize several restart strategies that have shown to be effective on one benchmark family or more. We chose 9 restart strategies that represent, to our understanding, a good mapping of commonly used restart strategies.译文:我们选择了9种重启策略,根据我们的理解,它们代表了常用重启策略的良好映射。 |
|
3.2 Supervised Machine Learning | |
Satsifiable and unsatisfiable instances from the same benchmark family tend a given instance according to its probability to be satisfiable. Previous work |
|
Using supervised machine learning, we train models offline in order to use |
|
As the classifier, we used a Logistic Regression technique. Any classifier that (suggested to be effective for this task in [25]), and the classifiers suggested by |
|
For the runtime prediction models we used Ridge Linear Regression. Using |
|
3.3 Feature Vector | |
There are 4 different sets of features that we used in this study, all are inspired |
|
Fig. 2. Steps in the operation of a restart strategy portfolio based solver. Features sets |
|
3.4 Operation of the Solver | |
Once all runtime models are fitted and the satisfiability classifier is trained, we |
|
The restart strategy which is predicted to be the first to terminate is picked, |
|
4 Results
4.1 Experiment Settings
4.2 Benchmarks
2 http://www.cprover.org/cbmc/ | |
– bmc: An ensemble of software verification problems generated using CBMC2 verifying the C functions presented in Fig. 3. These two functions are almost identical, apart for a change in line 8, which causes the sat script to overflow. The different instances use different array sizes and different number of unwindings. This dataset represents an ensemble of problems that are very similar and generated by the same process. We use 234 satisfiable and 237 unsatisfiable problems. |
|
– velev: An ensemble of hardware formal verification problems distributed |
|
3 http://www.miroslav-velev.com/sat benchmarks.html. We use the following benchmark |
References
|
|
文献学习--Restart Strategy Selection Using Machine Learning Techniques