跳到主要内容
Sandbox Physics

Q047 · 标记 / 反射 / 停止

Grover 振幅放大

再做一轮,答案反而更难找到? 会。每做一次 oracle 加反射,量子态就朝目标转过一个固定角度。超过最佳轮数就转过了头,成功概率反而下降。什么时候停,很关键。

选一个小搜索空间,标出目标条目,再一轮一轮往前走。跟着相位 oracle 和均值反射,看概率流向目标,又从目标流走。对读出采样,根据测到的成功率决定在哪一轮停下。

交互模型Grover 振幅放大
读出前目标概率—\text{—}
每试次电路 oracle 查询—\text{—}
证据与查询次数

模拟测量记录

寻找停止点

采集后查看记录。

彩色柱和点来自记录,灰色细标记是计入当前误差设置的模型。误差棒是输出比例或成功率的逐点 95% Wilson 区间。它不是相位置信区间,也不是同时置信带;看着数据决定何时停止时,它也不再有保证。

记录成功率与 95% Wilson 范围

—\text{—}

已采样轮数中成功率最高的一轮

—\text{—}

全部电路查询 / 结果验证查询

—\text{—}

成功率最高的那一轮只是对这次有限扫描的描述,不是经过认证的最优值。每个输出都要用已知的教学 oracle 检验,这会多算一次验证查询。这里没有演示如何用真实数据构造 oracle,也没有展示硬件优势。

从可导出的试次重算
轮数试次成功电路 / 验证查询
最近 12 次;CSV 保留全部试次
试次设置报告比特串整数电路查询

物理教程

振幅放大需要合适的停止点

背景量子态一开始在小搜索空间的每个条目上振幅相等。Oracle 改变目标条目的相位,第二个酉操作再把振幅关于均匀态反射。

为什么值得理解算法只是把概率挪来挪去,不会凭空多出概率。状态转过最有利的方向之后,再重复同样的操作,成功率可能下降。

先抓重点

核心问题
测过的轮数里,哪一轮实测成功率最高?这次扫描一共用了多少次查询?
一句话直觉
单靠 oracle 不改变任何概率,改变概率的是反射里的干涉。两步合起来让理想状态不停地转,停在哪一轮就很要紧。

核心数学模型

均匀制备

∣s⟩=1N∑x=0N−1∣x⟩,N=2n|s\rangle=\frac{1}{\sqrt N}\sum_{x=0}^{N-1}|x\rangle,\quad N=2^n

目标是从选定编号开始的一串连续条目,排到末尾就绕回开头。模拟器事先知道它们。

相位 oracle

OϵO∣x⟩={ei(π+ϵO)∣x⟩x∈M∣x⟩x∉MO_{\epsilon_O}|x\rangle=\begin{cases}e^{i(\pi+\epsilon_O)}|x\rangle&x\in\mathcal M\\|x\rangle&x\notin\mathcal M\end{cases}

相位偏移以度输入,计算时换成弧度。这种相干误差和随机的比特翻转不是一回事。

含相位误差的反射

DϵD=−I+(1−ei(π+ϵD))∣s⟩⟨s∣D_{\epsilon_D}=-I+\bigl(1-e^{i(\pi+\epsilon_D)}\bigr)|s\rangle\langle s|

前面的整体负号让无误差的算符正好是常见的均值反射。有误差时,算符仍然是酉的。

完整电路

∣ψk⟩=(DϵDOϵO)k∣s⟩|\psi_k\rangle=(D_{\epsilon_D}O_{\epsilon_O})^k|s\rangle

每个复振幅都逐步更新。可以查看任意一次 oracle 或反射刚做完时的状态。

理想情况的旋转公式

PM(k)=sin⁡2((2k+1)α),sin⁡2α=M/NP_{\mathcal M}(k)=\sin^2((2k+1)\alpha),\quad\sin^2\alpha=M/N

这个旋转公式只在相位理想、还没有读出误差时成立。它用来独立对照,状态向量不是用它算的。

实测成功率与电路成本

P^M(k)=Nsuccess,k/Nshots,k,CO=kNshots,k\widehat P_{\mathcal M}(k)=N_{\mathrm{success},k}/N_{\mathrm{shots},k},\quad C_O=kN_{\mathrm{shots},k}

每个报告的输出还要拿目标集合验证一次,这次额外查询单独记在验证查询里。

常见难点

Oracle 本身也有成本

容易误解模拟器在真实数据库里找出了一个秘密。

正确理解目标集合是事先交给教学 oracle 的。构造真实的 oracle 可能很昂贵,这个模型没有考虑这部分成本。

负振幅不是负概率

容易误解箭头朝负方向,就表示概率是负的。

正确理解箭头方向是复相位,长度是振幅的模。概率是模的平方,永远不会是负的。

动画快不等于量子优势

容易误解浏览器动画很快,所以证明了量子优势。

正确理解这里只是一个小规模的经典模拟。查询计数描述的是这个模型,不是真实量子硬件上的测量,也不是和经典搜索的完整对比。

动手实验

  1. 01

    先看相位,再看概率

    选择尚未放大,设为一轮,查看 oracle 那一步。

    你会看到: 目标振幅改变符号,此时概率还没有上升。
  2. 02

    停在峰值,再转过头

    比较在峰值附近停下与转过了头。

    你会看到: 同样的目标,多做几轮后反而可能难找得多。
  3. 03

    根据数据选轮数

    采集完整的轮数扫描。

    你会看到: 成功比例会有涨落。观测到的最高那一轮只描述这批有限数据,不保证就是最优轮数。
  4. 04

    加入误差

    分别尝试不完美 oracle 与读出翻转。

    你会看到: 相干相位误差在演化过程中改变振幅;读出翻转则在演化结束后改动报告的比特串。
反馈这个页面有错误、看不明白,或者缺了什么?告诉我们
反馈类型

提交时会附带本页地址、Lab ID、网站语言和设备类型。请不要填写个人信息。反馈最多保存 12 个月。隐私政策