MapleLCMDistChronoBT-DL-v2.2PSIDS_RFV02_2是我们参加2020求解器竞赛的主要版本,以下是对该求解去改进方案做的简要说明。


英文文档:

MapleLCMDistChronoBT-DL-Scavel, MapleLCMDistChronoBT-DL- RFV , XXX solvers at the SAT Race 2019

1st Zhihui Li,  2nd Guanfeng Wu   3th Yang Xu,  4rd Qingshan Chen

School of Mathematics

National-Local Joint Engineering Laboratory of System Credibility

Automatic Verification, Southwest Jiaotong University

Chengdu, China

 

xuyang@swjtu.edu.cn,  lizhihui@ swjtu.edu.cn

 

Abstract:

This document describes three solvers from Scavle:Maple_LCM_Scavel2020,MapleLCMDistChronoBT-DL-v2.2ScavelRFV,and XXXXXX. The first two solvers will compete in Main Track,and the last solver is for parallel Track.  

 

 I. I NTRODUCTION 

The community structure exists in the real problems. After formalizing the problems, the community structure characteristics can still be mined and utilized, although some community characteristics will be lost after the transformation [1][2][7]. Making full use of community characteristics in limited time is a research hotspot [3].

Based on the existing VSIDS and its variants, the selection strategy of decision variables continues to the selection of the first element of the restart. If the solver has been trapped in the local space during the last run before the restart, repeated backtracking and propagation will make this part of the locally trapped variables active in the forefront of all the variables. The degree of activity at this point, as the choice of decision variables after restart, may easily make the solver unable to achieve a real restart.Our guiding idea is to adjust the selection method of starting decision variables so that the first variable of restart is generated from another selection mode.In this way, the first argument of the reboot may be different from the community structure of the part of the argument that has been trapped in the local space.

 II. ALGORITHM AND IMPLEMENTATION DETAILS

In theory, the decision argument after restart should be different from the last decision argument before restart.However, because the computation of the community structure takes a long time, the time spent in solving the community structure is unacceptable in the competition solvers for the sample with more variables and clauses.Although there are many solvers that will carry out community solution in special time period, please make use of them, but all of them are aimed at the sample that can satisfy the solution time of small community, especially when the learning clause set is also involved, it is necessary to try to limit the community solution time [5].

So we settle for second best, and the competition of the solver version, the text will be more a part of the argument rough thought contained in one or more of the community, they are in the community may be related to solver last solving process finally enter the search area of different argument community (even if the same, the new mechanism is back to the original mechanism, and a small amount of use of such a choice for solving process there will be no interference), restart can be selected as the first argument optional argument set.Like the inIDGlucose solver, the characters of the original clause set text are first analyzed and applied to the selection of the first element in the solver restart stage.Secondly, one of the alternative arguments is taken as the first argument of restart.At the same time, in order to ensure the excellent characteristics of the existing solvers, the above selection mode of change decision variables is only used in a few restart stages, and is limited to the selection of the first variable to restart.

     In addition, the ideological Improved learning clause management strategy we proposed in 2018 has also been considered [6].At that time, we improved the version based on Maple_LCM_Dist and got a better result in the contest of Maple_LCM_Scavel.We set a property usedt for each learning clause, which is initialized to 0 when the learning clause is generated.In the subsequent solving process, when the learning clause is involved in conflict analysis, its usedt value increases by 1.When the learning clause management is reduced ((in "reducedDB" method)), the solver clause is set to use the threshold value NBused, and half of the learning clause with low activity is excluded. When the value of the learning clause participating in conflict analysis is lower than the threshold value NBused, the clause will be deleted.At that time, we set the threshold value of 150 through a lot of experiments.

This time we change the static threshold value to the dynamic threshold value, which is given dynamically from the distance of the time the learning clause is used .For this purpose, we designed a special scoring function:

 

Where conflictsi is the i-th conflict since the beginning of the  current  search,and the learning clause ci is used for conflict analysis and gets  as the incremental value of the collision score.

