参考文献:

1. Gilles Audemard,Laurent Simon: On the Glucose SAT Solver

 

一、对学习子句作用的认识

       The first answer was just abouttrying to contain the combinatorial explosion by simply periodically cleaning the learnt clause database.this was essentially to try to make sufficient room for new learnt clauses by removing unused previouslylearnt clause. Indeed, keeping too many learnt clauses slows down the unit propagation process, while deleting too many of them breaks the overall learning benefit.

 

   A CDCL-based SAT solver can be formulated as a resolution proof system.[48,11]. Consequently, the practical incarnation of modern SAT solvers can be seen as a clauses producer procedure with a deletion strategy.译文:一个基于cdcl的SAT求解器可以被表述为一个解决证明系统。48,11.因此,现代SAT求解器的实际体现可以被视为具有删除策略的子句生成程序。

       在完成证明之前确定什么是有用的子句并不简单, (Occurring on the proof for UNSAT? Forcing a value for SAT?)。

  学习子句的作用在SAT和UNSAT问题求解中是否有用的定义不同的。对于UNSAT问题样例,求解期间生产的学习子句有一半左右是没有用的,是指不会出现在最后UNSAT的最后证明中。对于SAT问题求解,学习子句的是否有用需要专门的定义。For SAT instances, the role of learnt clauses is to conduct the solver on some particular search space, and also, probably, to explicit some dependencies between variable assignments.译文:对于SAT实例,学习子句的作用是在某些特定的搜索空间上执行求解程序,并且可能还会明确变量分配之间的某些依赖关系。

  This being said, the crucial questions remain: what are the good clauses to learn? How to identify them during the search? if one is able to determine good clauses, then, one can often remove useless ones.


 

二、早期对学习子句管理的基本方法

       In the early years of CDCL, the importance of clause deletion strategies was not clearly identified as one of their essential components. The aim was just to help the solver managing too many clauses.

  Nevertheless, a few proposal were made.  In Ref. 36, authors proposed the idea of bounding the size of learnt clauses, keeping only clauses smaller than a certain threshold. The authors of Berkmin25 considered that recent clauses were better than older ones. They used a FIFO to remove old clauses while keeping in memory short clauses (smaller than 8). In Chaff, 41 a clause was marked to be deleted when a certain number of literals became unassigned (between 100 and 200). In Minisat, 21 learnt clauses are deleted based on an activity heuristic. Each time a clause is used in conflict analysis, its activity is increased. Then, periodically, half of the clauses are deleted (the ones with small activities). This technique is very interesting, because it also deletes without additional cost subsumed learnt clauses (they will never be used in the future, then their activity will always decrease).


 

三、 The Literal Block Distance (LBD) measure  —— glucose 首先提出的子句质量评价方法

1.glucose求解器的重大创新——子句LBD属性提出的背景和意义

    We noticed that, for most of the instances, the number of decisions made before reaching a conflict globally decreases during the search.【5】 译文:我们注意到,在大多数情况下,在搜索过程中,在达成全球性冲突之前做出的决策数量减少了,传播文字增多了。This can be seen as a natural phenomenon for unsatisfiable instances (thanks to learning), but it was somehow surprising to observe this phenomenon also on satisfiable ones.译文:对于无法满足的情况,这可以看作是一种自然现象. 译文:但令人惊讶的是,这种现象也出现在可满足的人身上。

  Each decision can potentially create a lot of propagated literals (what we call blocks), especially in the deepest parts of the search tree. 译文:每个决策都可能潜在地创建大量传播的文字(我们称之为块),特别是在搜索树的最深处. 译文:每个决策都可能潜在地创建大量传播的文字(我们称之为块),特别是在搜索树的最深处. Then, if we want to reduce the number of decisions, we need to add dependencies between independent blocks, and, then, to add the strongest possible constraints between them.译文:然后,如果我们想减少决策的数量,我们需要在独立块之间添加依赖关系,然后在它们之间添加可能的最强约束。This observation is at the origin of our measure LBD (Literal Block Distance), formalized in the following.

      Intuitively, it is easy to understand the importance of learnt clauses of LBD 2:  they only contain one variable of the last decision level (they are FUIP), and, later, this variable will be “glued” with the block of literals propagated above, no matter the size of the clause.LBD值为2的学习子句中只包含最后一个决策级别的一个变量,不管子句的大小,这个变量将与之前所传播的文字块“粘合”在一起。译文:我们猜想所有这些LBD值比较小的学习子句在搜索过程中都非常重要,我们给它们起了一个特殊的名字:“粘合子句”。

      自glucose于2007年提出以来,lbd评价学习子句质量被证明是求解器发展非常重大的革新。该方法提出的主要发端是基于大量实验发现,如果我们想减少决策的数量,我们需要在独立块之间添加依赖关系,然后在它们之间添加可能的最强约束。

