- 主信息:$Q(r) = r + \sqrt{N/r}$,两项同阶处取最优 → $r = N^{1/3}$
- 命题框(算法骨架):Brassard–Høyer–Tapp 1997——随机抽 $r$ 个输入建表查重;在其余 $N-r$ 个输入上 Grover 搜索,标记条件"$f(j)$ 出现在表中"
- 演算步骤:
- 关键计数:表内无碰撞时,$r$ 个已见输出的"另一半"原像全在表外 → 表外恰有 $r$ 个标记项,标记比例 $p = r/(N-r) = \Theta(r/N)$
- Grover 成本:$O(\sqrt{(N-r)/r}) = O(\sqrt{N/r})$
- 平衡:令两项同阶 $r = \sqrt{N/r}$ → $r^3 = N$ → $r = N^{1/3}$;代回 $Q = N^{1/3} + N^{1/3} = O(N^{1/3})$
- 代数值:$N = 10^6$ → $r = 100$:建表 100 次 + Grover $\sqrt{10^6/10^2} = 100$ 次 = 合计 200 次($= 2N^{1/3}$,对照经典生日 $1.18 \times 10^3$)✓
- 失效账(ED 唯一碰撞):样本含端点的概率仅 $\Theta(2r/N)$;反复建表总账 $(N/2r) \cdot r + \sqrt{N} = N/2 + \sqrt{N} = \Omega(N)$——第一项与 $r$ 无关,小表的好处被反复建表正好抵消
- 结果框:引擎 = 二对一承诺供给的 $r$ 个标记项;无承诺时需要"不丢已查数据"的机制 → 引出量子行走
类型worked-example