9.9
Shor 算法思想
因数分解 → 求周期 → 用 QFT 读周期:三级跳的每一步都手算 N = 15 的例子;多项式对亚指数的量级差距,正悬在 RSA 头顶。
建议先掌握
学完本节你应该能
- 复述完整链条:分解 N ⇒ 求 a^x mod N 的周期 r ⇒ 由 gcd(a^{r/2} ± 1, N) 取出因子
- 用 N = 15、a = 7 手算全流程,验证每一环
- 解释 QFT 为什么能把「周期」变成「可测的峰」:周期叠加 → 干涉集中
- 对比量子 O((log N)³) 与经典亚指数复杂度,说清对 RSA 的现实威胁与时间表
Grover 的结尾指了条路:要指数加速,得找有结构的问题。 1994 年 Peter Shor 找到了那个问题——大数因数分解。 它的结构是一种隐藏的周期性,而「用干涉找周期」, 从双缝实验起就是量子力学的看家本领。 这一节不深入数论证明,但把整条逻辑链和量子部分算透。
问题开门:一道乘法容易、除法要命的算术题
,口算。反过来「15 = ? × ?」也不难。 但把数字换成 617 位(2048 比特):两个千位大素数相乘,电脑毫秒级完成; 从乘积反推两个因子,用已知最快的经典算法(数域筛), 需要的时间量级是
——亚指数:比多项式糟得多。对 2048 位的 , 今天全球算力加起来也要以千年计。RSA 公钥密码的安全性正是押在这条单行道上: 公钥里明晃晃写着 ,谁能分解它谁就能读一切密文。
第一级跳:分解 ⇒ 求周期(经典数论,只用结论)
Shor 的第一步是把问题改写。随便挑一个与 互素的 ,考察模幂函数
它必然是周期的:,最小正周期 叫 的阶。 数论给出一座桥(陈述不证):
若 是偶数,且 ,则 与 给出 的非平凡因子。
直觉一句话: 意味着 —— 整除这个乘积却(在条件下)不整除任一因子, 所以 的素因子被拆开分给了两边,用 (辗转相除,快得很)各领回一个。 随机选 时条件以至少 的概率满足,不满足就换个 重来。
手算 ,取 :
周期 ,偶数,且 。于是
,成功。整个算法里唯一困难的步骤只剩:求周期 。 经典地求周期不比直接分解便宜(要把 算到上万亿步才见一个循环); 量子力学接手的正是这一步。
第二级跳:把周期装进叠加态
照 DJ 的方子开场:第一寄存器( 个 qubit,)打满 , 对每个 并行算模幂,写入第二寄存器:
现在测量第二寄存器(也可以不测,只是讲解方便),得到某个值 。 第一寄存器随之塌缩到所有给出该值的 的等权叠加—— 而这些 恰好构成一个等差数列 :
周期已经刻进态里,但直接测量只会随机吐出一个 —— 随机起点 把周期信息搅浑了(每轮重跑 都不同)。老问题: 装进去的信息取不出来。老答案:干涉。这次的干涉机器是量子傅里叶变换。
第三级跳:QFT 把周期变成峰
量子傅里叶变换(QFT)是 DJ 里那排 的豪华版——把「按位相位」升级为「连续相位」:
( 的相位只有 ;QFT 的相位在单位圆上取 个刻度。 它可用 个门实现—— 加受控相位旋转,本节不展开线路。)
QFT 之后测量:为什么峰落在 Q/r 的整数倍上进阶~9 min
第 1 步:对周期态作 QFT。 把 代入定义:
第 2 步:把随机起点拆出去。 提出因子 —— 它只贡献相位,模方里消失:讨厌的 就此退场。测得 的概率
第 3 步:看几何级数何时相长。 括号里是公比 的等比数列。
- 若 恰为整数,即 :每项都是 1,和为 , ——尖峰;
- 否则相位在单位圆上转圈,首尾相接近乎抵消,。
个尖峰均匀立在 处,总概率约 1。 ( 不整除 时峰略有宽度、位置取最近整数,结论不变——这正是要求 的原因:峰宽比峰距小得多。)
第 4 步:从读数反解 。 测得某个 ,即
左边是已知的读数,右边是待求的分数。用连分数展开找出分母不超过 的 最佳有理逼近,即得 的候选( 与 不互素时得到 的因子, 重跑一两次取最小公倍数即可)。代回第一级跳的 ,分解完成。
微型示例核对(,取 ):峰应在 。 比如测得 :,连分数给 ,。✓
物理图像
为什么这是干涉的胜利。 对比三部曲的三次「取不出来」: 并行算出的 个函数值取不出(DJ 用 干涉取出奇偶性), 目标振幅太小取不出(Grover 用反复干涉滚雪球), 周期被随机起点掩盖取不出(Shor 用 QFT 干涉滤掉起点、放大周期)。 QFT 干的事和光栅衍射一模一样:狭缝按周期 排列, 远场亮纹就出现在倒格点 的整数倍上—— Shor 算法是在数论里做了一次衍射实验。
数学形式
复杂度对账( 为位数):
:量子约 量级的门操作(逻辑层面), 经典约 次运算。多项式对亚指数—— 这不是加速,是换了物种。
本节关键公式
归约链
分解 → 求周期 → 最大公约数;仅中间一步需要量子
QFT
H^{⊗n} 的连续相位版;O(t²) 个门可实现
峰位置
周期叠加经 QFT 干涉;随机起点 x₀ 只留相位、不进概率
复杂度对比
多项式 vs 亚指数:对 RSA 是原理性威胁
自测共 4 题
- 1.
N = 21,取 a = 2。函数 2^x mod 21 的周期 r 是多少?(逐次平方:2, 4, 8, 16, …)
允许 0% 相对误差 - 2.
Shor 算法中,量子计算机真正负责的是哪一步?
- 3.
QFT 之前若直接测量第一寄存器(处于周期叠加 Σ∣x₀ + jr⟩),会得到什么?
- 4.
关于 Shor 算法对密码学的影响,正确的是?(多选)
多选题
接下来
Shor 需要万亿级的门操作接连不出错,而真实的 qubit 娇气得很: 门误差百分之一都算优秀,放着不动也会悄悄漂移。 经典计算机靠冗余备份纠错,可是量子态不可克隆(9.5 节)、 一测就塌(9.1 节)——还怎么备份、怎么发现错误? 下一节是本章压轴:量子纠错。它的答案漂亮得出人意料, 而且正是这章所有概念——纠缠、测量、稳定的关联——的一次总集合。
全站第 73 / 106 节 · 用 ← → 翻页