Evaluating CDCL Restart Schemes
Published: March 15, 2019
本文可以看做是对之前重启策略的一个回顾、确认及展望。
Abstract
Modern CDCL (conflict-driven clause learning) SAT solvers are used for many practical applications. One of the key ingredients of state-of-the-art CDCL solvers are efficient restart schemes. The main contribution of this work is an extensive empirical evaluation of various restart strategies.译文:对各种重启策略进行广泛的实证评估。 We show that optimal static restart intervals are not only correlated with the satisfiability status of a certain instance, but also with the more specific problem class of the given benchmark. We further compare uniform restart intervals with the performance of non-uniform restart schemes, such as Luby restarts. Finally, we revisit the dynamic restart strategy used in Glucose and propose a new variant thereof, which is based on the concept of exponential moving averages. The resulting implementation in Lingeling improves state-of-the-art performance in SAT solving. | |
Conclusion
In this paper, we provided an extensive empirical evaluation of difffferent restart strategies in the context of modern CDCL solvers.
We fifirst looked at static restart schemes.
Our results show that, for uniform restart policies, the optimal interval size not only depends on the satisfifiability status of a given instance, but also on the specifific problem class. In particular, our solver version static-256 was the best performing one, regarding intervals with fifixed size.
Comparing those results with non-uniform restart schemes, it turned out that previously most successful strategies, such as Luby restarts, did not give an additional benefifit in combination with the current state-of-the-art solver Lingeling on recent competition benchmarks. Our best non-uniform version, luby-02, solved exactly as many instances as the best uniform one. Interestingly, the equally well-known inner/outer scheme actually performed worse. This emphasizes the need for occasional re-evaluation of well-known techniques in consideration of the steady changes made in modern CDCL solvers due to the ongoing development.
In a second part, we revisited the Glucose restart scheme, being the currently most successful dynamic strategy.
Since solvers that used Glucose restarts were able to solve a substantial number of instances in the SAT competition 2014 that Lingeling version sc14ayv was not able to solve, we implemented a similar strategy in our new version average. Our experimental results show, that this version of Lingeling signifificantly outperforms all versions with static restart schemes, as well as the SAT competition version of Glucose.
We also gave a formalization of the Glucose restart strategy in the context of moving averages, widely used in statistics. We argued that the original implementation of Glucose restarts is actually a combination of simple moving averages with cumulative moving averages. We then proposed to use exponential moving averages, because of several desirable properties. In particular, exponential moving averages do not require the implementation of a queue and, more important, gradually smooth the inflfluence of earlier values. 译文:指数移动平均不需要队列的实现,更重要的是,逐渐平滑早期值的影响。
The concerete implementation of the proposed exponential moving average version of Glucose restarts into Lingeling uses fifixed point representation, which we described in detail. We further presented a possible technique for smoother initialization. Our evaluation shows that the resulting Lingeling versions improve state-of-the-art.
For future work, further improvements of the current implementation, e.g., more sophisticated intialization techniques might be of interest.译文:对于未来的工作,当前实现的进一步改进,例如更复杂的初始化技术可能会引起兴趣。
We also experimented with related concepts from statistical analysis, such as DEMAs (double exponential moving averages) and the MACD (moving average convergence/divergence) indicator but, so far, were not able to achieve further improvements by doing so.Continuing research into this direction could also be part of future work.
Aside from this, exhaustive evaluations on a broader range of benchmarks will increase robustness of solvers and prevent overtuning. 译文:对更广泛的基准进行详尽的评估将增加求解器的健壮性,并防止过度调优。Similarly, considering larger timeouts will be of interest. Preliminary experiments using older competition instances and a timeout of 5000 seconds seem to confifirm the previous results also in a more general setting.
|
|