均匀制备
目标是从选定编号开始的一串连续条目,排到末尾就绕回开头。模拟器事先知道它们。
Q047 · 标记 / 反射 / 停止
再做一轮,答案反而更难找到? 会。每做一次 oracle 加反射,量子态就朝目标转过一个固定角度。超过最佳轮数就转过了头,成功概率反而下降。什么时候停,很关键。
选一个小搜索空间,标出目标条目,再一轮一轮往前走。跟着相位 oracle 和均值反射,看概率流向目标,又从目标流走。对读出采样,根据测到的成功率决定在哪一轮停下。
模拟测量记录
采集后查看记录。
彩色柱和点来自记录,灰色细标记是计入当前误差设置的模型。误差棒是输出比例或成功率的逐点 95% Wilson 区间。它不是相位置信区间,也不是同时置信带;看着数据决定何时停止时,它也不再有保证。
记录成功率与 95% Wilson 范围
已采样轮数中成功率最高的一轮
全部电路查询 / 结果验证查询
成功率最高的那一轮只是对这次有限扫描的描述,不是经过认证的最优值。每个输出都要用已知的教学 oracle 检验,这会多算一次验证查询。这里没有演示如何用真实数据构造 oracle,也没有展示硬件优势。
| 轮数 | 试次 | 成功 | 电路 / 验证查询 |
|---|
| 试次 | 设置 | 报告比特串 | 整数 | 电路查询 |
|---|
物理教程
背景量子态一开始在小搜索空间的每个条目上振幅相等。Oracle 改变目标条目的相位,第二个酉操作再把振幅关于均匀态反射。
为什么值得理解算法只是把概率挪来挪去,不会凭空多出概率。状态转过最有利的方向之后,再重复同样的操作,成功率可能下降。
先抓重点
目标是从选定编号开始的一串连续条目,排到末尾就绕回开头。模拟器事先知道它们。
相位偏移以度输入,计算时换成弧度。这种相干误差和随机的比特翻转不是一回事。
前面的整体负号让无误差的算符正好是常见的均值反射。有误差时,算符仍然是酉的。
每个复振幅都逐步更新。可以查看任意一次 oracle 或反射刚做完时的状态。
这个旋转公式只在相位理想、还没有读出误差时成立。它用来独立对照,状态向量不是用它算的。
每个报告的输出还要拿目标集合验证一次,这次额外查询单独记在验证查询里。
容易误解模拟器在真实数据库里找出了一个秘密。
正确理解目标集合是事先交给教学 oracle 的。构造真实的 oracle 可能很昂贵,这个模型没有考虑这部分成本。
容易误解箭头朝负方向,就表示概率是负的。
正确理解箭头方向是复相位,长度是振幅的模。概率是模的平方,永远不会是负的。
容易误解浏览器动画很快,所以证明了量子优势。
正确理解这里只是一个小规模的经典模拟。查询计数描述的是这个模型,不是真实量子硬件上的测量,也不是和经典搜索的完整对比。
选择尚未放大,设为一轮,查看 oracle 那一步。
你会看到: 目标振幅改变符号,此时概率还没有上升。比较在峰值附近停下与转过了头。
你会看到: 同样的目标,多做几轮后反而可能难找得多。采集完整的轮数扫描。
你会看到: 成功比例会有涨落。观测到的最高那一轮只描述这批有限数据,不保证就是最优轮数。分别尝试不完美 oracle 与读出翻转。
你会看到: 相干相位误差在演化过程中改变振幅;读出翻转则在演化结束后改动报告的比特串。