玻色量子“揭秘”之可满足性问题(SAT)与QUBO建模

news2024/9/20 22:41:21

摘要:布尔可满足性问题(Boolean Satisfiability Problem,简称SAT问题)是逻辑学和计算机科学中的一个问题,它的目的是确定是否存在一种解释,使给定的布尔公式成立。换句话说,它询问给定布尔公式的变量是否可以被一致地替换为真值或假值,使公式求值为真。如果是这样,那么这个公式就是可满足的。另一方面,如果不存在这样的赋值,那么该公式所表示的函数对于所有可能的变量赋值都为假,该公式不可满足1。

追根溯源,SAT是第一个已知的NP-Complete问题,多伦多大学的Stephen Cook在1971年,国家科学院的Leonid Levin在1973年均独立证明了这一问题。在此之前,NP-Complete问题的概念甚至不存在。另外,证明显示复杂性类NP中的每个决策问题都可以简化为CNF公式的SAT问题,有时也称为“CNFSAT”。

值得注意的是,SAT问题是计算机科学领域最基本的问题之一,有着重要的理论意义和实际应用。在理论研究中,SAT问题是一个经典的判定问题,同样是第一个被证明为NP-Complete的问题。这个决策问题在包括理论计算机科学、复杂性理论、算法、密码学和人工智能等计算机科学的各个领域都至关重要。

在现实场景应用中,SAT是很多工业场景里面的核心工具。尤其在一些包括芯片测试、电路等价性验证、电路模型检测、智慧园区及无线设备的布局、操作系统、航空等对精确度要求很高的核心领域,都需要SAT求解器的重磅参与。例如,芯片SAT分析是一种系统级应用测试分析方法,通过对芯片的性能和可靠性进行全面的测试和分析,以评估芯片在实际应用中的表现。

另外,在腾讯地图中的语音序列调度中,采用SAT算法中的约束加权方法,播报失败率从6.20%可降至2.85%,降幅54%,同时把地图路网更新的内存消耗量降低一半,更新周期缩短一半。

5月16日,北京玻色量子科技有限公司(以下简称“玻色量子”)在新品发布会上推出的100量子比特相干光量子计算机真机——“天工量子大脑”,旨在快速、且高效地求解NP难的组合优化问题,尤其是Ising问题🔗。而布尔可满足性(SAT)和最大可满足性(Max-SAT)是NP-Complete问题和NP难问题的一类,两者同等重要且更切合实际的组合优化问题。

目前,求解布尔SAT的方法有很多,比如量子退火和经典的随机局部搜索(SLS)求解器。然而,它们都需要巨量步骤来解决困难的SAT问题,这将耗费大量的时间和精力。随着量子计算技术的发展,一个SAT问题可以转化为一个Ising/QUBO问题,从而可由玻色量子的“天工量子大脑”快速高效地求出全局最优解。

那么,为了更清楚的理解SAT问题,下面首先介绍一些基本术语。

基本定义和术语

SAT问题,简单地说就是确定是否存在满足给定布尔公式解释的问题,它需要判断给定布尔公式的变量是否可以一致地替换为值 TRUE 或 FALSE,以使公式的计算结果为 TRUE。如果是这种情况,则公式称为“满足”。否则,若不存在这样的赋值,则公式表示的函数对于所有可能的变量赋值都是 FALSE,并且公式是不满足的。例如,公式“a AND NOT b”是可以满足的,因为可以找到值a = TRUE和b = FALSE,这使得(a AND NOT b)= TRUE。相反,“a AND NOT a”是无法被满足的,因为找不到这样的a的值。

命题逻辑公式,也称为布尔表达式,由变量,运算符AND(连接,也用∧表示)、OR(分离,∨)、NOT(否定,¬)和括号构成。如果通过为其变量分配适当的逻辑值(即TRUE,FALSE)可以使公式为TRUE,则称该公式是可满足的。给定公式,布尔可满足性问题(SAT)是检查它是否可满足。

布尔可满足性问题有几种特殊情况,其中公式需要具有特定结构。文字是一个变量,称为正文字,或变量的否定,称为负文字。子句是文字(或单个文字)的分离。如果一个子句最多包含一个正文字,则该子句称为Horn子句。如果公式是条款(或单个子句)的连接,则公式为合取范式(CNF)。

例如,x1是正文字,¬x2是负文字,x1∨¬x2是子句,(x1∨¬x2)∧(¬x1∨x2∨x3)∧x1是联合范式的公式;它的第一和第三个条款是Horn条款,但它的第二个条款不是。

