门与电路
托佛利门(Toffoli / CCNOT)
你可以把托佛利门想象成一个带安全联锁的电灯开关。它盯着两根控制线,作用在第三根线(目标线)上。规则很简单:只有当两个控制位都是 1 时,才翻转目标位;只要有一个控制位是 0,就让一切保持原样。因为它一次牵涉三个比特,所以你有时会听到它被叫作受控-受控-非门,也就是 CCNOT。
它特别之处在于可逆:再运行一遍,你就回到了出发点,因为它从不丢弃任何信息。普通的经典逻辑可不是这样。比如一个 AND 门,把两个输入压缩成一个输出,而你无法从答案反推出原来的输入。托佛利门通过保留足够多的线路绕开了这种信息损失,它能够模拟 AND、NAND 以及其他经典运算,同时保持可逆。这正是量子计算机所需要的,因为每一个量子门都必须是可逆的(幺正的)。
所以托佛利门是经典算术与量子电路之间的桥梁。当一个量子算法需要做加法、比较大小,或在抵达由量子干涉真正发挥作用的那一步之前先算出某个普通函数时,托佛利门就负责这些幕后记账工作。它们也频繁出现在容错设计中——在那里,可靠的逻辑必须由更简单的、经过纠错的部件层层搭建起来。
(a, b, c) -> (a, b, c XOR (a AND b))
两个控制位 a 和 b 原样通过;只有当 a 和 b 都为 1 时,目标位 c 才被翻转(XOR 1)。
托佛利门本身并不带来任何加速;它只是可逆的经典逻辑,让量子电路能把普通计算作为一块积木来执行。单凭它自己,并不足以构成一台通用量子计算机(你还需要像 H 这样能制造叠加态的门)。
又称
另见