2.LBD子句的计算方法

       lbd值为学习子句联系文字块的个数。

       考虑: 为什么core中一些学习子句的LBD较小,但后续被使用并不比tier2中的某些子句更多?core中为什么也是少数学习子句被大量使用?与多次陷入局部靠重启跳出有关吗?

3. Aggressive deletion of learnt clauses主动删除学习子句

  If the LBD measure introduced above is accurate enough, the notion of aggressive cleaning strategy, which aims to drastically reduce the learnt clauses database is possible.

  Note that the call of reduceDB (Algorithm 1, line 19) is done during the search (not at a restart), like in Minisat. Thus, some clauses may be the reason of some propagations, and cannot be removed, whatever their score.

      glucose给出的仍是 删除一半学习子句,删除时机选在时间轴上的特定时刻: 

                            2009年          总的冲突次数为20000+500*x;

                            2011年          总的冲突次数为2000+300*x;   Thus, just after the first 2000 conflicts, we remove around 1000 of learnt clauses。

                            之后为确保保留所有好的学习子句,增加了考察一个子句在搜索过程中降低LBD分数的可能性,即考察学习子句质量的动态性。具体来说就是,在单位传播期间计算参与冲突分析的学习子句的基于当前传播赋值情况计算更新备选LBD值,we only update the LBD score of clauses occurring in conflict analysis if the new score is better than the older one.进一步我们阻塞删除操作一段时间,避免在阻塞(通常是下一次)期间被删除。

4.Explaining usefulness of LBD  解释LBD的有用性

  尝试解释为什么它在实践中表现出如此好的效果:

  (1)实验角度  Half of the learnt clauses used in the resolution mechanism during all conflict analysis have LBD < 6, whereas we need to consider clauses of size smaller than 13 for the same result.  Such results show that LBD allows a better estimation of usefulness of a clause。译文:这样的结果表明,LBD允许更好地估计一个条款的有用性。

  Property 3.1. Given a conflict graph, any First UIP asserting clause has the smallest LBD value over all other UIPs.

       理论依据——That LBD of FUIP learnt clause is optimal over all other possible UIP learning schemas.【34】.   译文:FUIP learned子句的LBD是所有其他可能的UIP学习模式中最优的。

  (2)This theoretical result cast a potentially good explanation for the efficiency of First UIP over all other UIP mechanisms: FUIP efficiency would then be partly explained by its ability to produce clauses of small LBD (it was also showed that FUIP is optimal in the backjump size).译文:这一理论结果潜在地很好地解释了第一UIP比所有其他UIP机制的效率:FUIP效率可以部分地由它产生小LBD的子句的能力来解释(它还表明,FUIP在回跳大小方面是最优的)。

       (3)社区特性的体现——小LBD学习子句在少数群体之间增加了更强的约束。

  A lot of efforts have been made in the last years to understand why CDCL solvers are so efficient on real-world instances.【1】,【2】译文:在过去的几年里,人们做了很多努力来理解为什么CDCL解决程序在现实世界中如此高效。In Ref. 45, we showed that there is a strong correlation between the LBD value of a learnt clause and the number of distinct communities it contains.译文:在Ref. 45中,我们表明,一个learned子句的LBD值与它所包含的不同群落的数量之间存在很强的相关性。

  We also showed that the correlation is clearly weaker if we only compare the number of communities and the size of the clause.译文:我们还表明,如果我们只比较社区的数量和子句的大小,相关性明显较弱。Learnt clauses of small LBD add stronger constraints between fewer communities.译文:小LBD学习子句在少数群体之间增加了更强的约束。We believe that this allows the solver to focus its search on a smaller part of the search tree译文:我们认为这允许求解器将搜索集中在搜索树的较小部分上。 

  译文:求解器在多个社区之间跳转时,创建了将这些社区连接在一起的学习子句,通常这些子句的LBD较大,从而使SAT实例的结构更糟,从而更难解决。

 

 


 

参考文献:

References

1. C. Ans´otegui, M. L. Bonet, J. Gir´aldez-Cru and J. Levy, The fractal dimension of SAT formulas, in Proc. of IJCAR (2014), pp. 107–121.

2. C. Ans´otegui, J. Gir´aldez-Cru and J. Levy, The community structure of SAT formulas, in Theory and Applications of Satisfiability Testing SAT (2012), pp. 410–423.

3. G. Audemard, B. Hoessen, S. Jabbour, J.-M. Lagniez and C. Piette, Revisiting clause exchange in parallel SAT solving, in Theory and Applications of Satisfiability Testing — SAT (2012), pp. 200–213.

4. G. Audemard, J.-M. Lagniez and L. Simon, Improving glucose for incremental SAT solving with assumptions: Application to MUS extraction, in Theory and Applications of Satisfiability Testing — SAT (2013), pp. 309–317.