最大可满足性问题(Max-SAT)是确定给定布尔公式(以合取范式表示)中最多有多少个子句可以通过对公式变量赋真值来使其成立。它是布尔可满足性问题的推广,后者询问是否存在一种真值赋值使所有子句都成立。

问题描述

2-SAT和3-SAT问题是SAT问题的两种形式,它们的区别在于每个子句中包含的变量数量不同。

具体来说,2-SAT问题中每个子句最多包含两个变量,形如(a∨b)、(¬a∨c)等,其中∨表示逻辑或,¬表示逻辑非。而3-SAT问题中每个子句最多包含三个变量,形如(a∨¬b∨c)、(¬a∨b∨¬c)等。

因为2-SAT问题中每个子句最多包含两个变量,所以可以使用一些特殊的算法(如Kosaraju算法和Tarjan算法)在多项式时间内求解。而3-SAT问题则是NP-Complete问题,目前还没有已知的多项式时间算法可以解决。由于二元变量存在(0/1或者-1/+1)表达形式的区别,常见模型有两种建模思路,在这里分别进行说明。

建模思路一

我们以Max 2-SAT问题进行讨论,将文字表示为0/1的变量,建立QUBO模型。每个子句由两个文字组成,如果其中一个或两个文字都为真,则满足一个子句。对于这个问题有三种可能的子句类型,每一种都有一个传统的约束,如果子句是真的,则必须满足。

下面是三种常见的转换情况:

① 无负文字

例如:(xi∨xj)

传统约束:(xi+xj)≥1

QUBO惩罚项:(1-xi-xj+xixj)

② 一个负文字

例如:(xi∨¬xj)

传统约束:xi+¬xj≥1

QUBO惩罚项:(xj-xixj)

③ 两个负文字

例如:(¬xi∨¬xj)

传统约束:¬xi+¬xj≥1

QUBO惩罚项:(xixj)

注:由于变量xj为1/0,所以¬xj=1-xj

对于每个子句类型,如果满足传统约束,则对应的惩罚等于0;如果不满足传统约束,则二次惩罚等于1。给定这种一一对应的关系,我们可以通过等价地最小化不满足的子句数量来逼近子句数量最大化问题。通过这种形式我们可以构建一个QUBO模型。

所以,对于给定的Max 2-SAT算例,我们可以添加与问题子句相关的二次惩罚项,得到一个我们想要最小化的复合惩罚函数。由于惩罚项均为二次型,因此该惩罚函数采用QUBO模型形式,min y=xTQx。如果在最小化QUBO模型时等于零,这意味着我们有一个满足所有子句的解;如果等于5,这意味着我们有一个满足除5以外的所有子句的解。

我们用以下4个变量和12个子句的例子来说明这个算例的建模和求解过程。

将惩罚项加在一起给出了我们的QUBO模型表达式:

min y=3+x1-2x4-x2x3+x2x4+2x3x4      (1)       

或QUBO模型的矩阵形式:

            min y=3+xTQx                (2)

则Q矩阵表达为

求解这个QUBO模型可以得到y=3-2=1,其中x1=x2=x3=0,x4=1。意思是除一个子句外的所有子句都满足。

注:上述QUBO方法已在Kochenberger等人的研究中得到成功应用[2],研究解决了含有数百个变量和数千个子句的Max 2-SAT问题。这种方法求解Max 2-SAT问题的一个有趣的特点是,得到的待求解QUBO模型的大小与问题中的子句数无关,仅由变量的个数决定。因此,一个含有200个变量和30000个子句的Max 2-SAT问题可以建模为一个只含有200个变量的QUBO模型并求解。

建模思路二

为了更好地理解这个问题,我们将文字表示为-1/1的变量,继续讨论一个3-Sat问题。

我们讨论一个3-Sat子句:

x1∨x2∨x3

该子句通过引入-1/1辅助变量可以映射成二次函数:

在x0,x1,x2的任意取值中,都有一个使得K最小的值a。如果我们假设a总是被设置为这个最优值,那么除了x0=x1=x2=-1时能量为+1外,其他取值的最低能量都是-7。下表总结了有关变量的取值,其中加粗的数字是给定x0,x1,x2变量的最低可能能量。

