量子计算论文精讲 | 量子经典混合的SAT问题算法

点击查看原文

图片

图片

欢迎大家扫码关注MindSpore Quantum Gitee社区

内容简介

布尔可满足性问题(SAT)由多子句合取范式表示,是一类重要的(NP完全问题,在人工智能、图着色、电路分析等领域发挥着重要作用。量子退火是一种很有前途的求解复杂SAT问题的方法,它利用量子纠缠的并行性,将SAT变量嵌入到量子比特中。然而,较长的嵌入时间导致当前基于量子退火的方法在硬件上的实现效率低、可扩展性差。本期分享介绍了HyQSAT,一种将量子退火与经典的3-SAT问题的端到端加速。实验结果表明,HyQSAT算法能够有效支持超出现有问答算法能力的更大规模3-SAT问题,与经典的CDCL算法相比,DWave 2000Q算法在Intel E5 CPU上实现了12.62倍的端到端加速,与D-Wave Minorminer算法相比,HyQSAT算法将问答嵌入时间从17.2s大幅降低到15.7μs。

相关论文

标题:HyQSAT: A Hybrid Approach for 3-SAT Problems by Integrating Quantum Annealer with CDCL

作者:Siwei Tan, Mingqian Yu, Andre Python, Yongheng Shang, Tingting Li, Liqiang Lu, Jianwei Yin

期刊: 2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)

相关视频

点击下方链接观看视频讲解:

https://www.koushare.com/lives/room/582578

图片

01 背景知识

(1)可满足性问题介绍

3-SAT问题是判断是否存在满足给定布尔代数的赋值。布尔代数C通常由多个子句{c}表示为合取范式。每个子句包含了不多于三个布尔变量x。

图片

求解的目标是找到一组变量赋值 (x=0/False, x=1/True),使得所有子句为1/True,则布尔代数为可满足的,否则布尔代数为不可满足的。

很多生产应用问题可以被规约为3-SAT问题,然后由SAT问题求解器求解,一个典型的生产方面的应用是车辆的生产验证,宝马工厂一天能生产一百个零件。有A, B, C, D......共二十万个零部件需要生产。生产时有以下约束:A和B可以一起,且必须和C和D中的一个一起;B不能和E一起生产,但是可以和F一起生产;C必须和E, F, G中的一个零件一起生产......如何安排生产计划就是一个典型的SAT问题。

(2)经典SAT问题求解算法

目前最先进的经典SAT算法是冲突子句学习(CDCL)类的算法。如图1的例子,CDCL采用了树状搜索的方式进行。给定一个3-SAT问题,搜索包含三个迭代的步骤: a) 决策。选择一个变量并将其赋值为1或0 (例如x1 = 0, x2 = 0),这一步依赖于特定的启发函数;b)传播。当一个子句中只有一个未赋值的变量时,推导出这个变量满足这个子句。例如,将x1和x2赋值为0后,推导出x3 = 1以满足c1 = x1∨x2∨x3;c) 解决冲突。如果未满足的子句没有未赋值的变量(例如,在x4赋值为0之后c2 = 0),则会发生冲突。使用Davis-Putnam算法来记忆决策历史,以避免重复冲突。求解器将回溯到前一步。

图片

图1(来源 HPCA 2023 HyQSAT)

(3)采用量子退火的方式加速问题求解

量子退火算法在搜索二次多项式函数的最小值相较于经典算法最高具有指数级别的优势。量子退火算法可以被用于求解3-SAT问题,为了部署3-SAT问题到量子退货机硬件上,需要三个步骤 a)将问题转换为二次多项式问题:

图片

I, B, J为根据问题决定的系数。这些系数可以通过对每个子句的二次多项目标函数求和得到,具体来说先将子句拆解成:

图片

然后根据子句中变量是否还是真转换成目标函数:

图片

然后就可以对目标函数进行求解,如果布尔代数是可满足的,则函数最小值为0,对应的输入为布尔代数的解,如果是不可满足的,则最小值大于0。

02 HyQSAT量子混合经典算法 

在实际部署中,当前的量子3-SAT算法受限于量子退火芯片的拓扑结构和比特数,只能求解小规模的问题,并且会受到较高的编译延迟,如图2所示,对于一个100个变量的问题,其编译需要约10秒,而传统最优算法求解3-SAT只需要8毫秒,此外本研究开始时,最大的量子退火机为DWave2000Q,只能求解最大约150个变量的3-SAT问题。

图片

图2(来源 HPCA 2023 HyQSAT)

因此本研究提出了HyQSAT,图3的描述了整个算法流程,HyQSAT的输入是CNF格式的3-SAT问题,输出问题是否可以满足,如果可以满足还要输出一个令问题可以满足的所有变量的赋值。HyQSAT是一个交叉迭代的过程HyQSAT的搜索流程依然基于CDCL算法,但是算法需要将一批重要的子句映射到量子退火器上求解,CDCL算法需要利用量子退火计算出的可解释性结果来指导搜索,这样一次迭代就完成了。然后HyQSAT再将一批新的子句再映射到量子退火器上进行求解,直到达到算法的结束条件,输出最终结果。和经典的CDCL一样,HyQSAT遵循决策、传播和解决冲突的步骤,如果所有的子句都满足了, HyQSAT会输出“可满足的”和此时所有变量的赋值,并结束搜索。否则它会尝试去解决冲突,执行学习策略,并且回退到最近的一次导致冲突的决策步骤,如果无论怎样赋值都不能使所有子句满足, HyQSAT会输出“不可满足的”,并结束搜索。与经典CDCL算法不同的是,经典CDCL算法每次只决定一个变量的值,然后去传播并检查与这个变量相关的所有子句是否存在冲突。而本研究的方法每次会挑选一批关键的子句作为子问题,经过前端编译和后端反馈的步骤来进行传播,这个过程作用在预热阶段,可以加快学习冲突的过程,从而加快了整体上解决问题的时间。

