Shor 离散对数算法告诉我们:有限域乘法群中的单个离散对数问题——给定 ,求 ——可以在 时间内解决。但是,一旦两个指数通过加法耦合在一起,问题会重新变难。本词条研究有限域 上的指数同余方程 (exponential congruence)

其中 已知,要求的是指数对 。本词条将完整推导 van Dam 与 Shparlinski 的量子算法:先用乘法特征和证明”解一定出现在一个较窄的矩形条带中”,再把 Shor 离散对数包装成一个可相干调用的判定器,交给 Grover 搜索振幅放大去找到解。最终的最坏情形运行时间为 ,相对论文中给出的经典 算法,在 的指数幂上获得三次方改进();但请注意,它仍然不是输入长度 的多项式时间算法。

阅读本词条需要:有限域与循环群的基本概念,量子傅里叶变换相位估计(作为 Shor 算法的内部,不需要重新推导),以及 Grover 搜索与振幅放大的结论。全课约定 隐藏 的多项式因子, 在比较时忽略 因子。

1. 问题背景:为什么两个指数会变难

1.1 从离散对数到指数同余

先回忆离散对数问题。设 元有限域的乘法群(它是 阶循环群,这是有限域的标准事实), 给定。离散对数问题是:给定 ,求 使得 。Shor 算法把它化为周期查找,配合量子傅里叶采样在 时间内求解——这是量子计算最著名的指数级加速之一。

现在看指数同余方程 。如果两个未知数中有一个被固定,问题立刻退化:

  • 固定 ,移项得 ,这是一个以 为底的离散对数;
  • 固定 ,移项得 ,这是一个以 为底的离散对数。

也就是说,“单指数”的版本在量子计算机上是容易的。困难来自两个指数的真正耦合:加法 把两个循环群的乘法结构混在一起。量子傅里叶采样擅长处理的是”周期函数""阿贝尔群结构”,而映射 的等值集合 一般不构成群,也不具有可以直接傅里叶采样的周期结构。因此,既有的 HSP 机器无法直接吞下这个问题。

这个问题为什么值得研究?至少有三层动机。第一,它是检验”量子加速边界”的天然试金石:单离散对数有多项式时间量子算法,而稍加耦合之后,最好的量子算法仍然要花费关于 的指数时间——指数幂从经典的 降到 ,是一个实质但不彻底的改进,画出了当前技术的边界。第二,指数同余与某些半直积群上的隐子群问题 (hidden subgroup problem, HSP) 密切相关:如果能以 时间求解此类同余,就能为相应的 HSP 提供新的多项式时间量子算法;van Dam–Shparlinski 的论文明确讨论了这层联系,同时也明确指出他们的结果没有解决那个 HSP 所需的多项式时间子程序——这是本词条第 7 节要再次强调的保留条款。第三,指数同余的解数估计本身是解析数论中的经典问题,乘法特征和(Gauss 和、Weil 界一路的技术)在其中扮演核心角色;本词条可以看到这套经典工具如何与 Grover 搜索拼接成量子算法。

1.2 经典算法的瓶颈

经典计算机如何处理这个问题?朴素的办法是穷举:遍历所有候选的 ,对每个 计算 ,然后判断 是否落在子群 中、若落在其中则求出离散对数 。瓶颈在第二步:经典模型下没有多项式时间的离散对数算法。用通用群算法(如 Shanks 的大步小步法)在以 为底、阶为 的群中做一次成员判定兼离散对数,需要 次群运算,最坏情形 时单次检查的代价就是 。这个 不是偶然的:在只使用群运算黑箱的通用群模型中,离散对数有 的下界,因此大步小步在通用意义下已是最优——除非利用 的具体表示(如指数演减法),否则经典每次候选检查都甩不掉这个平方根因子。

把”候选数 单次离散对数代价”与下文将要推导的数论引理结合起来,van Dam–Shparlinski 给出的经典算法最坏时间为 。这个 本身就是一个参数平衡的结果:候选集合的宽度随 增大而变窄,而单次判定的 增大而变贵,最坏情形出现在两者顶住的临界点上。我们先把这个数当作经典基准记住,第 5.3 节会逐项重现它的推导,并看清量子算法的 究竟改进了哪几个因子。

1.3 算法概览

量子算法由三个部件拼接而成,每个部件各司其职:

  1. 阶查找:用 Shor 算法求出 ,把搜索范围限定为 的基本周期矩形;
  2. 特征和引理(纯数论,经典证明):证明当 不太小时,解必定出现在 轴方向宽度约为 的窄条带内,从而把搜索空间从 压缩到
  3. Grover 搜索:把”固定 、求离散对数、验证等式”做成相干预言机,在压缩后的候选集上做平方根加速搜索。