使用这种方法,如果xi在子句中被否定,我们可以通过将xi替换为-xi来编码任意3-Sat子句。现在,如果我们对求和这些每个子句对应的二次函数,我们可以得到一个关于Nxi自旋变量和Maj辅助自旋的二次函数,从而得到一个大小为N+M的Ising/QUBO问题。如果该问题是可满足的,那么最小的Ising能量将是-7M,如果该问题是不可满足的问题,那么最小的Ising能量为-7Msat,其中Msat是可满足子句的个数。

问题拓展

MAX-SAT是最大可满足性问题,是SAT问题的推广。它要求最大数量的条款,任何转让都可以满足。它具有有效的近似算法,但是NP时间难以精确解决。

在量子计算领域,2023年6月,NTT最新的研究提出了一种相干SAT求解器(CSS)的新技术。使用图形处理器(GPU)实现的Cyber-CSS与现有的SLS求解器(如probSAT)相比有一定的竞争力。未来通过量子计算实现SAT问题的快速求解将成为一种新的有效方法。

如今,玻色量子已基于自研的相干光量子计算机真机——“天工量子大脑”在SAT问题求解上具有显著的算力优势,代表了其在NP-Complete问题上的实用性,以进一步拓展更多可实用化量子计算应用场景。

玻色量子还将启动“燎原计划”开发者平台,并持续对外开放“天工量子大脑”的真机测试,热忱欢迎更多不同领域的研究伙伴前来了解相干量子计算的原理和能力,在此基础上展开共同研发,用量子计算去解决更多真实场景中的问题,让量子计算的超强算力能真正服务于各行各业,满足未来时代对于计算的需求。

[参考文献]

[1] Glover, Fred, Kochenberger, Gary, Du, Yu. Quantum Bridge Analytics I: a tutorial on formulating and using QUBO models[J]. 4OR: Quarterly Journal of the Belgian, French and Italian Operations Research Societies,2019,17(4):335-371. DOI:10.1007/s10288-019-00424-y.

[2] Kochenberger G , Glover F , Alidaee B ,et al.Using the unconstrained quadratic program to model and solve Max 2-SAT problems[J].International Journal of Operational Research, 2005, 1(1/2):89--100.DOI:10.1504/IJOR.2005.007435.

[3] Reifenstein S, Leleu T, McKenna T, et al. Coherent SAT solvers: a tutorial[J]. Advances in Optics and Photonics, 2023, 15(2): 385-441.

[4] 百度百科

https://baike.baidu.com/item/%E5%B8%83%E5%B0%94%E5%8F%AF%E6%BB%A1%E8%B6%B3%E6%80%A7%E9%97%AE%E9%A2%98/4715567?fr=aladdin

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1245541.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenCV快速入门:图像分析——图像分割和图像修复

文章目录 前言一、图像分割1.1 漫水填充法1.1.1 漫水填充法原理1.1.2 漫水填充法实现步骤1.1.3 代码实现 1.2 分水岭法1.2.1 分水岭法原理1.2.2 分水岭法实现步骤1.2.3 代码实现 1.3 GrabCut法1.3.1 GrabCut法原理1.3.2 GrabCut法实现步骤1.3.3 代码实现 1.4 Mean-Shift法1.4.1…

面试题:为什么生产环境中,建议禁用 Redis 的 keys 命令?

keys命令的用法: keys pattern查找符合正则匹配的key的列表。扫描对象是Redis服务中所有的key,想想都很慢对不对? 同时执行keys命令的同时,Redis进程将被阻塞,无法执行其他命令,假如超过了哨兵的down-aft…

Android系统预装带so的apk

文章目录 前言配置新建Android.mk核心命令首次编译Apk已生成 但是无arm文件system.img 也已经更新 第一次刷入打开APP后闪退加入so文件如下为修改后的mk 第二次刷入mm报错查看手机系统abi路径下分别生成两个环境的so官方LOCAL_MULTILIB描述so打包错误验证so位数注释v7部分 第三…

界面组件DevExpress Reporting v23.1 - Web报表设计器功能升级

DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表 界面组件DevExpress Reporting v23.1已经发布一段…

图解分库分表

中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就应该对数据进行拆分了。有垂直和水平两种。 垂直拆分比较简单,也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。如下图,独立的拆分出…

【PyQt】(自定义类)阴影遮罩

写了一个感觉有些用的小玩具。 用于给控件添加阴影遮罩(强调主控件的同时屏蔽其余控件的点击) 自定义阴影遮罩Mask: from PyQt5.QtCore import QPoint,QRect,Qt,QPoint,QSize from PyQt5.QtWidgets import QWidget,QLabel,QPushButton,QVBoxLayout from PyQt5.QtGu…

