测量与执行模型:量子程序是怎么「跑」起来的
6.1 一次运行只出一个结果
本章先讨论「制备 → 门操作 → 末端 Z 基测量」的常见模型:一次执行给出一个 0/1 串,而不是整个概率分布。比如理想贝尔态线路一次得到 00 或 11,其中之一。
估计结果分布时,通常这样运行:
每个 shot 都重新初始化、制备并执行线路,再测量一次;统计多个 shot 的结果。
这不是对同一份测后态不停读取。贝尔态第一次若测到 00,在没有变化的理想条件下继续测同一态仍是 00;只有重新制备贝尔态,才重新获得 00/11 各半的样本。
运行 1000 shots,预期大约 500 次 00、500 次 11,实际计数会随机起伏;理想情况下 01、10 概率严格为 0,真实硬件噪声可让它们出现。shots 数由所需精度、成功概率和成本决定,不是每个任务都必须运行上千次。
6.2 量子程序的标准执行流程
| 步骤 | 做什么 | 经典世界的类比 |
|---|---|---|
| 1. 初始化 | 所有量子比特置为 |0⟩ | 程序启动,内存清零 |
| 2. 制备输入态 | 按任务施加 H 等门,简单输入也可能无需额外操作 | 准备输入数据 |
| 3. 执行量子线路 | 按顺序施加一串量子门 | 执行指令序列 |
| 4. 干涉 | 门操作中的概率幅组合,不是门以外的额外硬件步骤 | 算法核心逻辑 |
| 5. 测量 | 按所选基读出本次结果 | 输出样本 |
| 6. 重复与统计 | 按任务精度选择 shots,重复制备并统计 | 多次采样、蒙特卡洛 |
| 7. 经典后处理 | 用经典计算机分析结果 | 结果解析、报表 |
6.3 量子计算机是「协处理器」,不是独立电脑
这里有个对 IT 人特别友好的类比:量子处理器(QPU)和 GPU 很像,是一种协处理器。
- 用 GPU 时:CPU 是主机(host),负责整体程序逻辑;把适合并行的计算任务(kernel)发给 GPU(device),算完再把结果拿回来。
- 用 QPU 时:经典计算机是主机,负责整体逻辑;把量子线路发给 QPU 执行,拿回测量统计结果,再由经典计算机继续处理。
而且 QPU 比 GPU 更「依赖主机」:
- QPU 的量子寄存器受相干时间和误差限制,不能照搬普通 RAM 的拷贝与读取接口;量子存储并非原理上不存在,纠错也可延长信息保存时间;
- 编译、优化、调度与纠错解码需要经典系统,部分实时控制由专用经典硬件承担;
- 许多研究中的算法采用「经典 + 量子」反复迭代的混合结构,不能只看 QPU 一段线路的耗时。
6.4 混合算法:经典和量子的循环协作
VQE、QAOA(第 7 章介绍)是常见的变分混合算法研究方向,流程像机器学习的训练循环:
- 经典计算机给出一组参数(比如量子门的旋转角度);
- QPU 用这组参数运行量子线路,测量得到结果;
- 经典计算机根据结果计算「损失函数」,用优化器调整参数;
- 回到第 1 步,直到满足停止条件或耗尽预算;收敛不保证全局最优,也不保证优于经典方法。
如果你接触过 AI 训练,可以借用「参数 → 前向估计 → 损失 → 更新」的框架,但不要直接理解成普通神经网络反向传播:硬件不会输出所有中间概率幅。优化器可不使用梯度;使用参数移位等方法估计梯度时,通常还要对不同参数运行额外线路并采样。
6.5 结果为什么会「不准」
在真实量子硬件上,你得到的统计结果会偏离理论值,原因包括:
- 门错误:每个量子门都有一点点执行误差;
- 退相干:程序运行时间越长,量子态被环境破坏得越多;
- 读出错误:测量本身也会读错;
- 串扰:操作一个比特时会意外影响到相邻比特。
有限 shots 还会带来统计波动,这与上述硬件偏差要分开。增加 shots 可减少采样不确定性,却不能自动消除门错误、读出偏差或设备漂移。误差缓解用额外实验和后处理尝试降低偏差,可能显著增加采样成本,也不等于量子纠错。
6.6 算一笔 shots 的账:频率、误差条与期望值
假设每次独立同分布,某结果的真实概率为 p,N 次中出现 k 次,则估计值 p̂ = k/N。大样本、概率不太接近 0 或 1 时,频率的标准误差约为 √[p(1-p)/N],可用 p̂ 代替未知 p 作粗略估计。
以真实 p = 0.5 为例,反复开展各含 N 次的采样实验,约 95% 的实验所得频率会落在 0.5 ± 1.96√[0.5×0.5/N] 的范围内:
- 1000 shots:约 0.5 ± 0.031,即 ±3.1 个百分点;
- 10000 shots:约 0.5 ± 0.0098,即约 ±1 个百分点。
这是正态近似,不是「每次都保证在区间内」。误差大体按 1/√N 缩小,想把统计误差减半通常要约四倍 shots。若设备真实输出已被噪声偏到 0.55,更多 shots 只会更准确地估出这个有偏结果。
算法也常要一个期望值而非完整柱状图。把测 Z 的 0 记作 +1、1 记作 -1,N = n0 + n1 次采样给出 ⟨Z⟩ 的估计值 (n0-n1)/N。例如 600 次 0、400 次 1,估计为 0.2。变分算法就是把这类测量统计量交给经典优化器。
本章小结
- 每个 shot 是一次重复制备和执行;估计分布常需多个 shots,但次数没有统一下限。
- QPU 是协处理器,经典主机负责整体流程;量子存储受工程与读写规则限制,而非原理不存在。
- 变分混合循环类似训练,但梯度往往需额外采样,收敛不保证全局最优。
- 增加 shots 减少统计波动,不自动消除系统偏差;误差缓解和纠错也不是同一回事。
本章自测(5 题)
本章共 16 道练习题(含多选与计算题),去微我刷题完整练习 ›