三个部件中,只有第 3 步是”搜索加速”,第 1 步是”参数确定”,而第 2 步负责完备性——保证搜索范围之外确实没有遗漏的解。这个分工在第 3 节和第 5 节会反复出现。

2. 搜索空间由元素阶决定

在乘法群 中的阶: 是使 成立的最小正整数, 同理。由循环群的基本事实,

指数函数以阶为周期:对任意整数 。因此,如果 是解,那么 的代表元也给出一个解;反过来,每个解的指数在模 、模 意义下唯一。于是我们只需考虑

称这个 的整数矩形为基本周期矩形。搜索空间的大小从”无限”变成 ,而

本身如何得到?用 Shor 的阶查找子程序(与因数分解中完全相同的部分):对乘法算子 做相位估计,以 的时间求出 ;同理求出 。这一步的代价被 吸收,后文不再计入。由于方程关于 对称(交换两组变量的角色,方程形状不变),以下不妨设

接下来是关键的一步约化。固定某个 ,方程等价于

记右端的值为 。分两种情况:

  • 属于循环子群 ,那么离散对数方程 中有唯一(因为 的阶恰好是 ,映射 在这个区间上是单射),Shor 离散对数算法可以在 时间内求出它;
  • (包括 的情形,因为 中的元素都是非零的),则这个 不可能对应任何解。

因此我们可以定义一个判定函数

每次调用 的成本关于 为多项式:一次模幂 、一次域上的线性组合、一次 Shor 离散对数、一次验证。第 4.1 节会说明如何把它做成可相干调用的量子预言机,目前先把它当作”多项式代价的黑箱判定器”。

上面的”唯一性”观察还有一个计数层面的推论,后文会反复用到:每个 至多贡献一个解。因此,对任何候选集合 ,矩形 中的解数恰好等于 中标记项的个数 。换句话说,下一节要估计的”条带中的解数” ,正是 Grover 搜索框架里”标记项个数 “的化身——第 7 节讨论多解加速时,这个对应关系会把数论估计与查询复杂度直接焊接起来。

有了 ,最朴素的量子算法是:直接在 上做 Grover 搜索,寻找使 。成本为

但这还不够好: 最坏可以大到 (例如 的生成元时),此时 ,比我们的目标 大得多(比较指数:)。要再进一步,必须利用数论结构把候选集压缩到 的真子集——这正是下一节的特征和引理。

3. 特征和与”短边必有解”引理

本节的目标:证明当 不太小时,解必然出现在 轴方向一个宽度远小于 的条带内。整条推理链是经典的解析数论,不涉及任何量子计算;它的产出是一个存在性保证,供量子搜索使用。

3.1 乘法特征与子群成员关系的代数表达

我们需要一个代数工具来”数”满足条件的 :对每个 ,要判断 是否属于子群 。解析数论处理这类”子群成员关系”的标准工具是乘法特征 (multiplicative character)

乘法特征 是从 到单位圆周 的群同态,即 。由于 阶循环群,它的全部乘法特征也构成一个 阶循环群(对偶群):取定生成元后,特征就是 ),其中 次单位根。特征满足正交关系:对

其中求和取遍全部 个乘法特征。(当 时每一项都是 ;当 时,存在某个特征 使 ,两边同乘 后求和集不变,于是和只能为 。)我们约定

现在把正交关系”升级”为子群成员关系的指标函数。设 ,并记

即子群 中的指数(由于 是整数)。商群 阶循环群。在所有乘法特征中,恰有 个在 上恒取 ——它们正是商群的全部特征(每个这样的特征只依赖于陪集 ,而 阶循环群恰有 个特征)。把这 个特征取出来,对任意 定义

这个和式就是子群成员关系的精确指标函数:若 ,则每一项 ,和为 ,除以 ;若 ,则 在商群中的像 ,和式等于商群上的正交关系 ,除以 。于是我们得到了一个完全代数的判据:

3.2 解数估计:主项与误差项

表示满足

的解 的个数,其中 是待定的条带宽度。由上节的讨论,固定 时解的个数恰为 (属于子群恰对应唯一一个 ,否则为零),因此

第二个等号只是把指标函数的定义代入并交换求和次序。现在这个双重和可以按特征分成两部分来估计。

主项:平凡特征 在所有非零元上取 ,所以内层和为 。注意 等价于 ,在 中至多发生一次( 的阶是 在一个周期内两两不同)。所以平凡特征的贡献是

其中用了 ,即 。后面的 会被最终误差项吸收,以下不再单独写出。

