首页 > 其他分享 >Watch Sat and LTO for CaDiCaL and Kissat

Watch Sat and LTO for CaDiCaL and Kissat

时间:2023-02-06 22:11:15浏览次数:40  
标签:字面 LTO Kissat clause 阻塞 literal 子句 CaDiCaL CADICAL

Norbert Manthey
[email protected]
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.

 

(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实现了这一修改.

 

   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

 

标签:字面,LTO,Kissat,clause,阻塞,literal,子句,CaDiCaL,CADICAL
From: https://www.cnblogs.com/yuweng1689/p/17096862.html

相关文章

  • $("body").animate({"scrollTop":top})无效的问题
    问题我在​​个人站点的左下角和右下角​​各自使用了如下代码来将页面滚动到顶部和底部:$("body").animate({scrollTop:0},800);$("body").animate({scrollTop:$(document).......
  • sqltools 数据库结构查询器 遍历工具
    下载地址:https://files-cdn.cnblogs.com/files/licin/sqltools.rar?t=1674025517开发语言:C#支持数据库:MySQL/SqlServer搜索字段名;表名;  搜索描述和字段名; ......
  • 30. CF-Hamiltonian Spanning Tree
    题目链接给出一个点数为\(n\)的无向完全图,所有边的长度均为\(y\),然后指定该图的一个生成树,将树中的长度改为\(x\),求该图最短的哈密顿路径的长度。先分类讨论,对于\(x......
  • wkhtmltopdf 目录对象使用 及 目录样式分享
    最近又是更新了报告模板的样式新使用了目录对象因为直接生成的目录样式比较丑所以这边使用的是自定义xsl                    ......
  • Palo Alto PAN-OS 11.0 - ML 驱动的 NGFW
    使用PAN-OS11.0Nova以零压力阻止零日恶意软件请访问原文链接:PaloAltoPAN-OS11.0(VM-SeriesforKVM)-ML驱动的NGFW,查看最新版。原创作品,转载请保留出处。作......
  • [AtCoder Grand Contest 018] D: Tree and Hamilton Path (agc018D)
    原题链接​​​https://agc018.contest.atcoder.jp/tasks/agc018_d​​Description给出一棵N个点带边权的树现在有一个N个点的完全图,一条边x,y的长度是这两点的在树上最短......
  • wkhtmltox安装基于centos镜像
    安装脚本安装docker环境dockerpullcentos:7dockerrun-dcentos:7dockerexec-itxxxbash进入容器安装复制软件https://wkhtmltopdf.org/downloads.htm......
  • Linux 利用wkhtmltopdf动态生成pdf
    yumlocalinstallwkhtmltox-0.12.6-1.centos8.x86_64.rpmwkhtmltopdf--version;yuminstalllibpng15*yumlistlibpng15*wkhtmltopdf--disable-smart-shrinki......
  • Java 使用 wkhtmltopdf 生成 PDF 遇到的几个坑
    wkhtmltopdf使用本地文件生成PDF一般使用命令wkhtmltopdfURLpdfPath生成PDF文件,其中URL为GET请求地址。但是笔者在做的项目是一个模板中心服务(后续代码整理......
  • ExcelToObject.NPOI 两行代码导出Excel报表、读取Excel数据
    简介作为一个dotnet开发者,经常面对业务系统中大量报表导入导出,经常写了一堆的重复代码。最近发现一个操作excel的神器:ExcelToObject.NPOI,两行代码就能导出一个报表,两行代......