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
multiple conflicts. CDCL中的选择启发式方法优先考虑最近冲突中涉及的变量。虽然只有一小部分决策会产生冲突,但很多决策会产生多重冲突。

In this paper, we study conflict-generating decisions in CDCL in detail. We investigate the impact of single conflict (sc) decisions, which generate only one conflict, and multi-conflict (mc) decisions which generate two or more. We empirically characterize these two types of decisions based on the quality of the learned clauses produced by each type of decision. We also show an important connection between consecutive clauses learned within the same mc decision, where one learned clause triggers
the learning of the next one forming a chain of clauses. This leads to the consideration of similarity between conflicts, for which we formulate the notion of conflictsproximity as a similarity measure. We show that conflicts in mc decisions are more closely related than consecutive conflicts generated from sc decisions. Finally, we develop Common Reason Variable Reduction (CRVR) as a new decision strategy that reduces the selection priority of some variables from the learned clauses of mc decisions. Our empirical evaluation of CRVR implemented in three leading solvers demonstrates performance gains in benchmarks from the main track of SAT Competition-2020.

译文:我们还展示了在同一个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
2.1 Background

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
(blue) are higher than for sc (orange), and minimum mc LBD (green) is lowest.

To summarize, on average mc decisions are conflict-inefficient compared to sc decisions. However, on average the best quality learned clause from a mc decision has better quality than the quality of a sc clause.

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-
vated at different phases of the search。

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

  • Audemard和Simon[5]简要研究了具有连续冲突的决策,本文将其称为mc决策。
  • 文献[19]将冲突产生倾向和学习子句质量与几种决策启发式的效率联系起来。
  • 在[9]中研究了CDCL的冲突产生模式,表明CDCL通常在冲突产生的爆发期和抑郁期之间交替发生。本文研究了冲突爆发阶段的mc决策。
  • Chowdhury et al.[10]用两种变量研究了决策的冲突效率:出现在粘合从句中的变量和不出现在粘合从句中的变量。本文比较了冲突产生决策的冲突效率。
   
 

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:

  • Kissat solvers and their predecessors, such as CaDiCaL, employ VMTF as one of their decision heuristics. How to extend VMTF with CRVR is an interesting question that we plan to pursue in future. Kissat求解器及其前身(如CaDiCaL)使用VMTF作为决策启发式之一。如何用CRVR扩展VMTF是一个有趣的问题,我们计划在未来继续研究。
  • Currently, the user defined parameters k and Q in CRVR are set to fixed values. How to adapt them dynamically during the search? We hope that a dynamic strategy to adapt these parameters will improve the performance of CRVR, specially over the UNSAT instances. 目前CRVR中用户自定义的参数k和Q设置为固定值。如何在搜索过程中动态地调整它们?我们希望,调整这些参数的动态战略将改善CRVR的性能,特别是优于联合国卫星组织的实例。
   
 

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.
3. SAT race 2019, http://sat-race-2019.ciirc.cvut.cz/solvers/, accessed date: 2021-03-10.
4. CRVR Extensions of 3 CDCL Solvers: Source Code, https://figshare.com/articles/software/CRVR_Extensions/14229065, accessed date: 2021-03-17.
5. Gilles Audemard and Laurent Simon. Extreme cases in SAT problems. In Proceedings of SAT 2016, pages 87–103.
6. Gilles Audemard and Laurent Simon. Predicting learnt clauses quality in modern SAT solvers. In Proceedings of IJCAI 2009, pages 399–404, 2009.
7. Gilles Audemard and Laurent Simon.Refining restarts strategies for SAT and UNSAT. In Proceedings of CP 2012, pages 118–126, 2012.
8. Cristian Cadar, Vijay Ganesh, Peter M. Pawlowski, David L. Dill, and Dawson R. Engler. EXE: automatically generating inputs of death. In Proceedings of CCS 2006, pages 322–335, 2006.
9. Md. Solimul Chowdhury, Martin M¨uller, and Jia You. Guiding CDCL SAT search via random exploration amid conflict depression. In Proceedings of AAAI 2020,pages 1428–1435, 2020.
10. Md. Solimul Chowdhury, Martin M¨uller, and Jia-Huai You. Exploiting glue clauses to design effective CDCL branching heuristics. In CP 2019, pages 126–143.
11. Stephen A. Cook. The complexity of theorem-proving procedures. In Proceedings of the 3rd Annual ACM Symposium on Theory of Computing, pages 151–158, 1971.
12. Martin Davis, George Logemann, and Donald W. Loveland. A machine program for theorem-proving. Commun. ACM, 5(7):394–397, 1962.
13. Niklas E´en and Armin Biere. Effective preprocessing in SAT through variable and clause elimination. In Proceedings of SAT 2005, pages 61–75, 2005.
14. Aarti Gupta, Malay K. Ganai, and Chao Wang. SAT-based verification methods and applications in hardware verification. In Proceedings of SFM 2006, pages 108–143, 2006.
15. Matti J¨arvisalo, Armin Biere, and Marijn Heule. Blocked clause elimination. In Proceedings of TACAS 2010, pages 129–144, 2010.
16. Matti J¨arvisalo, Marijn Heule, and Armin Biere. Inprocessing rules. In Proceedings of IJCAR 2012, pages 355–370, 2012.
17. Jia Hui Liang, Vijay Ganesh, Pascal Poupart, and Krzysztof Czarnecki. Exponential recency weighted average branching heuristic for SAT solvers. In Proceedings of AAAI 2016, pages 3434–3440, 2016.
18. Jia Hui Liang, Vijay Ganesh, Pascal Poupart, and Krzysztof Czarnecki. Learning rate based branching heuristic for SAT solvers. In Proceedings of SAT 2016, pages 123–140, 2016.
19. Jia Hui Liang, Hari Govind, Pascal Poupart, Krzysztof Czarnecki, and Vijay Ganesh. An empirical study of branching heuristics through the lens of global learning rate. In Proceedings of SAT 2017, pages 119–135, 2017.
20. Mao Luo, Chu-Min Li, Fan Xiao, Felip Many´a, and Zhipeng L¨u. An effective learnt clause minimization approach for CDCL SAT solvers. In Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence, IJCAI-17,
pages 703–711, 2017.
21. Fabio Massacci and Laura Marraro. Logical cryptanalysis as a SAT problem. J. Autom. Reasoning, 24(1/2):165–203, 2000.
22. Matthew W. Moskewicz, Conor F. Madigan, Ying Zhao, Lintao Zhang, and Sharad Malik. Chaff: Engineering an efficient SAT solver. In Proceedings of DAC 2001, pages 530–535, 2001.

   