误差项:其余 个非平凡特征。 对每个非平凡特征 ,内层和

是一个”沿几何序列 取值”的不完全乘法特征和。解析数论对这类和有通用上界:完全和的平方根抵消(Weil 界的典型尺度)给出 量级,把截断区间补全为完全和的标准技术再付出一个 因子,合起来形如

且该界对所有非平凡 一致成立。这里我们只做定性说明: 反映的是”随机 ±1 序列求和的平方根涨落”这一普遍现象(Weil 界说明代数族特征和确实达到随机行为的尺度), 是不完全和相对于完全和的技术性损失。

最后把两部分合并。非平凡特征共有 个,每个权重 ,因此它们对 的总贡献的绝对值不超过

注意这里的要点: 这个平均因子使得误差项取决于单个特征和的最大值,而不是 个特征和的总和——所以无论 多大,误差项都保持在 的尺度。合起来我们得到解数渐近公式

公式的直观解读。 主项 正是随机模型下的期望解数:把 想象成 中的随机元素,它落在占比 的子群 中的概率是 次独立尝试的期望命中数就是 。误差项 则衡量真实序列 与随机模型的偏离——它来自乘法子群结构( 的幂)与加法平移(减 、除以 )之间的相互作用,而特征和界告诉我们:这种偏离至多是平方根量级的涨落,不会系统性地把解”排挤出”任何一段区间。

3.3 条带宽度的选取

渐近公式立刻给出一个存在性判据:只要主项压过误差项, 就是正的,条带内必有解。具体地,设误差项 中的隐含常数为 。若我们能保证

那么

条带中至少有一个解(事实上至少有主项一半那么多的解)。把上面的不等式解出 :两边乘以 ,并用 ,只需

,定义

于是我们证明了本词条的核心数论事实:

Lemma(短边引理). 设 ,其中 是充分大的绝对常数。若 ,则存在 满足 。Q.E.D.

两种互补的情形。 这个引理是否给出存在性,取决于算出来的 与实际周期 的大小关系:

  • :引理适用,前 必有解。搜索空间从 压缩到
  • :引理不适用(它不排除”前 中无解”的可能),但此时 本身就很小,完整的 个候选已经不多,可以全部交给量子搜索。此时搜索整个基本周期矩形,不会有任何遗漏。

这个步骤至关重要,值得强调:Grover 搜索只能加速”在一个已经确定的候选集合中找解”,它不能自己证明集合之外没有解。 如果候选集合选小了,Grover 找到解固然好,找不到时我们无法断定原方程无解。特征和引理负责的正是这个完备性保证:要么把解压缩进宽度为 的条带(情形 ),要么确认完整候选集本身已经足够小(情形 )。特征和界负责”无漏解”,量子搜索负责”找到见证”,两者缺一不可。

4. 量子算法

4.1 判定器 的相干实现

Grover 搜索要求预言机以相干方式工作:对叠加态 ,一次调用就要同时算出所有 ,而不能逐个测量。我们按标准的”计算—标志—相位翻转—反计算”模式实现 ,分五步:

  1. 计算 :用平方-乘算法实现可逆模幂 ,需要 次域乘法,总代价
  2. 计算 :域上的乘法、减法都是可逆运算,代价
  3. 相干离散对数:在 上运行 Shor 离散对数线路(以 为底),把所有测量推迟。线路输出一个候选对数 及工作区。关键点在于:Shor 算法的输出是可验证的——追加一个可逆比较器,计算标志比特 。若 ,Shor 算法以高概率给出正确的 ,验证通过,;若 ,任何 都无法通过验证,。因此 正是 (误差概率见下);
  4. 相位翻转:对标志比特施加受控相位(或先制备 相位反冲),实现
  5. 反计算:把第 1–3 步的线路逆向运行,清除工作区,只留下 寄存器和已注入的相位。

两点技术说明。第一,Shor 离散对数是有界误差算法,单次成功概率为常数;把它独立重复 次并取验证通过的结果,可以把每次预言机调用的错误率压到 以下,对 Grover 迭代的总影响可以忽略,代价只是 因子,被 吸收。第二,搜索区间内标记项的数目 事先未知(这正是问题的难点),因此不能用固定迭代次数的 Grover,而要用振幅放大一章中处理未知解数的版本(BBHT 式的指数增长尝试):其成本为 ,其中 是搜索区间;最坏情形 时即

4.2 整体流程

