Skip to content

Deutsch–Jozsa 查询算法

Deutsch-Jozsa query algorithm · Deutsch-Jozsa promise problem

对 constant-versus-balanced promise 以一次相干函数查询精确判定,并校准经典确定性查询边界。

条目类型
算法

形式陈述

给定 m1 与黑盒函数 F:{0,1}m{0,1},令 N=2m,promise 保证二者必居其一:

constant: F(z) 对全部 z 相同;balanced: |{z:F(z)=0}|=|{z:F(z)=1}|=N/2.

任务是判定属于哪一类,而不是恢复整张 N bit 真值表。算法从 |0m|1 出发,对全部 qubit 施加 Hadamard,得到

1Nz{0,1}m|z|.

调用一次 bit oracle 后,phase kickback 给索引分支乘 (1)F(z),answer ancilla 仍为 |。再对索引施加 Hm;测得 y 的振幅为

αy=1Nz(1)F(z)+zy.

特别地,

α0m=1Nz(1)F(z).

Constant 时该振幅为 11,所以必测得 0m;balanced 时正负项各半,振幅为 0,绝不测得 0m。因此规则“测得 0m 输出 constant,否则输出 balanced”只用一次查询且概率一正确,是精确量子算法

直觉

算法没有逐项学习 F(z),而是把整张真值表的正负相位总和放进一个特定振幅。末次 Hadamard 相当于 Fourier 变换:零频系数正是函数符号 (1)F(z) 的平均值。Promise 把这个平均值限制为 ±10,于是一次测量能够无误差地区分。

若函数既非 constant 也非 balanced,零频振幅可取二者之间的值,单次测量不再给确定答案。量子优势来自 promise 把需要判断的全局统计量离散成正交可分情况,不是一次查询可输出 N 个函数值。

例子与边界

m=2,按 00,01,10,11 排列输入。Constant 表 0000 产生符号向量 (1,1,1,1);Hadamard 后全部振幅集中在 y=00

再取 balanced 函数 F(z)=z1,真值表为 0011,查询后的索引态是

|00+|01|10|112.

它正是 H2|10,故逆向 Hadamard 后必测得 10,算法输出 balanced。四项相位相加为零也可直接复算 α00=0

经典确定性算法在最坏情形需 N/2+1=2m1+1 次查询。若前 N/2 个回答全相同,未查询部分既可全部相同而补成 constant,也可全部相反而补成 balanced;再问一次才必能打破其中一个补全。依次查询 N/2+1 个位置也足够,因为 balanced 表不可能有更多同值项。

这个指数差距只比较精确量子与确定性经典查询。经典 bounded-error 随机算法从不同位置抽取 k 次:constant 永远同值;balanced 样本全同的概率至多约 21k,所以常数错误只需常数个样本。把确定性下界说成随机下界,会抹掉协议集合的关键差异。

推论与应用

Deutsch–Jozsa 是 oracle 干涉的校准例:ancilla 初始化为 |、一次查询、末次逆 Hadamard和零频振幅四步都能逐项核算。若 oracle 只返回经过测量的经典 bit,符号叠加被破坏,轨迹不成立。

它也提醒复杂度陈述必须同时带输入规模 convention。这里函数输入有 m bits,但 oracle 隐藏的是含 N=2m 项的真值表;经典界写成 2m1+1,也就是对表长 NN/2+1,两种参数不能混报。

参考资料
  • David Deutsch and Richard Jozsa, “Rapid Solution of Problems by Quantum Computation,” Proceedings of the Royal Society A 439(1907), 1992, pp. 553–558.
  • Richard Cleve, Artur Ekert, Chiara Macchiavello, and Michele Mosca, “Quantum Algorithms Revisited,” Proceedings of the Royal Society A 454, 1998, pp. 339–354.
  • Michael A. Nielsen and Isaac L. Chuang, Quantum Computation and Quantum Information, Cambridge University Press, 2010, §1.4.3.
关系图谱4 个相邻概念 · 1 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组