4.4 VQE 与 QAOA:近期设备上的变分算法


4.4 VQE 与 QAOA:近期设备上的变分算法

本节摘要:VQE 与 QAOA 代表量子算法的另一路线:不追求一次读出精确答案,而是让量子设备反复制备带参数的试探态、测量能量或期望值,把"该转多少角度"的决定权交给经典优化器。线路浅、对噪声宽容、当下几十比特设备就能跑——代价是精度受限且不再有复杂度保证。本节讲清两者的共同骨架、各自分工,以及它们与 Grover 的结构亲缘。

为什么需要一条务实路线

前三个算法有个共同的奢侈前提:线路要深、门要准。DJ 只几十个门还好;Grover 要嵌套多受控门;Shor 的模乘电路动辄上万门,还必须叠上纠错。而 2019 年以来的设备(所谓 NISQ,含噪声中等规模量子)单门错误率万分之几、相干时间百微秒量级,深度超过几百层的线路基本是在给噪声打工。

变分算法的应对思路:把算法拆成量子制备、经典决策两层。量子侧只跑浅线路,负责制造经典模拟不动的态并测出期望值;经典侧拿着测量结果调参数。两个世界各自干擅长的事,深线路的活儿交给循环去逼近,而不是一次性硬算。

VQE:为分子基态估能量

VQE(变分量子特征值求解器)解决的问题是量子化学的刚需:给定分子哈密顿量 H,估计基态能量 E₀——能量越低结构越稳,算准它等于算准分子的性格。经典方法(如变分法配合行列式展开)在强关联体系上指数爆炸,而模拟量子系统的行为正是量子设备的天赋(还记得第一章费曼的初衷吗)。

依据是变分原理:对任何试探态 |ψ(θ)⟩,能量期望 E(θ) = ⟨ψ(θ)|H|ψ(θ)⟩ 永远不低于真基态能量。于是只需要一枚"下界探测器":

循环: ① 量子:制备试探态 |ψ(θ)⟩(参数化线路 ansatz,深度固定且浅) ② 量子:测量各泡利项的期望值(H 拆成可测项的加权和) ③ 经典:拼出 E(θ),交给优化器(梯度下降类)更新 θ ④ 直到 E 收敛 → 输出基态能量的上界估计

试探态设计的学问在②里被低估了:H 要拆成许多泡利串(如 Z₀Z₁、X₀Y₁Z₂)分别测量,项数随分子尺度增长——这项"测量开销"是 VQE 实际跑起来最重的成本之一,也是当前研究的主战场。

QAOA:组合优化的层叠干涉

QAOA(量子近似优化算法)瞄准的是组合优化:给定目标 C(比如 MaxCut 图切割),求使 C 最优的输入串。它的线路结构直接脱胎于 Grover 的几何:

p 层重复,每层两个操作、两组参数 (γk, βk): exp(−i γk C) —— 按问题哈密顿量"演化",给好答案与坏答案不同的相位 exp(−i βk B) —— 混合操作(每比特的 X 旋转),防止过早坍缩 末端测量,统计里高概率出现近似最优解 层数 p=1 时与 Grover 的"相位翻转+扩散"几乎同构; Grover 把角度定为几何最优,QAOA 把角度交给经典优化器去调。

这就是 4.2 节预告的亲缘:同一套干涉几何,Grover 精确解角度,QAOA 经典搜索角度。p 增大表达能力变强,线路也变深——工程上通常在小 p(个位数)里找甜点。QAOA 不保证全局最优,它卖的是"在某些图结构上以高概率拿到好近似解",这正是物流、排班、金融组合类问题的实用定义。

双子星对比表

维度 VQE QAOA
目标问题 量子化学/材料基态能量 组合优化近似解
核心量 能量期望 E(θ) 目标函数期望 ⟨C⟩
试探态来源 化学启发 ansatz(如 UCC 类) 问题演化 + 混合层交替
参数角色 拟合态的形状 控制相位与混合的节奏
主要开销 测量项数(哈密顿拆分) 层数 p 与图度数
主要风险 贫血高原(优化面平坦) 表达力不足或线路超深

一段可运行的迷你 VQE

用 H₂ 分子的两比特缩并模型走一遍全流程(参数与哈密顿取标准教材值):

import numpy as np from scipy.optimize import minimize from qiskit import QuantumCircuit from qiskit.quantum_info import Statevector # H2 缩并哈密顿(单位:哈特里),拆成泡利串加权和 coeff = [(-1.0523, "II"), (0.3979, "IZ"), (-0.3979, "ZI"), (-0.0113, "ZZ"), (0.1809, "XX")] def energy(theta): qc = QuantumCircuit(2) qc.ry(theta[0], 0) # ansatz:一层参数化旋转(真实 VQE 更深) qc.cx(0, 1) qc.ry(theta[1], 1) state = Statevector(qc).data E = 0.0 for c, label in coeff: # 泡利串期望值(演示中用态矢量直接算;真机改为逐项测量统计) op = pauli_matrix(label) E += c * np.real(state.conj() @ (op @ state)) return E result = minimize(energy, x0=[0.0, 0.0], method="COBYLA") print(result.fun) # ≈ -1.857:与 H₂ 基态能量的文献缩并值一致

这段代码在真机上改写的地方只有一处:泡利串期望值不再用态矢量点乘,而是对同一批参数反复制备、按泡利基旋转后统计计数。量子负责"态与计数",经典负责"拼能量、调参数"——骨架与公式完全一致。

清醒看待变分路线

对变分算法要同时记住两句话。正面:它是当下唯一在真实硬件上有产出(分子能量基准、小规模优化对比实验)的算法家族,也是连接量子硬件与化学、金融行业的现实桥梁。反面:没有任何变分算法被证明在具体任务上超越最强经典算法;经典模拟器(张量网络)在中小规模上经常赢,"贫血高原"等优化病理也没有通用药方。把它理解为"量子硬件的试飞科目"比"颠覆计算"更接近事实——真正改变复杂度版图的仍是 Grover 与 Shor 那条线,等纠错到位。

本节要点回顾

  • 变分 = 量子制备 + 经典优化:用浅线路循环逼近,换取对噪声的宽容。
  • VQE 靠变分原理:任何试探态的能量期望都是基态上界,优化器一路下压。
  • QAOA 是 Grover 的变分亲戚:相位层 + 混合层的角度交给经典搜索。
  • 两句话都要记:当下最可跑的是它;复杂度保证仍在前三个算法那边。

算法章到此收官。接下来把镜头从数学转向物理:这些线路终归要在超导电路、离子阱里跑起来,硬件给了什么约束、又如何用纠错与软件生态兜底——第 5 章。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U