Poarta Toffoli (CCNOT) este o poartă reversibilă controlată universal cu trei intrări și ieșiri, propusă de Thomas Toffoli în 1980 [1] . S-a dovedit că folosind numai această poartă, orice circuit logic reversibil poate fi construit , cum ar fi o unitate aritmetică sau un procesor. Este, de asemenea, o poartă cuantică populară în construcția de circuite reversibile în calculatoarele cuantice .
Supapa Toffoli este similară în principiu cu CNOT . Are trei intrări și trei ieșiri, dacă primele două intrări sunt egale cu una, atunci valoarea ultimului bit este inversată. În caz contrar, toate intrările sunt alimentate la ieșire neschimbate. Tabelul de adevăr și matricea pentru CCNOT arată astfel:
tabelul de adevăr | Matricea de transformare | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Să demonstrăm că supapa este universală. Dacă descompunem poarta cuantică Toffoli în operații booleene simple, atunci putem vedea că primul și al doilea qubit sunt întotdeauna egali la intrare și la ieșire, iar al treilea qubit la ieșire are forma C = C XOR (A ȘI B) , unde A, B și C sunt intrările și ieșirile supapelor. Se poate observa că poarta este universală, deoarece efectuează oricare dintre operațiile ( NOT , AND , XOR și FANOUT ) în funcție de valorile de intrare.
Există o altă poartă universală reversibilă cu trei căi bine-cunoscută - poarta Fredkin , CSWAP [1] .