# QAOA 算法详解:量子近似优化算法 QAOA(Quantum Approximate Optimization Algorithm,量子近似优化算法)由 Edward Farhi、Jeffrey Goldstone 和 Sam Gutmann 于 2014 年提出,是针对组合优化问题设计的变分量子算法。它在 NISQ(Noisy Intermediate-Scale Quantum,近期含噪中等规模量子)设备上具有实际可行性,并且是少数在理论上可以严格刻画其近似能力的量子算法之一。 :::{admonition} 本课知识点 :class: tip 1. **[组合优化问题背景](#problem-background-qaoa-tutorial)**——能写出比特串上成本函数最大化的标准形式,列举 MaxCut、Max-SAT、TSP 等 NP-Hard 实例,并说明 QAOA 以小整数 $p$ 层电路、多项式资源换取近似质量随 $p$ 提升的定位。 2. **[问题哈密顿量与混合哈密顿量](#alternating-hamiltonians)**——能写出对角成本哈密顿量 $H_C$、混合哈密顿量 $H_B=-\sum_i X_i$ 与 $p$ 层 QAOA 态的定义,并解释问题层"按成本标相位"、混合层"在计算基间移动振幅"的交替搜索机制。 3. **[问题编码与 QUBO 到 Ising 的转换](#problem-encoding-zz)**——能推导 MaxCut 的切断指示符 $\frac{1-s_is_j}{2}$ 与成本哈密顿量 $\sum_{(i,j)\in E}\frac{1-Z_iZ_j}{2}$,并把一般 QUBO 成本函数换算为 Ising 形式的 $c_0$、$h_i$、$J_{ij}$ 系数。 4. **[QAOA 电路的门综合](#circuit-gate-synthesis)**——能证明两比特 $ZZ$ 旋转的 CNOT–$R_z$–CNOT 实现恒等式,把混合层写成逐比特 $R_x(-2\beta)$,并统计 $p$ 层电路 $O(p(|E|+n))$ 的门数。 5. **[参数优化与对称性](#parameter-optimization)**——能写出期望成本目标 $F(\vec{\gamma},\vec{\beta})$,说明逐门参数平移求梯度与 COBYLA 无梯度优化各自的适用条件,并证明 $\beta\to\beta+\frac{\pi}{2}$ 的平移对称。 6. **[测量与经典后处理](#measurement-postprocessing)**——能由计算基测量样本估计关联函数 $\langle Z_iZ_j\rangle$ 并组装能量估计 $\widehat{F}$,比较期望值与 best-of-$N$ 两种解质量指标的差别。 7. **[近似比与绝热收敛](#approximation-ratio)**——能定义近似比 $r_p$,复述 3 正则图 $p=1$ 的 $0.6924$ 定理与 $p\to\infty$ 收敛定理,并说明收敛性来自把 QAOA 看作绝热演化的一阶 Trotter 离散化。 8. **[三角形图 K3 的闭式分析](#k3-example)**——能利用对称性把 $K_3$ 的 $p=1$ 分析约化到二维不变子空间,算出混合层矩阵与闭式能量 $F(\gamma,\beta)$,并求出最优参数与近似比 $r_1=1$。 ::: (problem-background-qaoa-tutorial)= ## 问题背景:组合优化 许多重要的计算问题可以表述为组合优化:给定定义在 $n$ 位比特串上的成本函数 $C(\mathbf{z})$,我们要找 $$\mathbf{z}^* = \arg\max_{\mathbf{z} \in \{0,1\}^n} C(\mathbf{z}).$$ 典型的例子包括: - MaxCut:把图的顶点分成两组,使两端分属不同组的边("被切断的边")尽可能多; - Max-SAT:给定布尔公式,找到满足最多子句的变量赋值; - 旅行商问题(Traveling Salesman Problem, TSP):找到访问所有城市的最短回路; - 图着色、背包问题、调度问题等。 这些问题大多是 NP-Hard:经典精确算法在最坏情形下需要指数时间,而经典近似算法的近似比存在理论限制(例如 MaxCut 在唯一博弈猜想下的 0.878 上限对应 Goemans-Williamson 算法)。 QAOA 的目标是:用 $p$ 层量子电路($p$ 为小整数),以多项式资源找到质量可随 $p$ 提升的近似解。 (alternating-hamiltonians)= ## 核心思想:交替演化 QAOA 把优化问题编码为两个哈密顿量,通过交替演化来搜索最优解。 第一个是问题哈密顿量(problem Hamiltonian)$H_C$,它把目标函数编码为对角矩阵: $$H_C = \sum_{\mathbf{z}} C(\mathbf{z})\, |\mathbf{z}\rangle\langle\mathbf{z}|,$$ 即 $H_C|\mathbf{z}\rangle = C(\mathbf{z})|\mathbf{z}\rangle$。对于 MaxCut 这类问题,$H_C$ 还可以等价地写成泡利算符 $Z_i Z_j$ 的和(下一节我们从 $C(\mathbf{z})$ 出发完整推导这一形式)。 第二个是混合哈密顿量(mixer Hamiltonian)$H_B$,它驱动量子态在计算基之间跃迁: $$H_B = \sum_{i=1}^{n} X_i.$$ 需要注意一个细节:$|+\rangle^{\otimes n}$ 是 $\sum_i X_i$ 的最高本征态(本征值 $+n$),而不是基态。为了与绝热演化的叙述一致,本教程把混合哈密顿量取为 $H_B = -\sum_i X_i$,此时 $|+\rangle^{\otimes n}$ 是 $H_B$ 的基态(本征值 $-n$)。两种约定只差替换 $\beta \to -\beta$,得到的能量期望完全相同。 **$p$ 层 QAOA 态**定义为 $$|\vec{\gamma}, \vec{\beta}\rangle = \prod_{l=1}^{p} \Big[ e^{-i\beta_l H_B}\cdot e^{-i\gamma_l H_C} \Big]\cdot |+\rangle^{\otimes n},$$ 其中参数向量 $\vec{\gamma} = (\gamma_1, \ldots, \gamma_p)$、$\vec{\beta} = (\beta_1, \ldots, \beta_p)$ 待优化。矩阵乘积从右向左作用,因此最右边的 $e^{-i\gamma_1 H_C}$ 最先执行。 这一结构的直觉是:$e^{-i\gamma H_C}$ 在计算基上施加依赖于成本值的相位——$C(\mathbf{z})$ 越大的分量相位转得越多,相当于"标记好解";$e^{-i\beta H_B}$ 把各计算基分量混合起来,让好解的相位模式转化为振幅上的增强。交替施加两类算符,好解的振幅逐层干涉增强,这与 Grover 振幅放大有相似的机制,但每层的"转动量"由可调参数控制。 ## 算法步骤详解 (problem-encoding-zz)= ### 第一步:问题编码——从比特串到 $Z_i Z_j$ 我们以 MaxCut 为例,完整推导从目标函数到泡利哈密顿量的每一步。 给定图 $G = (V, E)$,赋值是每个顶点上的比特 $b_i \in \{0, 1\}$。一条边 $(i,j)\in E$ 被切断,当且仅当 $b_i \neq b_j$。我们引入自旋变量 $s_i \in \{+1, -1\}$,约定 $b_i = \frac{1 - s_i}{2}$(即 $b_i = 0 \leftrightarrow s_i = +1$,$b_i = 1 \leftrightarrow s_i = -1$)。对每条边,切断指示符有两种等价写法: $$\mathbb{1}[b_i \neq b_j] = b_i + b_j - 2\,b_i b_j = \frac{1 - s_i s_j}{2}.$$ 我们验证一下:右边的第一式,当 $(b_i, b_j) = (0,0)$ 或 $(1,1)$ 时取 $0$,当 $(0,1)$ 或 $(1,0)$ 时取 $1$;第二式中,$b_i = b_j$ 时 $s_is_j = +1$、取值为 $0$,$b_i \neq b_j$ 时 $s_is_j = -1$、取值为 $1$。再把 $b_i = (1-s_i)/2$ 代入第一式: $$\frac{1-s_i}{2} + \frac{1-s_j}{2} - 2\cdot\frac{(1-s_i)(1-s_j)}{4} = \frac{2 - s_i - s_j}{2} - \frac{1 - s_i - s_j + s_is_j}{2} = \frac{1 - s_is_j}{2},$$ 两个表达式确实一致。MaxCut 的目标函数是所有边的切断指示符之和: $$C(\mathbf{b}) = \sum_{(i,j)\in E} \frac{1 - s_i s_j}{2}.$$ 现在把经典变量提升为算符。计算基 $|\mathbf{b}\rangle = |b_1 b_2 \cdots b_n\rangle$ 满足 $Z_i|\mathbf{b}\rangle = (1 - 2b_i)|\mathbf{b}\rangle = s_i|\mathbf{b}\rangle$(由 $Z|0\rangle = +|0\rangle$、$Z|1\rangle = -|1\rangle$ 直接得到)。因此 $Z_i$ 正是自旋变量 $s_i$ 对应的算符,而 $Z_iZ_j$ 对基矢的本征值就是 $s_is_j$。把逐边求和中的 $s_i s_j$ 替换为 $Z_iZ_j$,得到量子化的成本哈密顿量 $$H_C = \sum_{(i,j)\in E} \frac{1 - Z_i Z_j}{2} = \frac{|E|}{2}\,I - \frac{1}{2}\sum_{(i,j)\in E} Z_i Z_j.$$ 它是对角的,且 $H_C|\mathbf{b}\rangle = C(\mathbf{b})|\mathbf{b}\rangle$:每条边贡献一个 $-\frac{1}{2}Z_iZ_j$ 项加上常数 $\frac{1}{2}$,一一对应。 对一般的 QUBO(Quadratic Unconstrained Binary Optimization,二次无约束二值优化)问题,同样的推导逐项展开即可。设 $$C(\mathbf{b}) = \sum_{i} Q_{ii}\, b_i + \sum_{ii} Q_{ij} - \frac{1}{4}\sum_{j 提示:两端比特独立均匀时一条边被切断的概率恰为 $\frac{1}{2}$;再用期望的线性性与 $C_{\max}\le|E|$。 **练习 2【问题哈密顿量与混合哈密顿量】**(→ [核心思想:交替演化](#alternating-hamiltonians)) 1. 写出 $H_C=\sum_{\mathbf{z}}C(\mathbf{z})|\mathbf{z}\rangle\langle\mathbf{z}|$ 并验证 $H_C|\mathbf{z}\rangle=C(\mathbf{z})|\mathbf{z}\rangle$;按 $H_B=-\sum_i X_i$ 计算 $H_B|+\rangle^{\otimes n}$ 并写出本征值。 2. 解释:若把混合哈密顿量改取为 $+\sum_i X_i$,$|+\rangle^{\otimes n}$ 变成最高本征态(本征值 $+n$)而非基态;说明两种约定下最优参数只差替换 $\beta\to-\beta$,能量期望完全相同。 > 提示:逐比特 $X|+\rangle=|+\rangle$;$e^{+i\beta\sum_i X_i}$ 与 $e^{-i\beta\sum_i X_i}$ 在 $\beta\to-\beta$ 下互换。 **练习 3【问题编码与 QUBO 到 Ising 的转换】**(→ [第一步:问题编码——从比特串到 $Z_i Z_j$](#problem-encoding-zz)) 1. 对 $(b_i,b_j)$ 的四种取值逐一验证 $\mathbb{1}[b_i\neq b_j]=b_i+b_j-2b_ib_j=\frac{1-s_is_j}{2}$(其中 $s_i=\pm1$、$b_i=\frac{1-s_i}{2}$)。 2. 对两个顶点、一条边的 MaxCut($C=b_1+b_2-2b_1b_2$),用一般 QUBO 到 Ising 的系数公式算出 $c_0$、$h_1$、$h_2$、$J_{12}$,并与逐边公式 $\frac{1-Z_1Z_2}{2}$ 核对。 > 提示:$Q_{11}=Q_{22}=1$、$Q_{12}=-2$,代入 $c_0$、$h_i$、$J_{ij}$ 的表达式。 **练习 4【QAOA 电路的门综合】**(→ [第二步:构造 QAOA 电路](#circuit-gate-synthesis)) 1. 写出 MaxCut 问题层中一条边对应的因子 $e^{-i\gamma/2}\cdot e^{+i\gamma Z_iZ_j/2}$ 及其门实现(两个 CNOT 夹一个角度为 $-\gamma$ 的 $R_z$),并写出混合层每个量子比特上的门。 2. 证明 $\mathrm{CNOT}_{i\to j}\,Z_j\,\mathrm{CNOT}_{i\to j}=Z_iZ_j$(对基矢 $|b_ib_j\rangle$ 逐一验证),并据此统计 $p$ 层 MaxCut QAOA 的 CNOT 总数与单比特旋转门总数。 > 提示:$\mathrm{CNOT}$ 把 $|b_i,b_j\rangle$ 映为 $|b_i,b_j\oplus b_i\rangle$,且 $(-1)^{b_i\oplus b_j}=(-1)^{b_i+b_j}$。 **练习 5【参数优化与对称性】**(→ [第三步:参数优化](#parameter-optimization)) 1. 写出参数优化的目标函数 $F(\vec{\gamma},\vec{\beta})$;解释为什么对整层 $e^{-i\gamma_l H_C}$ 一般不能直接套两项参数平移公式,而拆成逐边门后可以。 2. 证明对任意对角的 $H_C$,$\beta\to\beta+\frac{\pi}{2}$ 不改变 $F$:由 $e^{i(\pi/2)X}=iX$ 说明两个混合层只差一个全局相位与 $X^{\otimes n}$,再用 $X^{\otimes n}$ 与对角算符对易、保持 $|+\rangle^{\otimes n}$ 不变完成论证。 > 提示:$e^{-i(\beta+\pi/2)H_B}=e^{-i\beta H_B}\cdot i^nX^{\otimes n}$(按 $H_B=-\sum_i X_i$ 与 $e^{i(\pi/2)X}=iX$ 逐比特相乘)。 **练习 6【测量与经典后处理】**(→ [第四步:测量与经典后处理](#measurement-postprocessing)) 1. 两个顶点、一条边的图上,设 $N=8$ 次测量得到 $|00\rangle$ 3 次、$|01\rangle$ 2 次、$|10\rangle$ 1 次、$|11\rangle$ 2 次;计算 $\widehat{\langle Z_0Z_1\rangle}$ 与能量估计 $\widehat{F}$,并核对 $\widehat{F}$ 等于样本成本的平均值。 2. 证明 best-of-$N$ 输出的样本最优值总不小于样本平均 $\widehat{F}$,并解释期望值刻画平均解质量、而 best-of-$N$ 还能利用分布高位尾部的原因。 > 提示:每个样本的 $C(\mathbf{z})$ 都不超过样本中的最大值。 **练习 7【近似比与绝热收敛】**(→ [近似比](#approximation-ratio)) 1. 写出近似比 $r_p$ 的定义;由正文 $K_3$ 的结果($C_{\max}=2$、$p=1$ 最优期望 $F_{\max}=2$)计算该实例的 $r_1$,并复述 3 正则图最坏情形的 $0.6924$ 定理与经典 Goemans–Williamson 算法的 $0.8786$。 2. 证明最优期望 $\max_{\vec{\gamma},\vec{\beta}} F_p$ 随层数 $p$ 单调不减:把 $p+1$ 层的参数取为 $p$ 层最优参数的复制、新层转角置零,说明新态与 $p$ 层态相同,从而 $\max F_{p+1}\ge\max F_p$。 > 提示:转角为零时 $e^{-i\gamma H_C}=e^{-i\beta H_B}=I$。 **练习 8【三角形图 K3 的闭式分析】**(→ [MaxCut:三角形图 $K_3$ 的完整 $p=1$ 分析](#k3-example)) 1. 由逐边公式写出 $K_3$ 的 $H_C$,并说明为什么 $C_{\max}=2$(奇圈不存在使三条边全部切断的赋值)。 2. 用内积 $\langle a|s\rangle$、$\langle b|s\rangle$ 验证初态分解 $|s\rangle=\frac{1}{2}|a\rangle+\frac{\sqrt{3}}{2}|b\rangle$。 3. 解混合层矩阵 $\begin{pmatrix}0&\sqrt{3}\\ \sqrt{3}&2\end{pmatrix}$ 的本征值并验证 $|s\rangle$ 是本征值 $3$ 的本征矢;再在子流形 $\beta=\frac{\gamma}{2}+\frac{\pi}{2}$ 上求 $F=\frac{30}{16}+\frac{3}{4}c-\frac{9}{8}c^2$($c=\cos 2\gamma$)的最大值,写出 $\gamma^*$、$F_{\max}$ 与 $r_1$。 > 提示:本征值解 $\lambda^2-2\lambda-3=0$;对 $c\in[-1,1]$ 求导 $\frac{dF}{dc}=\frac{3}{4}-\frac{9}{4}c$,极值点 $c=\frac{1}{3}$。 --- **参考文献:** 1. Farhi, E., Goldstone, J., & Gutmann, S. (2014). *A quantum approximate optimization algorithm.* arXiv:1411.4028. 2. Farhi, E., & Harrow, A. W. (2016). *Quantum supremacy through the quantum approximate optimization algorithm.* arXiv:1602.07674. 3. Basso, J., Farhi, E., Marwaha, K., Villalonga, B., & Zhou, L. (2021). *The quantum alternating operator ansatz with Grover operators.* arXiv:2108.06811. 4. Blekos, K., et al. (2024). *A review on quantum approximate optimization algorithm and its variants.* Physics Reports, 1068, 1-66. --- > 返回目录:[量子计算算法教程系列](https://chenzhaoyun.com/index.php/archives/54/)