Toffoli-porten (CCNOT) är en universell styrd reversibel grind med tre in- och utgångar, föreslog av Thomas Toffoli 1980 [1] . Det har bevisats att med enbart denna grind kan vilken reversibel logikkrets som helst byggas , såsom en aritmetisk enhet eller en processor. Det är också en populär kvantport i konstruktionen av reversibla kretsar i kvantdatorer .
Toffoli-ventilen liknar i princip CNOT . Den har tre ingångar och tre utgångar, om de två första ingångarna är lika med en, så inverteras värdet på den sista biten. I annat fall matas alla ingångar till utgången oförändrade. Sanningstabellen och matrisen för CCNOT ser ut så här:
sanningstabell | Transformera matris | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Låt oss bevisa att ventilen är universell. Om vi bryter ner quantum Toffoli-grinden till enkla booleska operationer, så kan vi se att den första och andra qubiten alltid är lika vid ingången och utgången, och den tredje qubiten vid utgången har formen C = C XOR (A OCH B) , där A, B och C är ventilinlopp och -utlopp. Det kan ses att grinden är universell, eftersom den utför någon av operationerna ( NOT , AND , XOR och FANOUT ) beroende på ingångsvärdena.
Det finns en annan välkänd universell vändbar trevägsport - Fredkin-porten , CSWAP [1] .