玻色量子“揭秘”之最大割(Max-Cut)问题与QUBO建模

描述

Max-Cut问题简单地说,就是求一种分割方法。给定一张无向图, 将所有顶点分割成两群, 同时使得被切断的边数量最大,或边的权重最大。

QUBO(Quadratic Unconstrained Binary Optimization)问题即二次无约束二值优化问题,将一个传统问题转为QUBO问题建模需要重点关注三部分:

①把建模对象中的变量映射为binary(0/1或者-1/+1)的变量;

②原模型的约束条件需要“处理”到目标函数中,成为无约束问题;

③模型变量的最高次不超过二次。  

我们先从简单的问题开始说明,让大家有些直观感受。Max-Cut问题就是一个非常简单,并容易理解的例子。同时Max-Cut问题无需复杂的操作,其模型本身就是QUBO问题。

最大割问题是一类NP难问题,它在计算机科学和组合优化领域中有着广泛的应用。在量子计算领域,最大割问题是一个非常重要的Benchmark,因为它是量子计算机中最具代表性的NP难问题之一,也是许多量子算法的基础。同时,最大割问题在实际应用中有着广泛的应用,如社交网络分析、电路设计、图像分割等领域。因此,通过研究量子算法解决最大割问题,可以为这些领域提供更高效的解决方案。

在量子计算行业中,不同公司往往将Max-Cut问题作为基础案例进行测试,用于算力的对比测试,而经典计算中的很多代表性企业等都曾使用Max-Cut来做新品算力的标定。如英伟达公司使用 896 个 GPU 模拟 1688 个量子比特,能够处理包含高达 3375 个顶点的图最大割问题,Quantinuum 研究团队通过在20量子比特的Quantinuum H1-1量子处理器上进行实验,可解决80个顶点的最大割问题。

2023年5月16日,北京玻色量子科技有限公司(以下简称“玻色量子”)的CTO魏海博士在首场新品发布会现场,就提出了Max-Cut是实用量子计算的“算力标准”。

函数

Max-Cut问题是实用量子计算的“算力标准”  

魏海博士提到,在实际问题求解中,玻色量子自研的相干光量子计算机真机——“天工量子大脑”,适用于高效求解组合优化问题,其中最具代表性的21个NP-Complete模型(简称“NPC”)在我们的生活中无处不在。这些问题之间可以互相归约转化,技术中经常用Max-Cut问题来做统一的数学表达,表征计算复杂度。因此,为了标定量子计算的算力优势,我们采用在经典计算中和量子计算中都通用的Max-Cut问题来作为实用量子计算的“算力标准”。

那么,为了更清楚的理解最大割问题,并彻底揭开它的“神秘面纱”,下面将通过案例对该问题在模型层面进行全面解读。

问题描述   

最大割问题是NP完备问题。给定一张图, 求一种分割方法, 将所有顶点分割成两群, 同时使得被切断的边数量最大,或边的权重最大。

由于二元变量存在(0/1或者-1/+1)表达形式的区别,常见模型有两种建模思路,在这里分别进行说明。

建模思路一   

在无向图G(V,E)中,V为网络的顶点集合,E为网络的边集,其中点i,j∈V,(i,j)∈E,wij为顶点i,j间的边的邻接矩阵,有连边关系则取1,无连边关系则取0。决策变量σi,σj表示顶点i,j的分类,其可能的取值为{1,-1},我们将V划分为A、B两类。

函数

则在给定的无向图中,将所有顶点分割成两群的分割方法所对应割取的边的个数为Z,模型表示为:

函数

式(1)即为Max-Cut最大割问题模型,同时其也是QUBO模型。

函数

图1:Max-Cut问题实例为描述该案例,本文以一个四节点实例说明,如图1所示,通过观察我们发现将1、2分为A类,3、4分为B类的“割”法将得到问题的最优解4,如图2所示,下面我们对这个案例进行分析。  

函数

图2:Max-Cut问题“割取”示意

通过连边关系可知

函数

函数

当点1、2为一组,点3、4为一组时,σ1=σ2=1,σ3=σ4=-1。 则式(3)变为

函数

结合式(1)、(2)和(4)可得

函数

图1的最大割数量为4,符合我们的设想。

当然,这个问题还可以简化,细心的朋友发现wij为系数矩阵,并不影响模型的计算,所以模型式(1)可以转换为求解式(6),式(1)与式(6)在解的取值上是等价的。

函数

同时,式(6)也被理解为一种Ising模型的表达方式。

在该建模思路下,式(1)与式(6)均可理解为Max-Cut最大割问题模型,同时其也是QUBO模型。不同的是,式(1)的目标函数可以表示为割去的边的个数,式(6)的目标函数常用于表示为哈密顿量。

建模思路二   

思路1中二元变量通过-1/+1表示,同样我们可以通过0/1变量构建模型,我们用变量xi表示顶点i属于A,B中的某一类。

函数

则在给定的无向图中,将所有顶点分割成两群的分割方法所对应割取的边的个数为Z,模型表示为:  

函数

在该建模思路下,式(7)为Max-Cut最大割问题模型,同时其也是QUBO模型。式(7)与式(1)的目标函数可以表示为割去的边的个数。 我们可以试着用QUBO的矩阵表达来描述这个案例。 首先,式(7)等价于式(8)

函数

QUBO的矩阵表达式为

函数

其中,线性项决定了矩阵Q的主对角线上的元素,二次项决定了非对角线上的元素。

以图1中的4节点,6条边的案例为例

函数

简化后可得

函数

则Q矩阵表达为

函数

解决这个QUBO模型可以得到x={1,1,0,0}。因此顶点1和2在一个集合中,顶点3和4在另一个集合中,最大切割值为4。

问题拓展   

有一个更普遍的问题版本称为加权Max-Cut。在这个问题中,每个边都有一个权重系数,目标函数由最大化边的个数调整为边的总权重之和。

在上述例子中,问题特征直接自然构建了QUBO形式的优化问题。但许多其他问题需要“重铸”来创建所需的QUBO形式。我们将在后面继续介绍其他问题的QUBO建模及其求解。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分