综合前面的所有部件,算法如下:

  1. 阶查找:用 Shor 算法求 。若 ,交换两组参数 的角色,使 。代价
  2. 计算条带宽度 (纯经典算术);
  3. 分情形搜索:若 ,令搜索区间 ;否则令 。以 为预言机,在 上运行 BBHT 振幅放大搜索;
  4. 输出:若搜索找到 ,再运行一次 Shor 离散对数求出 并验证 ,输出 ;若搜索宣告无标记项,输出”无解”。

正确性由两方面的论证保证:当 时,短边引理保证 中必有标记项,振幅放大以高概率找到它;当 时, 覆盖整个基本周期矩形,搜索穷尽所有候选,找到即解、找不到即无解(至多受子程序有界误差影响,可忽略)。

5. 复杂度分析

现在逐项推导两种情形下的运行时间。搜索区间大小为 ,每次预言机调用代价 ,BBHT 搜索调用 次(最坏情形),故总时间为 ,问题归结为估计

5.1 情形 A:

搜索区间是条带,,成本为

其中第二步把常数 吸收进 。这个表达式里 越小成本越高,所以我们需要 下界。由两条信息:

  • (第一条是约定,第二条是情形 A 的前提);
  • 的定义,上取整只会让它更大),即

把第一条的 与第二条相乘的方向对齐:

两边开方得 。代回成本表达式——注意 关于 递减,下界代入后得到上界:

故情形 A 的成本为 。直观地说:条带宽度 增大而变窄,而最坏情形出现在 尽量小、但又被约束 顶住的位置,解 ,此时

5.2 情形 B:

搜索区间是整个周期边,,成本为 。由情形前提 以及 的定义(注意 意味着上取整不起主导作用, 同阶):

再由约定 ,有 。于是

polylog 因子照例被吸收。故情形 B 的成本同样是

两种分支合起来:算法在 时间内找到一组解 ,或确定整个基本周期矩形中无解。 这就是 van Dam–Shparlinski 的最坏情形量子界。

5.3 与经典算法的对比:三次方改进的来源

为了看清量子改进究竟来自哪里,我们用同一副骨架重建论文中的经典 算法。骨架完全相同:阶已知(经典可用因数分解 后逐个检验,代价被吸收)、短边引理相同、情形划分相同。唯一的差别在判定器 的代价:经典模型下,用 Shanks 大步小步法做子群成员判定兼离散对数需要 次群运算;而且经典没有振幅放大,搜索是逐项扫描。于是:

  • 情形 A:扫描 个候选,每个代价 ,总成本

其中最后一步同样用了情形 A 导出的

  • 情形 B:扫描 个候选,总成本 。利用 给出的 (即 ):

对照量子版本,改进来自两个因子的叠加:搜索从逐项扫描 变为振幅放大 (平方根),单次判定从经典大步小步的 变为 Shor 算法的 (指数级)。两种情形中成本表达式的”主结构”——情形 A 的 与情形 B 的 ——被替换为 ,最终在 的指数上体现为

指数幂的三次方改进。必须强调的是这个改进的限度:输入 个比特表示,而 关于输入长度仍是指数时间。这与 Shor 算法对单个离散对数的多项式时间形成鲜明对比——加法耦合把问题从”多项式可解”推回了”指数可解但指数更小”的区间。

6. 一个小例子: 上的完整演算

渐近界的常数在 这种玩具尺度上没有任何意义(短边引理里的 是未指定的大常数),但算法的每个部件都可以完整地手工跑一遍。取

即求解

第一步:阶查找。 阶循环群。逐次计算 的幂:

所以 是生成元,。再算 的幂:

所以 。基本周期矩形是 ,共 个候选指数对。

第二步:逐 运行判定器。 计算 ,并判断 、求离散对数

  • 。查上面的幂表,,故
  • ,故
  • ,故

三个候选全部命中,解为 。逐一验证:

第三步:对照解数公式。 条带取满整个周期 时,公式的主项给出

与实际解数 完全吻合(当然在 时误差项的渐近界无意义,这只是巧合级别的吻合,用来说明主项的含义)。

第四步:量子算法在这个例子上会做什么。 真实的算法不会顺序尝试 :它先由相位估计求出 ;然后注意到 是生成元),于是任意非零的 必在 中,判定器几乎总是回答 ;Grover/BBHT 在 个候选、 个标记项上以约 次查询级别的代价直接选中某个解,最后再跑一次离散对数输出 。整个流程中”计算 、检查子群成员关系、求离散对数、验证等式”都被做成相干子程序,由振幅放大选择成功分支——小例子里看不出加速,但线路结构与 巨大时完全相同。

这个例子还演示了判定器退化的极端情形:当 是生成元()时,子群成员检验形同虚设,问题实质上变成” 个候选中做搜索”,量子成本 直接就是好的。真正困难的情形是 都远小于 ——那也正是特征和引理发挥压缩作用的舞台。