图片

图3(来源 HPCA 2023 HyQSAT)

03 硬件嵌入 

如图4所示,为了降低编译中嵌入的延迟,本研究提出了一种贪心的快速嵌入方法。嵌入方法专门针对Chimera拓扑结构的量子芯片。本研究在嵌入的时候会首先考虑垂直线,然后再考虑水平线,要求必须将辅助变量嵌入到水平线中,同时要严格按照子句队列中的顺序进行嵌入。具体来说,队列中的子句需要嵌入到量子退火的硬件图中,需要按照待求解的问题,将每一个变量分配到量子链上。对于一个变量,本研究定义它的量子链是由多个通过垂直线和水平线连接的量子比特组成的。为了简单起见,当本研究连接两个变量对应的量子比特时只考虑从左向右的连接。

图片

图4(来源 HPCA 2023 HyQSAT)

为了减少计算开销并最大限度地提高硬件利用率,本研究按照上述分配规则提出了一种嵌入方案,包括两个步骤。在步骤一中本研究迭代的选择子句,根据它们在队列中的顺序依次分配变量到垂直线上。本研究定义一个连接要求列表(Connection Requirements List,简称CRL)来记录这一组量子链在嵌入时的连接要求,意思是变量之间的链接需求。本研究优先向垂直线上分配变量,所有垂直线都被使用之后,步骤 2 就会进行下一步的分配调整,通过将变量分配到水平线上来满足连接需求。分配从底部水平线开始,从左到右,通过对角耦合器与垂直线建立连接。同样的,当一条水平线被充分利用后,嵌入过程会移动到下一条水平线上,直到CRL为空。

04 使用量子退火结果加速经典搜索 

当前量子器件由于存在硬件噪声,量子退火过程很难真正达到能量最小值,这会使一些可满足的子句可能被误认为不可满足,导致计算结果错误。为了避免噪音导致的计算误差,本研究根据嵌入子句被满足的概率将其分为不同类型。

图片

图5(来源 HPCA 2023 HyQSAT)

本研究使用经验方法来估计参与计算的子句的可满足概率。如图5所示,本研究在D-Wave2000Q上进行了测试,本研究测试了1000个可满足问题和1000个不可满足问题。然后,本研究应用高斯朴素贝叶斯模型来拟合这个分布。具体来说,本研究选择90%作为参数将能量轴划分为多个置信区间。例如,分割点“4.5”表示对于计算得到的能量为4.5的3-SAT问题,它有90%的概率是可满足的。于是,本研究总结并确定了以下四个置信区间来解释嵌入子句的结果:

  • 可满足的:置信区间 [0,0].

  • 接近可满足的:置信区间 (0,4.5].

  • 不确定的:置信区间(4.5,8].

  • 接近不可满足的:置信区间 (8,无限].

HyQSAT算法的工作流程是一个交替迭代的过程,包括a)量子退火部分,该部分加速子句队列中的子句,并将变量赋值的可满足概率发送给CDCL部分;b)CDCL部分,接收量子退火的解释结果以指导搜索,并向量子退火步骤中发送新的子句进行下一轮加速。根据嵌入子句的数量及其可满足性概率,本研究将它们分为四种情况,并提出了四种反馈策略来剪枝CDCL流程的搜索空间,具体的对应情况如图6:

图片

图6(来源 HPCA 2023 HyQSAT)

本研究提出四种反馈策略:

  • 反馈策略1:适用于当所有子句都被嵌入到量子退火器上,并且计算结果为可满足时,算法将采用这个可满足的结果,从而结束CDCL搜索,输出“可满足的”,并输出变量赋值。

  • 反馈策略2:适用于只有部分子句嵌入且可满足,或者量子退火的计算结果接近可满足的情况。对于这种情况,本研究在CDCL搜索期间保持当前计算的变量赋值,因为这些赋值会保持量子退火系统的最小能量状态,这是概率最高的接近最终结果的解决方案。

  • 反馈策略3:在量子退火的能量值处于不确定的区间,无法区分子句的可满足性时执行,这实不用退火结果知道CDCL算法搜索。

  • 反馈策略4:用在当嵌入的子句有很大的概率不满足时,可以帮助剪枝不必要的CDCL搜索状态。具体来说,接近不可满足意味着量子退火中涉及的变量的任何一种赋值情况都不能使嵌入的子句变成满足的状态。因此,本研究在CDCL搜索中优先考虑这些导致冲突的变量,以加快遇到冲突状态的回溯。

本研究的反馈策略可以有效利用量子退火结果来处理经典CDCL算法中非常耗时的预热阶段,减少预热时间。

05 实验结果 

最终,研究团队在11类相关数据集上进行了实验(来自于密码学、人工智能应用、图着色、电路分析等领域),与经典算法相比,团队提出的方法平均实现了14.11倍的加速,表现最好的可以实现329.00倍的加速。

图片

图7(来源 HPCA 2023 HyQSAT)

图片

欢迎大家订阅“量子计算HiQ”,查看更多论文分享和学术活动信息

  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值