原文见:https://blog.zelinmeng.com/?p=63
上次的文章 量子近似优化算法(一)介绍了量子近似优化算法及其相关的概念,并留下最终的问题,即如何找到最优化的参数最大化算符的平均值,本次文章主要介绍QAOA 算法的参数优化问题。
参考文献
[1] Zhou, L., Wang, S. T., Choi, S., Pichler, H., & Lukin, M. D. (2018). Quantum approximate optimization algorithm: performance, mechanism, and implementation on near-term devices. arXiv preprint arXiv:1812.01041.
Fixed p algorithm
前面我们介绍了QAOA的算法流程,如下图所示:
而现在,我们的主要任务是寻找参数的最优解。寻找参数的最简单但最有效的方法即为网格搜索,但这种方法耗时耗力,随着参数数量的增多,搜索空间成指数增长,因而我们需要更为高效的方法进行参数优化,寻找最优解。
回忆一下之前MaxCut问题,就是要让如下表达式最大化:
其中,为表示链接节点的边。前面我们说过,衡量大小的方式是求算符的平均值,即:
其中 是系统制备的初态,我们最终需要制备的得到的量子态为:
其中,、。因此有,
其中。到这里,上面都很好理解,因为我们在上一篇博文中,也说过,QAOA的过程本质上就是制备一个量子态,而这里一系列的酉算符就是作用在态上的,其本质也是一个制备态的过程。
但是从数学上,我们可以仅考虑算符的部分,即
对于这种最简单的情况,可以写成
由于每一次只考虑两个粒子,因此只用考虑两个粒子,因此等于,因此上式可以写成:
采用这种方法是,由于每次只有两个粒子会参与计算,而当时,仅有与直接相邻的粒子才会参加计算(中一项的计算),比如
QAOA的量子电路表示
前面我们已经说过,线路中的主要操作为:
那么我们怎么将他们用量子电路的形式进行表示呢?我们首先来看:
这就相当与互易地对量子比特$j$和$k$执行X操作。接下来看:
其中为一个全局相位,暂时可以忽略,主要看第二项:
因此,第二项的量子电路图可以如下表示:
而对于上一节中的介绍的$p=1$的情况,即
所对应的电路图可以如下表示:
参数优化方法
到目前为止,我们尚未介绍如何对参数进行优化,这个问题将在本节中详细给出。其实参数优化算法种类较多这里主要介绍基于梯度下降的方法。
首先我们需要知道的是,梯度下降法是在经典计算机上完成的,而我们的目标是找到参数最大化算符的平均值:
其中出除了参数,所有算符的具体矩阵形式都是已知的,而在理想情况下使用计算基测量得到的量子态,即为最佳的分组情况。
文献[1]中提及了在较小时使用BFGS来寻找局部最优解的方法,同时还提出了在较大时,使用启发式优化算法求解的方法。
然而作者貌似也是使用的SDK直接求解的,并且BFGS算法貌似非常复杂,因此,以后再来具体分享这一块的内容吧。
网友评论