文献学习——A Deep Dive into Conflict Generating Decisions的更多相关文章

  1. 【转载】 迁移学习(Transfer learning),多任务学习(Multitask learning)和端到端学习(End-to-end deep learning)

    --------------------- 作者:bestrivern 来源:CSDN 原文:https://blog.csdn.net/bestrivern/article/details/8700 ...

  2. 重磅解读:K8s Cluster Autoscaler模块及对应华为云插件Deep Dive

    摘要:本文将解密K8s Cluster Autoscaler模块的架构和代码的Deep Dive,及K8s Cluster Autoscaler 华为云插件. 背景信息 基于业务团队(Cloud BU ...

  3. 深度学习(Deep Learning)资料大全(不断更新)

    Deep Learning(深度学习)学习笔记(不断更新): Deep Learning(深度学习)学习笔记之系列(一) 深度学习(Deep Learning)资料(不断更新):新增数据集,微信公众号 ...

  4. Deep Dive into Spark SQL’s Catalyst Optimizer(中英双语)

    文章标题 Deep Dive into Spark SQL’s Catalyst Optimizer 作者介绍 Michael Armbrust, Yin Huai, Cheng Liang, Rey ...

  5. 学习笔记之深度学习(Deep Learning)

    深度学习 - 维基百科,自由的百科全书 https://zh.wikipedia.org/wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0 深度学习(deep lea ...

  6. X64 Deep Dive

    zhuan http://www.codemachine.com/article_x64deepdive.html X64 Deep Dive This tutorial discusses some ...

  7. 转 :hlda文献学习笔记

    David M.BLEI nCR文献学习笔记(基本完成了)  http://yhbys.blog.sohu.com/238343705.html 题目:The Nested Chinese Resta ...

  8. Protocol Informatics (PI项目)【基于网络轨迹的协议逆向工程文献学习】

    Protocol Informatics[基于网络轨迹的协议逆向工程文献学习]by tsy 声明: 1)本报告由博客园bitpeach撰写,版权所有,免费转载,请注明出处,并请勿作商业用途.恕作者著作 ...

  9. 《Docker Deep Dive》Note - Docker 引擎

    <Docker Deep Dive>Note Docker 引擎 1. 概览 graph TB A(Docker client) --- B(daemon) subgraph Docker ...

  10. 《Docker Deep Dive》Note - 纵观 Docker

    <Docker Deep Dive>Note 由于GFW的隔离,国内拉取镜像会报TLS handshake timeout的错误:需要配置 registry-mirrors 为国内源解决这 ...

随机推荐

  1. Winform 在高分变率显示器中窗体变模糊配置方式

    我们知道  Winform 前身与 XP 系统 同一时代出生 , 那时候显示器还是LCD 和 大头机 ,显示器普遍  96 DPI  . 随着显示器质量改善,2K 屏, 4K屏普及,DPI 达  19 ...

  2. PID模板

    typedef struct{ float Kp,Ki,Kd; float Target; float Current; float Error[3]; float DeadZone; float O ...

  3. linux中大括号、小括号、中括号的区别和用法

    大括号 {  } 1.用于取多个变量 可以进行取变量和字符串拼接,假设:var='1234'       echo  ${var}abcd    输出为:1234abcd 2.正则表达式,用于大括号内 ...

  4. [Oracle19C 数据库管理] 用户与权限管理

    用户管理 用户具有以下属性: 用户名: 不能超过30位.不能包含特殊字符.必须用字符开头.用户名不区分大小写. 认证方式: 最常见的是密码认证. 默认永久表空间: 控制用户可以在哪个表空间里创建对象. ...

  5. js实现点击按钮或div显示与隐藏div

    var box = document.getElementById("box"); var btn = document.getElementById("btn" ...

  6. 将excel按照某一列拆分成多个文件

    1.打开目标excel,按alt + f11键打开VBE窗口 2.选择插入->模块粘贴下面代码到编辑器中 Sub 保留表头拆分数据为若干新工作簿() Dim arr, d As Object, ...

  7. about namespace

    once you specify to use a certain namespace such as "{using namespace1;...}", you need to ...

  8. https原理(二)服务端公钥有没有被CA私钥加密

    https://www.dianjilingqu.com/387084.html 在https原理中,一大争议就是服务端是否用CA私钥加密服务器公钥 是-自签名证书浏览器没有CA公钥,无法解密公钥,而 ...

  9. A Novel Sequential Method to Train Physics Informed Neural Networks for Allen Cahn and Cahn Hilliard Equations

    一种新的顺序方法去求解关于时间的方程.个人感觉论文很差.(方法不新颖,写作很无聊,排版也有问题,内容也表述不清). 本文提出一种利用单个神经网络,在连续时间段上顺序求解偏微分方程的新型方案.关键思想是 ...

  10. SqlSession的提交commit

    SqlSession.commit(); 是执行了事务的提交