5. G. Audemard and L. Simon, Predicting learnt clauses quality in modern SAT solvers, in Proc. IJCAI’09 (2009), pp. 399–404.

6. G. Audemard and L. Simon, Refining restarts strategies for SAT and UNSAT, in Proc. CP’12, Vol. 7514 of LNCS (Springer, 2012), pp. 118–126.

7. G. Audemard and L. Simon, Lazy clause exchange policy for parallel SAT solvers, in Theory and Applications of Satisfiability Testing — SAT 2014, Proc. 17th Int. Conf., held as part of the Vienna Summer of Logic, VSL 2014 (Vienna, Austria, July 14–17, 2014), pp. 197–205.

8. G. Audemard and L. Simon, Extreme cases in SAT problems, in Theory and Applications of Satisfiability Testing — SAT (2016), pp. 87–103.

9. T. Balyo, A. Fr¨ohlich, M. Heule and A. Biere, Everything you always wanted to know about blocked sets (but were afraid to ask), in Theory and Applications of Satisfiability Testing — SAT (2014), pp. 317–332. 10. T. Balyo, P. Sanders and C. Sinz, Hordesat: A massively parallel portfolio SAT solver, in Theory and Applications of Satisfiability Testing — SAT (2015), pp. 156–172.

11. P. Beame, H. Kautz and A. Sabharwal, Towards understanding and harnessing the potential of clause learning, Journal of Artificial Intelligence Research 22 (2004) 319– 351.

12. A. Belov and J. Marques-Silva, Accelerating MUS extraction with recursive model rotation, in Proc. FMCAD’11 (FMCAD, 2011), pp. 37–40.

13. A. Biere, Adaptive restart strategies for conflict driven SAT solvers, in 11th Int. Conf. on Theory and Applications of Satisfiability Testing — SAT (2008), pp. 28–33.

14. A. Biere, PicoSAT essentials, JSAT 4(2-4) (2008) 75–97.

15. A. Biere, Lingeling and friends at the SAT Competition 2011, FMV Report Series Technical Report 11/1, Johannes Kepler University, Linz, Austria (2011).

16. A. Biere, A. Cimatti, E. M. Clarke, M. Fujita and Y. Zhu, Symbolic model checking using SAT procedures instead of BDDs, in Proc. DAC’99 (1999), pp. 317–320.

17. A. Biere and A. Fr¨ohlich, Evaluating CDCL restart schemes (preliminary version), in Workshop on Pragmatics of SAT (POS) (2015).

18. A. Biere, Lingeling, plingeling and treengeling entering the SAT competition 2013, in Proc. of SAT Competition 2013; Solver and Benchmark Descriptions (2013), p. 51.

19. W. Chrabakh and R. Wolski, GrADSAT: A parallel SAT solver for the grid, Technical report, UCSB (2003).

20. M. Davis, G. Logemann and D. Loveland, A machine program for theorem-proving, Commun. ACM (1962).

21. N. E´en and N. S¨orensson, An Extensible SAT-solver, in Proc. SAT’03 (2003), pp. 333– 336.

22. N. E´en and N. S¨orensson, Temporal induction by incremental SAT solving, Electronic Notes in Theoretical Computer Science 89(4) (2003) 543–560.

23. A. Van Gelder, Careful ranking of multiple solvers with timeouts and ties, in Proc. of Theory and Applications of Satisfiability Testing (2011), pp. 317–328.

24. D. Gelperin, Deletion-directed search in resolution-based proof procedures, in Proc. of the 3rd Int. Joint Conf. on Artificial Intelligence (1973), pp. 47–50.

25. E. Goldberg and Y. Novikov, BerkMin: A fast and robust SAT-solver, in Proc. DATE’02 (2002), pp. 142–149.

26. C. P. Gomes, B. Selman and H. A. Kautz, Boosting combinatorial search through randomization, in Proc. of AAAI (1998), pp. 431–437.

27. Y. Hamadi, S. Jabbour and L. Sais, Control-based clause sharing in parallel SAT solving, in Proc. of the 21st Int. Joint Conf. on Artificial Intelligence (IJCAI 2009 ) (Pasadena, California, USA, July 11–17, 2009), pp. 499–504.

28. Y. Hamadi, S. Jabbour and L. Sais, ManySAT: A parallel SAT solver, JSAT 6(4) (2009) 245–262.

29. M. Heule, W. A. Hunt, Jr. and N. Wetzler, Trimming while checking clausal proofs, in Formal Methods in Computer-Aided Design (FMCAD) (2013), pp. 181–188.

30. M. Heule, O. Kullmann, S. Wieringa and A. Biere, Cube and conquer: Guiding CDCL SAT solvers by lookaheads, in Hardware and Software: Verification and Testing — 7th Int. Haifa Verification Conf. (HVC 2011) (Haifa, Israel, December 6–8, 2011), Revised Selected Papers (2011), pp. 50–65.