The above changes are based on the 2019 champion solver (MapleLCMDistChronoBT- dl-v2.2).In addition to our own improvement ideas above, this revision also adds new methods such as PSIDS for polarity selection and COREFIRST for core clauses to be propagated first, which have already appeared in the 2019 competition.

 

III.  XXX

 

IV. ACKNOWLEDGMENTS

The author would like to thank the developers of all predecessors of Minisat, MapleLCMDistChronoBT-DL, MapleCOMSPS CHB VSIDS,PSIDS  MapleLCMDistChronoBT,MapleLCMdistCBTcoreFirst, and all the authors who contributed the modifications that have been integrated. Their solvers are the foundation of our learning and improvement.

 

REFERENCES

 [1] Zack Newsham, Vijay Ganesh, Sebastian Fischmeister, Gilles Audemard, Laurent Simon: Impact of Community Structure on SAT Solver Performance. SAT 2014: 252-268

 [2] Liang J.H., Ganesh V., Zulkoski E., Zaman A., Czarnecki K. (2015) Understanding VSIDS Branching Heuristics in Conflict-Driven Clause-Learning SAT Solvers. In: Piterman N. (eds) Hardware and Software: Verification and Testing. HVC 2015. Lecture Notes in Computer Science, vol 9434. Springer, Cham

 [3] Carlos Ansótegui, Maria Luisa Bonet, Jesús Giráldez-Cru, Jordi Levy: Structure features for SAT instances classification. J. Appl. Log. 23: 27-39 (2017)

 [4] Moskewiez M., Madigan C., Chaff: engineering an efficient SAT solver,
in Proceeding of 38th ACM/IEEE Design Automation Conference, Las
Vegas, 2001, pp. 530–538.

 [5] Norbert Manthey:MergeSAT.SAT COMPETITION 2019, page 29, 2019.

 [6] Yang Xu,Guanfeng Wu,Qingshan Chen,Shuwei Chen:Maple_LCM_Scavel.SAT COMPETITION 2018, page 30, 2018.

 [7] Marijn JH Heule, Benjamin Kiesl,and Armin Biere. Encoding redundancy for satisfaction-driven clause learning. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pages 41–58. Springer,2019.


 

 中文文档

 I. I NTRODUCTION

 

        社区结构存在于现实问题之中,在形式化构成问题样例以后可以挖掘社区结构特征并加以利用,虽然转换之后会丢失部分社区特性[1][2][7]。在有限的时间内充分利用社区特性是一个研究热点[3]。

        基于现有的VSIDS及其变体,决策变元的选择策略延续到了重启首元素的选取上。在BCP过程中,决策变元的选择原则是一般情况是尽可能使用最近使用过变元。这体现在一下两个方面:参与导出冲突时离冲突点近的变元的活跃度增量大于离冲突点远的变元;后期赋给变元的活跃度的增量要高于前期的增量(增量随冲突次数的增加除以一个小于1的衰减因子)。如果重启前求解器上一次运行期间已经陷入了局部空间,多次的反复回溯和传播会使得陷入局部的这部分变元的活跃度在全体变元中居于前列。此时的活跃度作为重启后决策变元的选择,可能容易使得求解器不能实现真正意义上的重启。我们的指导思想是调整起步决策变元的选择方式,让重启的首变元从另外一种选择模式中产生。这样重启的首变元才可能与已经陷入局部空间那部分变元所处的社区结构是不同。

III. 