为了看清成员检验真正起筛选作用的样子,把同一个域上的底换成非生成元:取 (阶 )、(阶 ),解 。这里 ,正式的算法会交换两组参数使大阶在 侧;为了演示 侧筛选的力学,我们保持原状。逐 计算

  • ,这个 被成员检验直接排除,根本不用求离散对数;
  • ,且 ,得解 :验证
  • (右端为零不可能有解);
  • ,得解
  • ,得解

个候选中 个被判定器筛掉、 个命中;对照主项:,再次与实际吻合。在这个例子里”先筛后搜”的收益已经可见:Grover 只需要在判定器标记的项上放大振幅。

7. 更强承诺与平均情形(保留条款)

第 5 节的 无条件的最坏情形界。论文还在若干更强的输入承诺下给出更好的界,本节转述这些结果,并明确它们的适用边界。

多解承诺下的参数化界。 短边引理实际上给出的是解数估计而不只是存在性:当 较大时,渐近公式应用于整个基本周期矩形()给出

时,主项压过误差,矩形中有 个解。标记项为 时振幅放大的成本是 而非 :沿 方向搜索的成本为

由对称性,沿 方向搜索(固定 、对 求离散对数)成本为 。取两个方向中较好的一侧( 时沿 搜,代价更小),并用

这就是论文中 一类的参数化界: 越大(基本周期矩形越”密”地布满解),算法越快。注意它与最坏情形界的关系:这个界依赖”矩形中确有许多解”的承诺,当 时期望解数不足 ,承诺失效,算法退回到第 5 节的分析。

平均情形。 对除 个之外的所有目标值 ,论文用关于 均方估计(把特征和对 取平均,用第二矩控制典型偏离)证明:典型情形的条带宽度可以取得比最坏情形更窄,从而把 改进为 。均方估计的直觉是:Weil 型的逐点界必须覆盖最不利的 ,而”平均平方”只允许少数 取到那么大的偏离,故典型界更紧。此处我们只陈述结论与直觉,均方技巧的完整展开超出本词条范围。

保留条款(务必牢记)。 以上是不同输入承诺下的结论,不能把最好参数区间的复杂度(如 )写成无条件的最坏界——无条件最坏界仍是 。其次,无论哪种承诺,所有这些算法关于输入长度 都是指数时间。最后,论文明确说明:这些结果没有解决相关半直积群 HSP 所需的多项式时间指数同余子程序——该 HSP 的量子算法状态不因本结果而改变。指数同余能否在 时间求解,仍然开放。

8. 小结与习题

小结。

  • 指数同余 的困难来自两个指数经加法耦合;固定任一个变量,问题退化为一次离散对数,量子上是容易的。
  • 阶查找把搜索域限制为 的基本周期矩形,其中 ,不妨
  • 乘法特征的正交关系把”子群成员关系”代数化,给出解数渐近公式 ;主项是随机模型的期望解数,误差项衡量乘法子群与加法平移之间的偏离。
  • 取条带宽度 使主项压过误差,得到短边引理: 时前 中必有解。
  • Shor 离散对数包装成相干判定器 ,BBHT 振幅放大在 上做平方根加速;两种情形分别给出 的界,统一为最坏
  • 相对同一骨架下经典判定器(大步小步 、逐项扫描)的 ,这是关于 的三次方指数改进;但 不是关于 的多项式算法,两类算法都是指数时间。

习题。

  1. 证明:固定 时,方程 中至多有一个解。(提示: 在阶为 的区间上是什么样的映射?)
  2. 验证 3.1 节的指标公式:设 取遍在 上平凡的全部 个乘法特征,证明 时等于 ,当 时等于 。(提示:把这些特征与商群 的特征一一对应,再用正交关系。)
  3. 完整写出情形 A()从 的不等式链,并指出每一步用到了哪条前提( 的定义)。(模仿 5.1 节,但要求自己补全所有代数变形。)
  4. 的生成元。说明:除 (即 )外,任意固定的 都能用一次离散对数求出唯一的 ,并解释此时整个算法的成本由什么决定。
  5. 解释为什么特征和引理负责算法的”无漏解”(完备性),而 Grover 搜索本身不负责。具体地:如果跳过短边引理、直接在 上跑 Grover,算法的输出语义会出什么问题?
  6. 在第 7 节的多解承诺 下,自行推导参数化界 。(提示:在 两个方向分别做带 个标记项的振幅放大搜索,写出两个成本 ,取较好的一侧,并用 消元。)

参考文献


参考资料