第 11 课 · Simon 算法与 Abel 隐藏子群——统一视角 · 模块二:算法主线

统一框架:隐藏子群问题

  • 命题框:有限 Abel 群 $G = \mathbb{Z}_{N_1}\times\cdots\times\mathbb{Z}_{N_m}$,$|G| = N_1\cdots N_m$;承诺 $f(x)=f(y) \iff x-y \in H$;任务:输出 $H$ 的一组生成元(至多 $\lfloor\log_2|G|\rfloor$ 个)
  • 推导/演算步骤:
    1. 陪集划分:$g+H = \{g+h : h\in H\}$;两个陪集要么相同要么不相交 → $G$ 被分成 $|G|/|H|$ 个陪集、各含 $|H|$ 元
    2. 演算(教材 §5.5 实例):$G = \mathbb{Z}_{12}$、$H = \langle 4\rangle = \{0,4,8\}$ → $12/3 = 4$ 个陪集 $\{0,4,8\}$、$\{1,5,9\}$、$\{2,6,10\}$、$\{3,7,11\}$;4 陪集 $\times$ 3 元 $= 12 = |G|$ ✓
    3. 生成元个数:每添一个新元素、生成子群的阶至少翻倍 → $\le \lfloor\log_2 12\rfloor = 3$ 个(本例 $H$ 由 1 个生成元 4 生成)
    4. oracle 模型:$U_f|x\rangle|z\rangle = |x\rangle|z\oplus f(x)\rangle$,一次调用记一次查询
    5. 承诺两个方向缺一不可:"$\Leftarrow$" = 陪集上常值;"$\Rightarrow$" = 不同陪集不同值——若失效,测量后第一寄存器坍缩成两个陪集的叠加,后续傅里叶分析崩塌
  • 结果框:Simon $= G = \mathbb{Z}_2^n$、$H = \{0,s\}$ 的特例;统一承诺吞下一整族问题
类型definition-derivation(转场页——把承诺当定义)