IV. ALGORITHM AND IMPLEMENTATION DETAILS

       理论上只要将重启后的决策变元不同于重启前最后一个决策变元即可。然而,由于社区结构的计算花费较长的时间,对与变元和子句较多的样例来说,求解社区结构的时间付出在参加竞赛的求解器中是不可接受的。虽然有很多求解器会在特殊时间段开展社区求解请加以利用,但都针对能满足较小社区求解时间的样例,尤其是当学习子句集也参与进来时,需要设法限定求解社区时限[5]。退而求其次,此次参加竞赛的求解器版本中,将文字比较多的少数一部分变元粗略的认为包含在一个或多个社区,它们所在的社区可能与求解器上一次求解过程最后进入的搜索区域的变元所在社区不同(即使相同,新机制就回到原有机制,少量的使用这样的选择对求解过程不会有干扰),可以选择作为重启首变元备选变元集。如同inIDGlucose求解器一样,首先分析原始子句集文字的特征,并将其应用于求解器重启阶段首元素的选择上。其次在重启时依次将备选变元之一作为重启首变元。同时,为了保证现有求解器的优良特性,以上改变决策变元的选择模式只用于少数重启阶段,并仅限于重启首变元的选取。

       另外,我们2018年提出的思想Improved learning clause management strategy也被考虑进来[6]。当时我们在Maple_LCM_Dist基础上改进版本获Maple_LCM_Scavel得了较好的比赛成绩。我们为每个学习子句设置一个属性usedt,学习子句生成时初始化为0;在后续求解过程中每当学习子句参与冲突分析,其usedt值增加1。在学习子句管理缩减时((in “reducedDB” method)),设置求解器子句使用门槛值NBused,排查活跃度较低的一半学习子句,当学习子句参与冲突分析次数值低于门槛值NBused时该子句会被删除。当时我们通过大量实验得到设置门槛值为150,对于求解2018年所给的竞赛样例取得了较好的成绩。此次我们将上述静态的门槛值改为动态的门槛值,该门槛值与学习子句被使用的时间远近动态给出(采用了专门的对数函数)。

       以上改变是在2019年冠军求解器(MapleLCMDistChronoBT-DL-v2.2)的基础上修改的。除了以上我们自己的改进思想,此次修改也增加了2019年竞赛中新出现的有关极性选择的PSIDS、核心子句优先被传播COREFIRST等新方法。

V. ACKNOWLEDGMENTS

The author would like to thank the developers of all predecessors of Minisat,MapleLCMDistChronoBT-DL,MapleCOMSPS CHB VSIDS,PSIDS MapleLCMDistChronoBT,MapleLCMdistCBTcoreFirst,and all the authors who contributed the modifications that have been integrated.他们的求解器是我们学习和改进的基础。

 

REFERENCES

 [1] Zack NewshamVijay GaneshSebastian FischmeisterGilles AudemardLaurent Simon:
Impact of Community Structure on SAT Solver Performance. SAT 2014252-268

 [2] Liang J.H., Ganesh V., Zulkoski E., Zaman A., Czarnecki K. (2015) Understanding VSIDS Branching Heuristics in Conflict-Driven Clause-Learning SAT Solvers. In: Piterman N. (eds) Hardware and Software: Verification and Testing. HVC 2015. Lecture Notes in Computer Science, vol 9434. Springer, Cham

 [3] Carlos AnsóteguiMaria Luisa BonetJesús Giráldez-CruJordi Levy:
Structure features for SAT instances classification. J. Appl. Log. 2327-39 (2017)

 [4] Moskewiez M., Madigan C., Chaff: engineering an efficient SAT solver,
in Proceeding of 38th ACM/IEEE Design Automation Conference, Las
Vegas, 2001, pp. 530–538.

 [5] Norbert Manthey:MergeSAT.SAT COMPETITION 2019, page 29, 2019.

 [6] Yang Xu,Guanfeng Wu,Qingshan Chen,Shuwei Chen:Maple_LCM_Scavel.SAT COMPETITION 2018, page 30, 2018.

 [7]  Marijn JH Heule, Benjamin Kiesl,and Armin Biere. Encoding redundancy for satisfaction-driven clause learning. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pages 41–58. Springer,2019.

posted on 2020-04-11 17:17  海阔凭鱼跃越  阅读(298)  评论(0编辑  收藏  举报