A Deep Dive into Conflict Generating Decisions
Abstract. Boolean Satisfiability (SAT) is a well-known NP-complete problem. Despite this theoretical hardness, SAT solvers based on Conflict Driven Clause Learning (CDCL) can solve large SAT instances from many important domains. CDCL learns clauses from conflicts, a technique that allows a solver to prune its search space. The selection heuristics in CDCL prioritize variables that are involved in recent conflicts. While only a fraction of decisions generate any conflicts, many generate
译文:我们还展示了在同一个mc决策中学习的连续子句之间的重要联系,其中一个学习到的子句触发下一个子句的学习,形成一个子句链。 译文:这导致我们考虑冲突之间的相似性,为此我们制定了冲突邻近性的概念作为相似性度量。 译文:最后,我们提出了公共原因变量约简(CRVR)作为一种新的决策策略,从mc决策的学习子句中降低一些变量的选择优先级。 |
|
1 Introduction ...... The clause learning process in CDCL can generate more than one conflict for one decision. In the following, we categorize each conflict-producing decision as a single conflict (sc) or a multi-conflicts (mc) decision, depending on whether it produces one, or more than one, conflict. We label the resulting learned clauses sc and mc clauses accordingly. 译文:CDCL中的子句学习过程可以为一个决策产生多个冲突。在下面,我们将每个产生冲突的决策分类为单个冲突(sc)或多个冲突(mc)决策,这取决于它是产生一个还是多个冲突。我们将得到的学习到的从句相应地标记为sc和mc从句。 Conflicts play a crucial role in CDCL search. A better understanding of conflict generating decisions is a step towards a better understanding of CDCL and may open up new directions to improve CDCL search. Motivated by this, here we study conflict producing decisions in CDCL. The contributions of this work are: 译文:冲突在CDCL搜索中起着关键作用。更好地理解冲突生成决策是更好地理解CDCL的一步,并可能为改进CDCL搜索开辟新的方向。基于此,本文研究了CDCL中的冲突产生决策。这项工作的贡献是:
|
|
2 Preliminaries Basic Operations of CDCL Conflicts and Clause Learning Relevant Notions Global Learning Rate The Literal Block Distance (LBD) Score Glue Clauses Glue to Learned
2.2 Notation sc and mc Decisions Burst of mc Decisions We define the burst of a mc decision as the number of conflicts (i.e., learned clauses) generated within that mc decision. Learned Clause Quality Over sc and mc Decisions
2.3 Test Set, Experimental Setup and Solvers Used |
|
3 An Empirical Analysis of sc and mc Decisions 3.1 Distributions of sc and mc decisions We denote Percentage of Decisions with Single Conflict and Percentage of Decisions with Multiple Conflicts as PDSC and PDMC, respectively. On average, about 21% (8%+13%) of the decisions are conflict producing. PDSC 8% and PDMC 13%。 However, since the mc decisions produce 2.65 (Column F) conflicts on average, this results in the generation of almost 1 conflict per 2 decisions, on average, which is reflected in the average GLR value of 0.49 for these instances.
3.2 Learned Clause Quality in sc and mc Decisions Fig. 1 shows per-instance details of these three measures in log scale. In almost all instances, LBD scores for mc
3.3 Bursts of mc Decisions Burst of mc Decisions ——We define the burst of a mc decision as the number of conflicts (i.e., learned clauses) generated within that mc decision 在MC决策中产生的冲突(即学习的从句)的数量
Column F in Table 1 shows the average value of avgBurst for the test set. On average, the burst of mc decisions are quite small, about 2.65. However, as shown in column G, the average value of maxBurst is very high. The left plot in Fig. 2 compares these values for each test instance in log scale. This indicates that while large bursts of mc decisions occur, they are rare, as indicated by the average of 2.65. To analyze this in detail, we count the number of mc decisions for each burst size from 2 to 10. To analyze this in detail, we count the number of mc decisions for each burst size from 2 to 10. Distribution of mc Decisions by Burst Size —— The frequency of bursts decreases exponentially with their size. 爆发的频率随着它们的大小呈指数下降 |
|
4 Clause Learning in mc Decisions
In this section, we establish a structural property of the learned clauses in mc decisions. 建立MC决策中所学从句的结构属性
注释:mc决策实际上是A、B两类连续冲突的B类。A类连续冲突是连续决策每次都导致生成冲突(前一次冲突找到的UIP文字在回溯后加入传播序列,紧接着BCP传播没有冲突,于是下一次决策,又发生冲突。)B类连续冲突是本文中一次决策形成冲突,由于冲突分析得到的UIP文字进入回溯后的传播队列和学习子句加入学习子句集,在随后的BCP是形成下一次冲突,并可能形成再一次冲突,从而形成连续的冲突图。本文献对B类连续冲突给出了较为形象的表示,也给出了科学规范的文字符号表述。了解这个情况,看本文的表述就会比较明白了,对照code修改也不难了。
|
|
5 Proximity between Conflicts Sequences in CDCL CDCL中冲突序列之间的接近性
introduce the measure of ConflictsProximity 5.1 Conflicts Proximity Literal Block Proximity
5.2 Proximity of Conflicts over sc and mc Decisions 我们现在在冲突邻近性下研究CDCL中的冲突邻近性。We now study proximity of conflicts in CDCL under ConflictsProximity.
|
|
6 The Common Reason Variable Reduction Strategy 6.1 Common Reason Decision Variables a common reason decision level a common reason decision variable (CRV)
6.2 Poor mc Decisions 6.3 The CRVR Decision Strategy
抑制此类crv对未来决策是否有助于搜索获得更好的效率?
|
|
7 Experimental Evaluation
In all of our extended solvers, we use the following parameter values: a length of window of recent conflicts k = 50 an activity score reduction factor Q = 0.1. Source code of our CRVR extensions are available at [4].
The solver MplDL employs a combination of the decision heuristics DIST [29], VSIDS [22] and LRB [18], which are acti- Kissat-sat and Kissat-default use VSIDS and Variable Move to Front (VMTF) [26] alternately during the search.
7.1 Implementation 7.2 Experiments and Results
Overall, compared to their baselines, our extensions perform better on SAT instances, but loose a small number of UNSAT instances. 总的来说,与他们的基线相比,我们的扩展在SAT实例上表现得更好,但会丢失少量的UNSAT实例。 |
|
8 Detailed Performance Analysis of CRVR
|
|
9 Related Work
|
|
10 Conclusions and Future Work We present a characterization of sc and mc decisions in terms of average learned clause quality that each type produces.根据每种类型产生的平均学习子句质量,我们提出了sc和mc决策的特征。 Then we analyze how mc decisions with different bursts are distributed in CDCL search. 然后分析了不同突发的mc决策在CDCL搜索中的分布情况。
Our theoretical analysis showsthat learned clauses in a mc are connected, indicating that conflicts that occur in a mc decision are related to each other. 我们的理论分析表明,在决策过程中学习到的从句是相互关联的,这表明决策过程中发生的冲突是相互关联的。 We introduced a measure named ConflictsProximity that enables the study of proximity of conflicts in a given sequence of conflicts. Our empirical analysis shows that conflicts in mc decisions are more closely related than conflicts in sc decisions. Finally, we formulated a novel CDCL strategy CRVR that reduces the activity score of some variables that appear in the clauses learned over mc decisions. 最后,我们提出了一种新的CDCL策略CRVR,它降低了在mc决策中学习的子句中出现的一些变量的活动分数。 Our empirical evaluation with three modern CDCL SAT solvers shows the effectiveness of CRVR for the SAT instances from SAT20. In the future, we intend to pursue the following research questions:
|
|
References 1. SAT Competition 2020, http://sat2018.forsyte.tuwien.ac.at/index-2.html, accessed date: 2021-03-06. 2. SAT Competition 2020, https://satcompetition.github.io/2020/downloads.html, accessed date: 2021-03-06. |
|