31. J. Huang, The effect of restarts on the efficiency of clause learning, in Proc. IJCAI (2007), pp. 2318–2323.

32. A. Eero Johannes Hyv¨arinen, T. A. Junttila and I. Niemel¨a, Partitioning SAT instances for distributed solving, in Proc. 17th Int. Conf. on Logic for Programming, Artificial Intelligence and Reasoning (LPAR 17 ) (Yogyakarta, Indonesia, October 10– 15, 2010) (2010), pp. 372–386.

33. S. Jabbour, J. Lonlac, L. Sais and Y. Salhi, Revisiting the learned clauses database reduction strategies, Technical report, coRR, arXiv:1402.1956 (2014).

34. S. Jabbour and L. Sais, personnal communication (February 2008).

35. M. J¨arvisalo, M. Heule and A. Biere, Inprocessing rules, in Proc. of Int. Joint Conf. on Automated Reasoning (IJCAR) (2012), pp. 355–370.

36. R. J. Bayardo, Jr. and R. Schrag, Using CSP look-back techniques to solve real-world SAT instances, in Proc. of the Fourteenth National Conf. on Artificial Intelligence (1997), pp. 203–208.

37. H. A. Kautz and B. Selman, Planning as satisfiability, in European Conf. on Artificial Intelligence (1992), pp. 359–363.

38. J.-M. Lagniez, E. Lonca and J. G. Mailly, CoQuiAAS: A constraint-based quick abstract argumentation solver, in Int. Conf. on Tools With Artificial Intelligence (2015), pp. 928–935.

39. J. Marques-Silva, I. Lynce and S. Malik, Conflict-Driven Clause Learning SAT Solvers, Vol. 185 of Frontiers in Artificial Intelligence and Applications, Chap. 4 (IOS Press, 2009), p. 980.

40. R. Martins, V. M. Manquinho and I. Lynce, Open-WBO: A modular MaxSAT solver, in 17th Int. Conf. on Theory and Applications of Satisfiability Testing — SAT (2014), pp. 438–445.

41. M. Moskewicz, C. Conor, Y. Zhao, L. Zhang and S. Malik, Chaff: Engineering an efficient SAT solver, in Proc. DAC’01 (2001).

42. H. Nabeshima, K. Iwanuma and K. Inoue, GlueMiniSat2.2.5, in SAT Competition, System Description (2011).

43. A. Nadel and V. Ryvchin, Efficient SAT solving under assumptions, in Proc. SAT’12 (2012).

44. N. Narodytska and F. Bacchus, Maximum satisfiability using core-guided MaxSAT resolution, in Proc. of the Twenty-Eighth AAAI Conf. on Artificial Intelligence (2014), pp. 2717–2723.

45. Z. Newsham, V. Ganesh, S. Fischmeister, G. Audemard and L. Simon, Impact of community structure on SAT solver performance, in Theory and Applications of Satisfiability Testing — SAT (2014), pp. 252–268.

46. K. Pipatsrisawat and A. Darwiche, A lightweight component caching scheme for satisfiability solvers, in Proc. SAT’07 (2007), pp. 294–299.

47. K. Pipatsrisawat and A. Darwiche, A new clause learning scheme for efficient unsatisfiability proofs, in Proc. of the Twenty-Third AAAI Conf. on Artificial Intelligence (2008), pp. 1481–1484.

48. K. Pipatsrisawat and A. Darwiche, On the power of clause-learning SAT solvers with restarts, in Proc. of CP (2009), pp. 654–668.

49. K. Pipatsrisawat and A. Darwiche, Width-based restart policies for clause-learning satisfiability solvers, in 12th Int. Conf. on Theory and Applications of Satisfiability Testing — SAT (2009), pp. 341–355.

50. L. Ryan, Efficient algorithms for clause learning SAT solver, PhD thesis, Simon Fraser University, School of Computing Science (2004).

51. A. Semenov and O. Zaikin, Using Monte Carlo method for searching partitionings of hard variants of Boolean satisfiability problem, in Proc. 13th Int. Conf. on Parallel Computing Technologies (PaCT 2015) (Petrozavodsk, Russia, August 31–September 4, 2015) (2015), pp. 222–230.

52. J. P. Marques Silva and K. Sakallah, GRASP — A new search algorithm for satisfiability, in Proc. CAD’96 (1996), pp. 220–227.

53. L. Zhang, C. Madigan, M. Moskewicz and S. Malik, Efficient conflict driven learning in a Boolean satisfiability solver, in Proc. CAD’01 (2001), pp. 279–285.

 

                   

 

posted on 2020-06-08 12:08  海阔凭鱼跃越  阅读(477)  评论(0编辑  收藏  举报