La puerta Toffoli (CCNOT) es una puerta reversible universal controlada con tres entradas y salidas, propuesta por Thomas Toffoli en 1980 [1] . Se ha comprobado que usando solo esta puerta se puede construir cualquier circuito lógico reversible , como una unidad aritmética o un procesador. También es una puerta cuántica popular en la construcción de circuitos reversibles en computadoras cuánticas .
La válvula Toffoli es similar en principio a la CNOT . Tiene tres entradas y tres salidas, si las dos primeras entradas son iguales a uno, entonces se invierte el valor del último bit. De lo contrario, todas las entradas se alimentan a la salida sin cambios. La tabla de verdad y la matriz para CCNOT se ven así:
mesa de la verdad | Transformar matriz | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Probemos que la válvula es universal. Si descomponemos la puerta cuántica de Toffoli en operaciones booleanas simples, podemos ver que el primer y el segundo qubit son siempre iguales en la entrada y la salida, y el tercer qubit en la salida tiene la forma C = C XOR (A Y B) , donde A, B y C son entradas y salidas de válvulas. Se puede observar que la compuerta es universal, ya que realiza cualquiera de las operaciones ( NOT , AND , XOR y FANOUT ) dependiendo de los valores de entrada.
Hay otra puerta de tres vías reversible universal muy conocida: la puerta de Fredkin , CSWAP [1] .