← 返回博客

量子计算科普系列 · 第 22 篇

Deutsch 内部的干涉机制

前情提要:第 7 篇《Deutsch–Jozsa:最迷你的量子加速》里,我们说它用一次询问就分辨了"常函数"和"平衡函数",只给了"迷你加速"的直觉。这一篇,拆开那个加速到底藏在哪——答案是干涉。

封面:多条光路汇聚相消的干涉纹

一、钩子:加速从哪来

经典做法:要判断一个函数是"常函数"还是"平衡函数",最坏得试一大半输入。Deutsch 用一次量子询问就分清——省下的不是"算力",而是"询问次数"。秘密在:量子把所有输入同时送进黑盒,再让答案互相干涉。

二、两类函数

设定很简单:函数 f 吃一个比特,吐一个比特。只有四种可能,归两类:

  • 常函数:f 永远吐 0,或永远吐 1;
  • 平衡函数:f 对一半输入吐 0、一半吐 1。

经典要区分它们,得问至少两次(问一次可能刚好都撞同 output)。量子问一次。

三、所有输入,一次喂入

把输入比特先过 H 门,变成"所有输入"的等权叠加——一次就把全集摆上台面。再让黑盒 U_f 作用上去:它不改输入寄存器,而是把答案"写"到另一个辅助比特的相位里(回顾第 16 篇:相位藏在振幅里,平时看不见,但干涉时会现身)。

四、干涉:错的抵消,对的放大

黑盒之后,再对输入寄存器做一组 H 门,然后测量。精妙在这一步:

  • 若 f 是常函数:所有路径的相位一致,做一次 H 后全部相消,只剩全 0 态——测出来必是 0;
  • 若 f 是平衡函数:路径间相位正负交错,相消后全 0 态被抹平,必留下非 0 信号——测出来不是全 0。

于是只测一个比特,就分出两类。

graph LR IN["所有输入叠加: 一次全喂入黑盒"] --> U["黑盒给每个输入打相位标记"] U --> INT["再经 H 门干涉: 常函数全相消, 平衡函数留信号"] INT --> OUT["测一个比特, 立刻分辨两类"]

五、小结与预告

这一篇,把第 7 篇的"迷你加速"落到了机制:

  • 量子把所有输入叠加一次喂入黑盒,而非逐个试;
  • 黑盒把答案写进相位,再经 H 门干涉:常函数全相消、平衡函数留信号;
  • 最终只测一个比特即分辨两类——省的是询问次数,根子是干涉。

干涉让"错答案消失、对答案放大",是 Shor、Grover 共通的底色。回到第 8 篇《Grover:在干草堆里快速找针》——下一篇,我们看 Grover 怎么把这套干涉变成"振幅放大",把搜索从 N 步压到根号 N。

下次见。