【论文阅读-IJCAI-2020】NLocalSAT: Boosting Local Search with Solution Prediction

NLocalSAT: Boosting Local Search with Solution Prediction

IJCAI-2020

Wenjie Zhang1 , Zeyu Sun1 , Qihao Zhu1 , Ge Li1 , Shaowei Cai2,3 , Yingfei Xiong1 and Lu Zhang1∗
1Key Laboratory of High Confidence Software Technologies (Peking University), MoE; Software Institute, Peking University, China
2State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, China 3School of Computer Science and Technology, University of Chinese Academy of Sciences, China
{zhang wen jie, szy , zhuqh, lige, xiongyf, zhanglucs}@pku.edu.cn

标题、摘要、关键字

Boolean satisfiability problem (SAT)是计算机中非常著名的NP完全问题。

解决SAT问题的一种简介方法是使用stochastic local search (SLS,随机本地搜索)方法。 然而这个方法中初始化是随机的方式分配的,效率通常比较低

为了解决这个问题,这篇文章提出了NLocalSAT的方法,此方法结合了SLS和解预测模型。通过使用神经网络来改变初始赋值来提升传统SLS方法。

实验在SAT Competition 2018上与5个SLS solvers(CCAnr, Sparrow, CPSparrow, YalSAT, and probSAT) 进行对比,实验结果显示NLocalSAT提升了27%~62%。

简介、结论、图表

简介

问题背景

Boolean satisfiability is the problem to determine whether there exists a set of assignments for a given Boolean formula to make the formula evaluate to true.

SAT is widely used in solving combinatorial problems, which are generated from various applications:

  • program analysis
  • program verification

These applications first reduce the target problem into a SAT formula and then find a solution using a SAT solver.

但布尔可满足性被证明为NP完全问题,这意味着最坏的情况下,可能需要指数时间。因此提出了很多技术来提升AST solvers的效率。

目前SOTA的SAT solver可以分为两类:

  • CDCL (Conflict Driven Clause Learning) solvers
    • CDCL求解器基于深度回溯搜索,该搜索每次都分配一个变量,并在发生冲突时回溯。
  • SLS (Stochastic Local Search) solvers
    • SLS求解器会初始化所有变量的分配,然后通过不断翻转变量的分配以优化某个分数来找到解决方案。

已经有一些利用神经网络解决SAT问题的研究。 其中一些使用端到端神经网络直接解决SAT问题(直接预测一个输入样例是否是SAT的),而其他一些则使用神经网络预测来增强CDCL求解器。
从NeuroSAT 到 NeuroCore ,使用NeuroCore的CDCL solvers相对原始的版本提升了6%-11%。

本文方法

这篇文章提出NLocalSAT,第一个使用NN来提升SLS solvers的方法,以及第一个提升SAT solvers的线下方法(与NeuroCore方法的在线方式不同)。
方法:

  • first train a neural network to predict the solution space of a SAT instance
  • combine SLS solvers with the neural network by modifying the solvers’ initialization assignments under the guidance of the output of the neural network

NLocalSAT solves 27% ∼ 62% more instances than the original SLS solvers。

图表

NLocalSAT结构

在这里插入图片描述

模型中结合了神经网络和SLS solver。
Given a satisfiable input formula, the neural network is to output a candidate solution and the solver is to find a final solution with the guidance of the neural network.
也就是在神经网络输出的候选解中的指导下,求解器得出最终解。
对于一个输入公示,首先转化为一个公式的图,然后喂给一个图神经网络抽取特征。
然后,NLocalSAT通过神经网络之后的多层感知器输出该公式的候选解。
本文使用候选解来初始化SLS SAT solver的赋值,以此来指导搜索的过程。

1、 Formula Graph

模型的第一步是将公式转化为图的形式。
通用布尔公式可以是由变量,并列,析取,否定和常数组成的任何表达式。
所有布尔公式都可以简化为线性时间线性长度的等值合取范式(conjunctive normal form, CNF) [Tseitin, 1983]。也就是说,在CBF中,每个SAT的公式可以表示为 C 1 ∧ C 2 ∧ … ∧ C n C_1 \wedge C_2 \wedge \dotsc \wedge C_n C1C

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值