答案是,如果没有不进行查询的能力,我们将无法做很多事情,因此这种能力是必要的。特别是,如果输入为 x = 1 n ,那么如果我们没有不进行查询的能力,矩阵 U x 将在每个基态上添加一个减号,因此我们将得到 U 1 n = − I 。另一方面,如果 x = 0 n ,我们将得到 U 0 n = I 。由于测量在全局相位下不变,因此算法的输出在两种情况下都将相同;因此没有量子算法能够区分字符串 0 n 和字符串 1 n 。这对量子查询算法来说是一个糟糕的定义!相反,我们的三个等效定义中的任何一个都允许量子算法使用单个查询区分 0 n 和 1 n (看看你是否能理解如何做到的)。