文献阅读——Watch Sat and LTO for CaDiCaL and Kissat
Norbert Manthey
nmanthey@conp-solutions.com
Dresden, Germany
Proceedings of SAT Competition 2022: Solver and Benchmark Descriptions, volume B-2022-1 of Department of Computer Science Series of Publications
B, University of Helsinki 2022.
|
I. UNIT PROPAGATION IMPROVEMENTS |
|
|
A. Watching Clauses in Propagation The two watched literals scheme has been implemented first in [7]. The next major improvement to skip processing clauses early was to move literals, so called blocking literals, from the clause into the watch list data structure. 双观察字面值方案在[7]中首先实现。尽早跳过处理子句的下一个主要改进是将字面量(所谓的阻塞字面量)从子句移动到观察列表数据结构中。 B. How to Handle Satisfied Clauses One difference between CADICAL and MINISAT 2.2 based solvers is the way how they treat these satisfied clauses. Not processing a satisfied clause during propagation soon again can result in a different order of propagated literals, as well as different conflicts, and consequently in different heuristic updates and many different follow-up search steps of the solver. 在传播过程中没有很快处理一个满意的子句,可能会导致传播文字的顺序不同,以及不同的冲突,从而导致不同的启发式更新和求解器的许多不同的后续搜索步骤。 (1) MINISAT 2.2-based SAT solvers In MINISAT 2.2, the blocking literal of a clause is typically the other watched literal. When propagating a clause, first the truth value of the blocking literal is checked. In case the blocking literal is satisfied, the related clause is known to be satisfied. Therefore, the clause does not have to be processed further. 在传播子句时,首先检查阻塞字面值的真值。如果阻塞字面值被满足,则已知相关子句被满足。因此,该子句不需要进一步处理。 MIN-ISAT 2.2 based solvers watch the satisfied literal. (2) CADICAL CADICAL implements further extensions, like memorizing the literal in a clause that was tested when last processing the clause [4]. a) Always Watching the Satisfied Literal: 在传播字本时,在子句中检测到满意的文字时,该子句将从当前监视列表中删除。同时,将子句附加到满足的文字的观察列表中。 这两个操作都是常量时间,但需要访问另一个监视列表 (这可能导致缓存丢失[6]和TLB丢失[3] )。 在搜索树中,其他文字的观察列表可以放在更高的位置,这样在搜索的剩余部分中,就不会频繁地接触到该子句。 b) Just Update the Blocking Literal: 作为替代方案,CADICAL继续观察当前的字面量,它现在是falsified的,但更新阻塞字面量到满意的字面量.虽然这打破了伪字面量只监视冲突从句或单元从句的假设,但我们仍然知道该从句是满足的。因此,打破这个假设不会有什么后果。 积极的影响是,该条款不必从当前的观察名单中删除。这不会导致缓存丢失,也不会导致TLB丢失。但是,当搜索继续进行时,在回溯之后,可能需要再次处理相同的子句。如果满足的文字仍然满足,则只需要处理阻塞文字。否则,回溯也删除了阻塞字字面量的赋值,因此需要重新处理整个子句。 c) Watching the Satisfied Literal in CADICAL and KISSAT: 在用MERGESAT进行初步测试时,如果只是更新子句的阻塞文字,就会导致性能下降。求解器CADICAL-WATCH-SAT和KISSAT-WATCH-SAT实现了这一修改. (3)MERGESAT In MERGESAT, when watching a satisfied literal during unit propagation, the clause is moved to the watch list of that literal.在MERGESAT中,当在单元传播期间观察一个满意的文字时,子句被移动到该文字的观察列表中。 In 2021, KISSAT and CADICAL just update the blocking literal of the clause and keep the clause in the current watch list. |
|
|
II. GENERIC IMPROVEMENTS |
|
|
Besides modifying the algorithm directly, other parameters of the environment can be influenced as well. 除了直接修改算法外,环境的其他参数也会受到影响。 这个编译时标志已经被添加到KISSAT和CADICAL的构建文件中.This compile time flag has been added to the build files for |
|
| REFERENCES | |
|
[1] A. Biere, M. Heule, H. van Maaren, and T. Walsh, Eds., Handbook of |
|
文献阅读——Watch Sat and LTO for CaDiCaL and Kissat的更多相关文章
- 文献阅读笔记——group sparsity and geometry constrained dictionary
周五实验室有同学报告了ICCV2013的一篇论文group sparsity and geometry constrained dictionary learning for action recog ...
- 文献阅读 | The single-cell transcriptional landscape of mammalian organogenesis | 器官形成 | 单细胞转录组
The single-cell transcriptional landscape of mammalian organogenesis 老板已经提了无数遍的文章,确实很nb,这个工作是之前我们无法想 ...
- 空间插值文献阅读(Geostatistical approaches for incorporating elevation into the spatial interpolation of rainfall)
空间插值技术应用必读论文---P. Goovaerts, Geostatistical approaches for incorporating elevation into the spatial ...
- 文献阅读方法 & 如何阅读英文文献 - 施一公(转)
附: 如何看懂英文文献?(好) 看需求,分层次 如何总结和整理学术文献? Mendeley & Everything 如何在pdf文献上做笔记?福晰阅读器 自己感悟: 一篇专业文献通常会有几页 ...
- phd文献阅读日志-博一上学期
为了记住并提醒自己阅读文献,进行了记录(这些论文都是我看过理解的),论文一直在更新中. 博一上学期: 1.week 6,2017.10.16 2014-Automatic Semantic Model ...
- RTCM32编解码中的一些概念及相关文献阅读
1. IODC和 IODE —— 导航电文相关.iode/iodc是在GPS系统的ICD2中定义的参数,iode指星历数据事件,iodc指星钟数据事件. IOD 是 issue of data ,数 ...
- AutoML文献阅读
逐步会更新阅读过的AutoML文献(其实是NAS),以及自己的一些思考 Progressive Neural Architecture Search,2018ECCV的文章: 目的是:Speed up ...
- 文献阅读报告 - Social BiGAT + Cycle GAN
原文文献 Social BiGAT : Kosaraju V, Sadeghian A, Martín-Martín R, et al. Social-BiGAT: Multimodal Trajec ...
- 文献阅读报告 - Social Ways: Learning Multi-Modal Distributions of Pedestrian Trajectories with GANs
文献引用 Amirian J, Hayet J B, Pettre J. Social Ways: Learning Multi-Modal Distributions of Pedestrian T ...
- 文献阅读 - MonoLoco与关于Camera Matrix的笔记
目录 概览 HighLights Camera Intrinsic Matrix 笔记 Intrinsic Matrix Task-Error - 不确定性任务下确界的计算 输出假设的Laplace分 ...
随机推荐
- 百题计划-5 codeforces 651 div2 D. Odd-Even Subsequence 二分检查
https://codeforces.com/contest/1370/problem/D 二分检查 #include<bits/stdc++.h> using namespace std ...
- R语言MCMC-GARCH、风险价值VaR模型股价波动分析上证指数时间序列
全文链接:http://tecdat.cn/?p=31717 原文出处:拓端数据部落公众号 分析师:Ke Liu 随着金融市场全球化的发展,金融产品逐渐受到越来越多的关注,而金融产品的风险度量成为投资 ...
- 将pb模型参数提取转成torch模型
1 import tensorflow as tf 2 import onnx 3 import onnxsim 4 import numpy as np 5 import torch 6 from ...
- Ingress限流
先说结论: ingress节点数量=n0 ingress限流配置 nginx.ingress.kubernetes.io/limit-rps: "n1" nginx.ingre ...
- 在Vue项目中使用wangEditor
wangEditor官网 封装的Editor组件 <template> <div class="editor-wrap"> <div ref=&quo ...
- Twitter Bootstrap Grid System
Bootstrap是什么?Bootstrap是一个用来快速并且容易的开发web页面,强大的前端框架.它包含html和css基本设计模板,包含通用用户界面组件,如:排版,形式,按钮,表格,导航,下拉框, ...
- string 字符串模块操作
1. 常用方法 2.字符串常量 3.字符串模板Template 通过string.Template可以为Python定制字符串的替换标准,下面是具体列子: >>>from strin ...
- Unity通用渲染管线Shader日志输出工具
https://blog.uwa4d.com/archives/USparkle_Shaderlog.html
- Github快速访问
Github快速访问 1. 国内访问github慢 github是国外网站,用国内的网络很难访问到,也就无法使用github,作为程序猿的我们,无法使用github可太难受了,那么我们有什么办 ...
- docker 安装后报错处理
问题场景: Docker服务安装之后启动报错 日志如下: time="2022-03-20T21:51:16.116163560+08:00" level=info msg=&qu ...