托菲利门的普遍性


20

关于量子托夫里门

  1. 它是古典通用的吗?如果是,为什么?
  2. 它在量子上是普遍的,为什么?

在非量子逻辑中,您表明可以通过手头的一组模拟另一组通用的布尔运算符。我不知道在量子世界中是否一样,但我会这样认为。
拉斐尔

8
在量子逻辑中,Toffoli门不是通用的,因为您只能使用它进行经典计算。您还需要一些量子门,如果输入处于基本状态,则会将输出置于基本状态的叠加中。
彼得·索尔

我意识到这个问题可能令人困惑,也许应该对其进行编辑以询问量子/古典世界中普遍性之间的区别。
Ran G.

我编辑了答案以涵盖量子论。您现在怎么看?
维克多·斯塔夫萨

1
@RanG。我们应该为以后的问题指明道路,这个问题被标记为作业,但是您似乎并没有解释为什么自己不能解决问题(问题出在哪里)。我认为对于私人Beta版来说不是一个好问题(请参阅meta讨论)。我投票结束这个问题。
Gopi 2012年

Answers:


13

Toffoli对于经典计算是通用的(如@Victor所示)。但是,Toffoli对于量子计算不是通用的(除非我们有像这样的疯狂东西)。P=BQP

为了在量子计算中具有通用性(在通常的定义下),门所生成的组必须在dense中密集。换句话说,给定任意和目标unit U,可以采用某种方法应用有限数量的量子门以获得s U ',使得| | U U ' | | < ϵϵUU||UU||<ϵ

Toffoli本身显然不是这种定义下通用的,因为它总是需要依据各国的基础状态,从而无法实现的东西,需要例如。换句话说,它不能产生叠加。|012(|0+|1)


10

您引用维基百科文章中

Toffoli门是通用的。这意味着对于任何布尔函数f(x1,x2,...,xm),都有一个由Toffoli门组成的电路,它取x1,x2,...,xm和一些额外的位设置为0或1并输出x1,x2,...,xm,f(x1,x2,...,xm)和一些额外的位(称为垃圾)。从本质上讲,这意味着可以使用Toffoli门来构建系统,该系统将以可逆方式执行任何所需的布尔函数计算。

简单来说,任何布尔函数都只能用托菲利门来构造。

布尔函数通常由“或”,“与”和“非”门构成,可以将其组合以形成任何布尔函数。众所周知,只有NOR门或NAND门才有可能。

Toffoli门可以总结为:

Toffoli(a,b,c)={(a,b,¬c)when a=b=1(a,b,c)otherwise.

由于第一和第二输出始终等于第一和第二输入,因此我们可以不考虑它们。因此,我们有:

Toffoli(a,b,c)={¬cwhen a=b=1cotherwise.

这样,可以将“与非”门定义为:

NAND(a,b)=Toffoli(a,b,1)

由于“与非”门是通用的,并且“与非”门可以定义为Toffoli门,因此,Toffoli门是通用的。

通过直接构造AND和NOT门,还有另一种方法证明Toffoli是通用的:

NOT(x)=Toffoli(1,1,x)

AND(a,b)=Toffoli(a,b,0)

然后,我们可以使用De Morgan定律构造“或”门:

OR(a,b)=NOT(AND(NOT(a),NOT(b))=Toffoli(1,1,Toffoli(Toffoli(1,1,a),Toffoli(1,1,b),0))


编辑,因为问题已被编辑且其范围已更改:

首先,我不理解量子计算,因此,如果有问题,请添加注释。我做了一些研究,试图使这个答案完整,并以此结束:

Toffoli门是可逆的(但上面使用的Toffoli'不是)。这意味着使用它进行的任何计算都可以撤消。这是:

(a,b,c)=Toffoli(Toffoli(a,b,c))

这意味着对于任何三元组(a,b,c),如果应用了Toffoli两次,则原始输入将作为输出。

可逆性很重要,因为量子门必须是可逆的,因此,(经典的)Toffoli门可以用作量子门。

所证明这里,在德语栅极,所述Toffoli门是一个类似的方式定义的,但不是经典的栅极,它是一个quantical之一:

Deutsch(a,b,c)=|a,b,c{icos(θ)|a,b,c+sin(θ)|a,b,1cfor a=b=1|a,b,cotherwise.

这样,Toffoli门是Deutsch门的一种特殊情况,其中:

Toffoli(a,b,c)=Deutsch(π2)(a,b,c)

π2

如果我们将托夫里门与哈达玛门相结合,则可以获得通用量子Tgate集。这正是德国之门所做的。

有趣的参考可以在这里这里这里找到。显示Deutsch转换基础的可能有价值的参考应该在此处,但是该链接受密码保护。


Toffolli对于量子计算不是通用的,CNOT本身也不是。这很容易看到,因为它们无法创建叠加。
Artem Kaznatcheev 2012年

{}

您在EDIT 2中的引用是错误的。该文章清楚地指出,托菲利+
哈达玛尔

@ArtemKaznatcheev:文章说“ Toffoli和Hadamard”。然后我认为这意味着“托福利就是一个例子,哈达玛特是另一个例子”。无论如何现在很清楚。
维克多·斯塔夫萨

我编辑了它,现在应该可以了。
维克多·斯塔夫萨
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.