文献阅读--A Machine Learning Based Splitting Heuristic for Divide-and-Conquer Solvers

A Machine Learning Based Splitting Heuristic for Divide-and-Conquer Solvers

Nejati S., Le Frioux L., Ganesh V. (2020) A Machine Learning Based Splitting Heuristic for Divide-and-Conquer Solvers. In: Simonis H. (eds) Principles and Practice of Constraint Programming. CP 2020. Lecture Notes in Computer Science, vol 12333. Springer, Cham. https://doi.org/10.1007/978-3-030-58475-7_52


 

Abstract

 

n this paper, we present a machine learning based splitting heuristic for divide-and-conquer parallel Boolean SAT solvers. Splitting heuristics, whether they are look-ahead or look-back, are designed using proxy metrics, which when optimized, approximate the true metric of minimizing solver runtime on sub-formulas resulting from a split.

译文:分裂启发式,无论它们是前瞻的还是向后看的,都是使用代理度量设计的,当优化时,在分裂产生的子公式上近似最小化求解器运行时的真实度量。

 

The rationale for such metrics is that they have been empirically shown to be excellent proxies for runtime of solvers, in addition to being cheap to compute in an online fashion.译文:这些指标的基本原理是,它们已经被经验证明是求解器运行时的优秀代理,而且在在线方式计算成本很低。

However, the design of traditional splitting methods are often ad-hoc and do not leverage the copious amounts of data that solvers generate.译文:然而,传统分割方法的设计往往是特别的,并没有利用求解器生成的大量数据。

 

阅读注释:如何利用好求解器生成的大量数据?Trail Saving中保留回溯赋值情况做探索分析是一种应用、2018Liang老师文献提出LBD前后相关性并依据前部四个预测后续子句LBD一种应用。本文也是一种应用。

   
 

To address the above-mentioned issues, we propose a machine learning based splitting heuristic that leverages the features of input formulas and data generated during the run of a divide-and-conquer (DC) parallel solver. 

译文:为了解决上述问题,我们提出了一种基于机器学习的分裂启发式算法,它利用了在分治(DC)并行求解器运行期间生成的输入公式和数据的特征。

 

More precisely, we reformulate the splitting problem as a ranking problem and develop two machine learning models for pairwise ranking and computing the minimum ranked variable.译文:更准确地说,我们将分裂问题重新表述为排序问题,并开发了两个机器学习模型,用于两两排序和计算最小排序变量

 

Our model can compare variables according to their splitting quality, which is based on a set of features extracted from structural properties of the input formula, as well as dynamic probing statistics, collected during the solver’s run.译文:我们的模型可以根据拆分质量来比较变量,拆分质量是基于从输入公式的结构属性中提取的一组特征,以及求解程序运行过程中收集的动态探测统计数据。

 

We derive the true labels through offline collection of runtimes of a parallel DC solver on sample formulas and variables within them.译文:我们通过在样本公式和变量上的并行直流解算器的离线运行时集合推导出真实的标签。

At each splitting point, we generate a predicted ranking (pairwise or minimum rank) of candidate variables and split the formula on the top variable.译文:在每个分裂点,我们生成候选变量的预测排名(成对或最小排名),并对顶部变量的公式进行拆分。

   
 

We implemented our heuristic in the Painless parallel SAT framework and evaluated our solver on a set of cryptographic instances encoding the SHA-1 preimage as well as SAT competition 2018 and 2019 benchmarks.

We solve significantly more instances compared to the baseline Painless solver and outperform top divide-and-conquer solvers from recent SAT competitions, such as Treengeling. Furthermore, we are much faster than these top solvers on cryptographic benchmarks.

   
   

 下阶段接着学习。2020-12-26

上一篇:Rust中的所有权与函数


下一篇:SQL中EXISTS与delete搭配使用