Javaweb之前后台分离开发介绍的详细解析

2.1 前后台分离开发介绍 在之前的课程中,我们介绍过,前端开发有2种方式:前后台混合开发和前后台分离开发。 前后台混合开发,顾名思义就是前台后台代码混在一起开发,如下图所示: 这种开发模式有如下缺点&a…

视频剪辑技巧:如何高效批量转码MP4视频为MOV格式

在视频剪辑的过程中,经常会遇到将MP4视频转码为MOV格式的情况。这不仅可以更好地编辑视频,还可以提升视频的播放质量和兼容性。对于大量视频文件的转码操作,如何高效地完成批量转码呢?现在一起来看看云炫AI智剪如何智能转码&#…

基于STC12C5A60S2系列1T 8051单片读写掉电保存数据IIC总线器件24C02一字节并显示在液晶显示器LCD1602上应用

基于STC12C5A60S2系列1T 8051单片读写掉电保存数据IIC总线器件24C02一字节并显示在液晶显示器LCD1602上应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍IIC通信简单…

【Java从入门到大牛】网络编程

🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:Java从入门到大牛 🌠 首发时间:2023年11月23日 🦋 欢迎关注🖱点赞👍收藏🌟留言&#x1f4…

【LeetCode:2304. 网格中的最小路径代价 | dijkstra(迪杰斯特拉)】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

YOLOv8改进 | CARAFE既减少参数又提高精度的上采样方法

论文地址:官方论文地址点击即可跳转 代码地址:官方代码地址点击即可跳转 一、本文介绍 本文给大家带来的CARAFE(Content-Aware ReAssembly of FEatures)是一种用于增强卷积神经网络特征图的上采样方法。其主要旨在改进传统的上采…

手写数字可视化_Python数据分析与可视化

手写数字可视化 手写数字流形学习 手写数字 手写数字无论是在数据可视化还是深度学习都是一个比较实用的案例。 数据在sklearn中,包含近2000份8 x 8的手写数字缩略图。 首先需要先下载数据,然后使用plt.imshow()对一些图形进行可视化: 打开c…

Springmvc原理解析

1. DispatcherServlet springmvc的核心控制器,负责截获所有的请求,当截获请求后委托给HandlerMapping进行请求映射的解析工作,目的是找到哪一个Controller的方法可以处理该请求,找到后再交由给HandlerAdaptor去负责调用并返回Mod…

利用人工智能打破应试教育惯性促进学生思维活化与创新能力培养的研究

全文均为人工智能独立研究完成 应试教育导致学生迷信标准答案惯性导致思维僵化-移动机器人-CSDN博客 用AI魔法打败AI魔法-CSDN博客 课题名称建议:“利用人工智能打破应试教育惯性,促进学生思维活化与创新能力培养研究”。 这个课题名称明确指出了研究的…

ConcurrentHashMap的数据结构+以及各个版本之间的区别

ConcurrentHashMap 1.7与1.8的区别 1、锁结构不同 2、put的流程不同 3、size的计算方式不同(1.8使用的使用basecell[]计算,有点类似于LongAdder,1.7使用三级通缉判断是否一样,不一样通过分段式加锁再求和) 4、数据结构不同,1.6 Re…

[BJDCTF2020]The mystery of ip1

提示 ssti模板注入head头x-forwarded-for 每一次做题的最开始流程都大致因该是 信息收集找可以操控的地方 查看hint页面的源代码又发现它提示说 ####你知道为什么会知道你的ip吗 查看flag页面 从刚才给我的提示以及他这里显示的我的ip,大概找到了我可操作的可控点 …

Flutter 小技巧之 3.16 升级最坑 M3 默认适配技巧

如果要说 Flutter 3.16 升级里是最坑的是什么?那我肯定要说是 Material 3 default (M3)。 倒不是说 M3 bug 多,也不是 M3 在 3.16 上使用起来多麻烦,因为虽然从 3.16 开始,MaterialApp 里的 useMaterial3 …

海报设计必备:揭秘5款炙手可热的设计工具

1.即时设计:能实现在线协作的海报设计软件 即时设计作为 2020 年上线的国产设计工具,目前已经有了超百万的注册用户,获得了广大设计师的一致好评。与其他传统海报设计软件相比,即时设计具有这几个优点:一是所有功能都…